Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MaterialModifierOperation.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* MaterialModifierOperation.h (C) 2000-2024 */
9/* */
10/* Opération d'ajout/suppression de mailles d'un matériau. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_INTERNAL_MATERIALMODIFIEROPERATION_H
13#define ARCANE_MATERIALS_INTERNAL_MATERIALMODIFIEROPERATION_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Array.h"
18#include "arcane/utils/NumArray.h"
19
21#include "arcane/materials/internal/MeshMaterialModifierImpl.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane::Materials
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
35{
36 public:
37
39
40 private:
41
43
44 public:
45
47 {
48 return new MaterialModifierOperation(mat, ids, true);
49 }
51 {
52 return new MaterialModifierOperation(mat, ids, false);
53 }
54
55 public:
56
58 bool isAdd() const { return m_is_add; }
59
61 IMeshMaterial* material() const { return m_mat; }
62
64 SmallSpan<const Int32> ids() const { return m_ids.view(); }
65
66 public:
67
78 void filterIds();
79
80 private:
81
84
85 private:
86
87 IMeshMaterial* m_mat = nullptr;
88 bool m_is_add = false;
90};
91
92/*---------------------------------------------------------------------------*/
93/*---------------------------------------------------------------------------*/
94
95} // namespace Arcane::Materials
96
97/*---------------------------------------------------------------------------*/
98/*---------------------------------------------------------------------------*/
99
100#endif
101
Tableau d'items de types quelconques.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface d'un matériau d'un maillage.
Opération d'ajout ou suppression de mailles d'un matériau.
IMeshMaterial * material() const
Matériau dont on souhaite ajouter/supprimer des mailles.
bool isAdd() const
Indique si l'opération consiste à ajouter ou supprimer des mailles du matériau.
static Int32 _checkMaterialPresence(MaterialModifierOperation *operation)
Vérifie si les mailles ids sont déjà dans le matériau mat.
static void _filterValidIds(MaterialModifierOperation *operation, Int32Array &valid_ids)
Filtre le tableau des mailles ids pour qu'il soit valide.
SmallSpan< const Int32 > ids() const
Liste des localId() des mailles à ajouter/supprimer.
ArrayView< T > view() const
Vue mutable sur ce tableau.
Active toujours les traces dans les parties Arcane concernant les matériaux.