14#include "arcane/materials/internal/MaterialModifierOperation.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/MemoryUtils.h"
19#include "arcane/utils/IMemoryRessourceMng.h"
21#include "arcane/core/ItemPrinter.h"
22#include "arcane/core/ItemGroup.h"
23#include "arcane/core/IItemFamily.h"
24#include "arcane/core/materials/IMeshMaterial.h"
25#include "arcane/core/materials/internal/IMeshComponentInternal.h"
27#include "arcane/materials/internal/MeshMaterialVariableIndexer.h"
38MaterialModifierOperation::
39MaterialModifierOperation()
40: m_ids(MemoryUtils::getDefaultDataAllocator())
47MaterialModifierOperation::
48MaterialModifierOperation(IMeshMaterial* mat, SmallSpan<const Int32> ids,
bool is_add)
49: MaterialModifierOperation()
53 m_ids.resize(ids.size());
54 MemoryUtils::copy<Int32>(m_ids, ids);
70Int32 MaterialModifierOperation::
86 for (Int32
lid : ids) {
89 <<
" is present several times in add/remove list for material mat=" << name;
95 if (operation->
isAdd()) {
99 <<
" is already in material mat=" << name;
109 for (Int32
lid : ids) {
112 <<
" is not in material mat=" << name;
133void MaterialModifierOperation::
137 const bool do_add = operation->
isAdd();
149 for (Int32
lid : ids) {
185void MaterialModifierOperation::
190 Integer
nb_error = _checkMaterialPresence(
this);
198 ARCANE_FATAL(
"Invalid values for adding items in material name={0} nb_error={1}",
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Tableau d'items de types quelconques.
Interface d'une famille d'entités.
Vue sur une liste pour obtenir des informations sur les entités.
Classe utilitaire pour imprimer les infos sur une entité.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
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.
SmallSpan< const Int32 > ids() const
Liste des localId() des mailles à ajouter/supprimer.
Indexer pour les variables materiaux.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
ITraceMng * traceMng() const
Gestionnaire de trace.
TraceMessage info() const
Flot pour un message d'information.
Active toujours les traces dans les parties Arcane concernant les matériaux.