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"
53 friend class AllEnvData;
54 friend class MaterialModifierOperation;
55 friend class MeshEnvironment;
56 friend class MeshMaterial;
57 friend class MeshComponentData;
58 friend class MeshMaterialMng;
59 friend class IncrementalComponentModifier;
60 template <
typename DataType>
friend class ItemMaterialVariableScalar;
78 Integer index()
const {
return m_index; }
80 const CellGroup& cells()
const {
return m_cells; }
84 void dumpStats()
const;
99 void setCells(
const CellGroup& cells) { m_cells = cells; }
100 void setIsEnvironment(
bool is_environment) { m_is_environment = is_environment; }
101 void setIndex(Integer index) { m_index = index; }
102 Integer nbItem()
const {
return m_local_ids.size(); }
103 ConstArrayView<Int32> localIds()
const {
return m_local_ids; }
105 void changeLocalIds(Int32ConstArrayView old_to_new_ids);
106 void endUpdateRemove(ConstituentModifierWorkInfo& args, Integer nb_remove, RunQueue& queue);
151 Int32 m_nb_useless_remove_transform = 0;
158 static void _changeLocalIdsV2(MeshMaterialVariableIndexer* var_indexer,
Déclarations de types sur les entités.
File d'exécution pour un accélérateur.
Tableau d'items de types quelconques.
Vue constante d'un tableau de type T.
Interface du gestionnaire de traces.
Classe d'aide à la construction d'une liste de ComponentItem pour un MeshMaterialVariableIndexer.
Classe d'aide à la construction d'une liste de ComponentItem pour un MeshMaterialVariableIndexer.
Structure de travail utilisée lors de la modification des constituants (via MeshMaterialModifier).
Interface d'un milieu d'un maillage.
Infos d'un matériau d'un maillage.
bool m_is_print_useless_transform
Indique si on affiche un message lors d'une transformation inutile.
CellGroup m_cells
Liste des mailles de cet indexer.
Integer m_index
Index de cette instance dans la liste des indexeurs.
bool m_is_environment
Vrai si l'indexeur est associé à un milieu.
bool isEnvironment() const
Vrai si cet indexeur est celui d'un milieu.
Int32 m_nb_transform_called
Nombre d'appels aux méthodes de transformation.
Integer maxIndexInMultipleArray() const
UniqueArray< MatVarIndex > m_matvar_indexes
Liste des indexs pour les variables matériaux.
UniqueArray< Int32 > m_local_ids
Liste des localId() des entités correspondantes à m_matvar_indexes. NOTE: à terme,...
Int32 m_nb_useless_add_transform
Nombre d'appels inutiles aux méthodes de transformation.
const String & name() const
Nom de l'indexeur.
Integer m_max_index_in_multiple_array
Indice max plus 1 dans le tableau des valeurs multiples.
String m_name
Nom du matériau ou milieu.
Chaîne de caractères unicode.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
ItemGroupT< Cell > CellGroup
Groupe de mailles.
Active toujours les traces dans les parties Arcane concernant les matériaux.
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
MATERIALS_BEGIN_NAMESPACE class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
Indexeur SIMD sur un composant.
std::int32_t Int32
Type entier signé sur 32 bits.