12#ifndef ARCANE_MATERIALS_INTERNAL_MESHMATERIALVARIABLEINDEXER_H
13#define ARCANE_MATERIALS_INTERNAL_MESHMATERIALVARIABLEINDEXER_H
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/TraceAccessor.h"
22#include "arcane/core/ItemGroup.h"
23#include "arcane/core/materials/MatVarIndex.h"
54 friend class AllEnvData;
55 friend class MaterialModifierOperation;
56 friend class MeshEnvironment;
57 friend class MeshMaterial;
58 friend class MeshComponentData;
59 friend class MeshMaterialMng;
60 friend class IncrementalComponentModifier;
61 template <
typename DataType>
friend class ItemMaterialVariableScalar;
79 Integer index()
const {
return m_index; }
81 const CellGroup& cells()
const {
return m_cells; }
85 void dumpStats()
const;
100 void setCells(
const CellGroup& cells) { m_cells = cells; }
101 void setIsEnvironment(
bool is_environment) { m_is_environment = is_environment; }
102 void setIndex(
Integer index) { m_index = index; }
103 Integer nbItem()
const {
return m_local_ids.
size(); }
104 ConstArrayView<Int32> localIds()
const {
return m_local_ids; }
107 void endUpdateRemove(ConstituentModifierWorkInfo& args,
Integer nb_remove, RunQueue& queue);
151 Int32 m_nb_useless_remove_transform = 0;
158 static void _changeLocalIdsV2(MeshMaterialVariableIndexer* var_indexer,
Declarations of types on entities.
Execution queue for an accelerator.
Base class for 1D data vectors.
Constant view of an array of type T.
Integer size() const
Number of elements in the group.
Helper class for building a list of ComponentItems for a MeshMaterialVariableIndexer.
Helper class for building a list of ComponentItems for a MeshMaterialVariableIndexer.
Working structure used during the modification of constituents (via MeshMaterialModifier).
Interface of a mesh environment.
Info about a material of a mesh.
bool m_is_print_useless_transform
Indicates whether a message is displayed during a useless transformation.
CellGroup m_cells
List of cells for this indexer.
Integer m_index
Index of this instance in the list of indexers.
bool m_is_environment
True if the indexer is associated with an environment.
bool isEnvironment() const
True if this indexer is for an environment.
Int32 m_nb_transform_called
Number of calls to transformation methods.
Integer maxIndexInMultipleArray() const
UniqueArray< MatVarIndex > m_matvar_indexes
List of indices for material variables.
UniqueArray< Int32 > m_local_ids
List of localId() of entities corresponding to m_matvar_indexes. NOTE: eventually,...
Int32 m_nb_useless_add_transform
Number of useless calls to transformation methods.
const String & name() const
Name of the indexer.
Integer m_max_index_in_multiple_array
Max index plus 1 in the multiple values array.
String m_name
Name of the material or environment.
Unicode character string.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
1D data vector with value semantics (STL style).
ItemGroupT< Cell > CellGroup
Group of cells.
Always enables tracing in Arcane parts concerning materials.
class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
SIMD indexer on a component.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.