12#ifndef ARCANE_MATERIALS_INTERNAL_COMPONENTITEMLISTBUILDER_H
13#define ARCANE_MATERIALS_INTERNAL_COMPONENTITEMLISTBUILDER_H
17#include "arcane/utils/Array.h"
18#include "arcane/utils/NumArray.h"
20#include "arcane/core/materials/MatVarIndex.h"
40 ComponentItemListBuilder();
44 void preAllocate(
Int32 nb_item)
46 m_partial_local_ids.resize(nb_item);
47 m_pure_indexes.resize(nb_item);
48 m_partial_indexes.resize(nb_item);
53 m_partial_local_ids.resize(nb_partial);
54 m_pure_indexes.resize(nb_pure);
55 m_partial_indexes.resize(nb_partial);
91 Integer begin_index_in_partial);
98 m_pure_matvar_indexes.add(
MatVarIndex(0, local_id));
106 m_partial_matvar_indexes.add(
MatVarIndex(m_component_index, m_index_in_partial));
107 m_partial_local_ids.add(local_id);
108 ++m_index_in_partial;
115 ConstArrayView<Int32> partialLocalIds()
const {
return m_partial_local_ids; }
116 MeshMaterialVariableIndexer* indexer()
const {
return m_indexer; }
120 Integer m_component_index = -1;
121 Integer m_index_in_partial = -1;
123 UniqueArray<MatVarIndex> m_pure_matvar_indexes;
125 UniqueArray<MatVarIndex> m_partial_matvar_indexes;
126 UniqueArray<Int32> m_partial_local_ids;
128 MeshMaterialVariableIndexer* m_indexer =
nullptr;
Vue constante d'un tableau de type T.
void addPureItem(Int32 local_id)
Ajoute l'entité de localId() local_id à la liste des entités pure.
void addPartialItem(Int32 local_id)
Ajoute l'entité de localId() local_id à la liste des entités partielles.
Représente un index sur les variables matériaux et milieux.
Indexer pour les variables materiaux.
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
Vue d'un tableau d'éléments de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.
class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
Indexeur SIMD sur un composant.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.