14#include "arcane/materials/MeshMaterialIndirectModifier.h"
16#include "arcane/utils/ArrayView.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/ITraceMng.h"
20#include "arcane/core/ItemGroup.h"
21#include "arcane/core/IItemFamily.h"
22#include "arcane/core/materials/IMeshMaterialMng.h"
23#include "arcane/core/materials/IMeshEnvironment.h"
24#include "arcane/core/materials/IMeshMaterial.h"
25#include "arcane/core/materials/internal/IMeshMaterialMngInternal.h"
27#include "arcane/materials/MeshMaterialBackup.h"
28#include "arcane/materials/internal/MeshMaterialVariableIndexer.h"
39MeshMaterialIndirectModifier::
40MeshMaterialIndirectModifier(IMeshMaterialMng* mm)
42, m_backup(new MeshMaterialBackup(mm,true))
50MeshMaterialIndirectModifier::
51~MeshMaterialIndirectModifier() noexcept(false)
63void MeshMaterialIndirectModifier::
64_endUpdate(
bool do_sort)
70 for( MeshMaterialVariableIndexer* v : m_material_mng->_internalApi()->variablesIndexer() ){
72 UniqueArray<Int32> items_lid(cells.view().localIds());
74 cells.setItems(items_lid,
true);
78 m_material_mng->forceRecompute();
80 m_backup->restoreValues();
88void MeshMaterialIndirectModifier::
97void MeshMaterialIndirectModifier::
106void MeshMaterialIndirectModifier::
112 m_backup->saveValues();
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Active toujours les traces dans les parties Arcane concernant les matériaux.