12#ifndef ARCANE_CORE_MATERIALS_COMPONENTITEMVECTORVIEW_H
13#define ARCANE_CORE_MATERIALS_COMPONENTITEMVECTORVIEW_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/ArrayView.h"
20#include "arcane/core/ItemGroup.h"
22#include "arcane/core/materials/MatVarIndex.h"
23#include "arcane/core/materials/IMeshComponent.h"
24#include "arcane/core/materials/ComponentItemInternal.h"
25#include "arcane/core/materials/MatItem.h"
35namespace Arcane::Accelerator::impl
50class ARCANE_CORE_EXPORT ComponentItemVectorView
52 friend class ComponentItemVector;
53 friend class ConstituentItemVectorImpl;
54 friend class MatItemVectorView;
55 friend class EnvItemVectorView;
56 friend class MatCellEnumerator;
57 friend class EnvCellEnumerator;
58 friend class ComponentCellEnumerator;
62 template <
typename ViewType,
typename LambdaType>
63 friend class LambdaMatItemRangeFunctorT;
64 template <
typename DataType>
friend class
65 MaterialVariableArrayTraits;
69 ComponentItemVectorView() =
default;
78 : m_matvar_indexes_view(mvi)
79 , m_constituent_list_view(constituent_local_ids)
80 , m_items_local_id_view(local_ids)
93 : m_matvar_indexes_view(rhs_view.m_matvar_indexes_view)
94 , m_constituent_list_view(rhs_view.m_constituent_list_view)
95 , m_items_local_id_view(rhs_view.m_items_local_id_view)
111 return m_constituent_list_view._constituenItemBase(index);
134 bool test1 = m_constituent_list_view._isSamePointerData(rhs.m_constituent_list_view);
135 return test1 && (m_matvar_indexes_view.data() == rhs.m_matvar_indexes_view.data());
156class ARCANE_CORE_EXPORT MatItemVectorView
157:
public ComponentItemVectorView
159 friend class MatCellVector;
160 friend class MeshMaterial;
161 template <
typename ViewType,
typename LambdaType>
162 friend class LambdaMatItemRangeFunctorT;
166 MatItemVectorView() =
default;
174 : ComponentItemVectorView(
component, mv_indexes, constituent_local_ids, local_ids)
202 return _subView(begin, size);
213class ARCANE_CORE_EXPORT EnvItemVectorView
214:
public ComponentItemVectorView
216 friend class EnvCellVector;
217 friend class MeshEnvironment;
218 template <
typename ViewType,
typename LambdaType>
219 friend class LambdaMatItemRangeFunctorT;
223 EnvItemVectorView() =
default;
231 : ComponentItemVectorView(
component, mv_indexes, constituent_local_ids, local_ids)
Module de test pour la gestion des matériaux et des milieux.
Module de test pour la gestion des matériaux et des milieux.
Vue constante d'un tableau de type T.
Vue sur un vecteur sur les entités d'un composant.
ConstArrayView< Int32 > _internalLocalIds() const
Tableau des localId() des entités associées.
IMeshComponent * component() const
Composant associé
ComponentItemVectorView(IMeshComponent *component)
Construit une vue vide pour le composant component.
bool _isSamePointerData(const ComponentItemVectorView &rhs) const
Pour les tests vérifie que rhs et l'instance pointent sur les même données.
ComponentItemVectorView(IMeshComponent *component, ComponentItemVectorView rhs_view)
Construit une vue à partir d'une autre vue.
ComponentItemVectorView(IMeshComponent *component, ConstArrayView< MatVarIndex > mvi, ConstituentItemLocalIdListView constituent_local_ids, ConstArrayView< Int32 > local_ids)
Construit un vecteur contenant les entités de group pour le composant component.
__host__ __device__ ComponentCell componentCell(Int32 index) const
Retourne la index-ème ComponentCell de la vue.
Integer nbItem() const
Nombre d'entités dans la vue.
Vue sur une instance de ConstituentItemLocalIdList.
Maille arcane d'un milieu.
EnvItemVectorView _subView(Integer begin, Integer size)
Créé une sous-vue de cette vue.
__host__ __device__ EnvCell envCell(Int32 index) const
Récupère la index-ème EnvCell de la vue.
IMeshEnvironment * environment() const
Milieu associé
Interface d'un composant (matériau ou milieu) d'un maillage.
Interface d'un milieu d'un maillage.
Interface d'un matériau d'un maillage.
Représente un matériau d'une maille multi-matériau.
Vue sur un vecteur sur les entités d'un matériau.
MatItemVectorView _subView(Integer begin, Integer size)
Créé une sous-vue de cette vue.
__host__ __device__ MatCell matCell(Int32 index) const
Récupère la index-ème MatCell de la vue.
IMeshMaterial * material() const
Matériau associé
Active toujours les traces dans les parties Arcane concernant les matériaux.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.