12#ifndef ARCANE_MATERIALS_INTERNAL_MESHENVIRONMENT_H
13#define ARCANE_MATERIALS_INTERNAL_MESHENVIRONMENT_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/ItemGroup.h"
20#include "arcane/core/MeshVariableScalarRef.h"
22#include "arcane/core/materials/IMeshEnvironment.h"
23#include "arcane/core/materials/ComponentItemInternal.h"
24#include "arcane/core/materials/internal/IMeshComponentInternal.h"
26#include "arcane/materials/internal/ComponentItemInternalData.h"
27#include "arcane/materials/internal/MeshComponentData.h"
38class IMeshMaterialMng;
40class ComponentItemInternalData;
63 return m_environment->variableIndexer();
67 return m_environment->constituentItemListView();
94 return m_materials.size();
98 return m_data.variableIndexer();
102 return m_data.constituentItemListView();
104 Int32
id()
const override
106 return m_data.componentId();
148 m_data._setConstituentItem(index,
id);
150 Int16 componentId()
const {
return m_data.componentId(); }
157 void addMaterial(MeshMaterial* mm);
158 void setVariableIndexer(MeshMaterialVariableIndexer* idx);
168 void resizeItemsInternal(Integer
nb_item);
173 ConstArrayView<MeshMaterial*> trueMaterials()
175 return m_true_materials;
177 void setMatInternalDataRange(ComponentItemInternalRange v) { m_mat_internal_data_range = v; }
File d'exécution pour un accélérateur.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Maille arcane avec info matériaux et milieux.
Représente un composant d'une maille multi-matériau.
Vue sur la partie impure d'un composant.
Gestion des listes de 'ComponentItemInternal'.
Interval des identifiants des constituants dans la liste des ComponentItemInternal.
Vue sur un vecteur sur les entités d'un composant.
Vue sur une partie pure ou partielles des entités d'un composant.
Vue sur la partie pure d'un composant.
Index d'une entité constituant dans la liste des entités constituants.
Vue sur une instance de ConstituentItemLocalIdList.
Maille arcane d'un milieu.
Vue sur la partie impure des entités d'un milieu.
Vue sur un vecteur sur les entités d'un milieu.
Vue sur une partie pure ou partielles des entités d'un milieu.
Vue sur la partie pure des entités d'un milieu.
API interne Arcane de 'IMeshComponent'.
Interface d'un milieu d'un maillage.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
Interface d'un matériau d'un maillage.
Interface d'un mmilieu utilisateur.
Données d'un constituant (matériau ou milieu) d'un maillage.
MeshMaterialVariableIndexer * variableIndexer() const override
Indexeur pour accéder aux variables partielles.
Ref< IConstituentItemVectorImpl > createItemVectorImpl() const override
Créé une instance de l'implémentation de 'ConstituentItemVectorImpl'.
ConstituentItemLocalIdListView constituentItemListView() const override
Vue sur les mailles du constituant.
Int32 variableIndexerIndex() const override
Index pour accéder aux variables partielles.
bool isEnvironment() const override
Vrai si le composant est un milieu.
void _computeMaterialIndexesMonoMat(ComponentItemInternalData *item_internal_data, RunQueue &queue)
Calcul les infos sur les matériaux en mono-matériaux.
IMeshMaterialMng * m_material_mng
Gestionnaire de matériaux.
void checkValid() override
Vérifie que le composant est valide.
void build()
Fonctions publiques mais réservées au IMeshMaterialMng.
ComponentItemVectorView view() const override
Vue associée à ce composant.
IMeshMaterial * asMaterial() override
Retourne le composant sous la forme d'un IMeshMaterial.
ComponentPartItemVectorView partItems(eMatPart part) const override
Vue sur la partie pure ou impure des entités du composant.
IMeshEnvironment * asEnvironment() override
Retourne le composant sous la forme d'un IMeshMaterial.
bool hasSpace(MatVarSpace space) const override
Indique si le composant est défini pour l'espace space.
ComponentImpurePartItemVectorView impureItems() const override
Vue sur la liste des entités impures (partielles) partielles du composant.
EnvImpurePartItemVectorView impureEnvItems() const override
Vue sur la liste des entités impures (partielles) partielles du milieu.
EnvPartItemVectorView partEnvItems(eMatPart part) const override
Vue sur la partie pure ou impure des entités du milieu.
void computeItemListForMaterials(const ConstituentConnectivityList &connectivity_list)
Calcul pour les mailles des matériaux du milieu leur emplacement dans le tableau d'indexation des var...
ConstArrayView< IMeshMaterial * > materials() override
Liste des matériaux de ce milieu.
void computeMaterialIndexes(ComponentItemInternalData *item_internal_data, RunQueue &queue)
Calcul les infos sur les matériaux.
Int32 id() const override
Identifiant du composant.
IUserMeshEnvironment * userEnvironment() const override
Identifiant du milieu. Il s'agit aussi de l'indice (en commencant par 0) de ce milieu dans la liste d...
ComponentCell findComponentCell(AllEnvCell c) const override
Maille de ce composant pour la maille c.
Integer totalNbCellMat() const
Nombre total de mailles pour tous les matériaux.
EnvCell findEnvCell(AllEnvCell c) const override
Maille de ce milieu pour la maille c.
CellGroup cells() const override
Groupe des mailles de ce matériau.
void computeNbMatPerCell()
Recalcule le nombre de mailles par matériau et de mailles totales.
ComponentPurePartItemVectorView pureItems() const override
Vue sur la liste des entités pures (associées à la maille globale) du composant.
IMeshMaterialMng * materialMng() override
Gestionnaire associé.
Integer nbMaterial() const override
Nombre de matériaux dans le milieu.
EnvPurePartItemVectorView pureEnvItems() const override
Vue sur la liste des entités pures (associées à la maille globale) du milieu.
void setUserEnvironment(IUserMeshEnvironment *umm) override
Positionne le milieu utilisateur associé
IMeshComponentInternal * _internalApi() override
API interne.
EnvItemVectorView envView() const override
Vue associée à ce milieu.
Integer m_total_nb_cell_mat
Nombre total de mailles pour tous les matériaux.
ITraceMng * traceMng() override
Gestionnaire de trace associé.
bool isMonoMaterial() const
Indique si le milieu est mono-matériau.
bool isMaterial() const override
Vrai si le composant est un matériau.
String name() const override
Nom du composant.
Indexer pour les variables materiaux.
Vue constante d'un tableau de type T.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Classe d'accès aux traces.
ITraceMng * traceMng() const
Gestionnaire de trace.
Active toujours les traces dans les parties Arcane concernant les matériaux.
MatVarSpace
Espace de définition d'une variable matériau.
@ Environment
Variable ayant des valeurs uniquement sur les milieux.
@ MaterialAndEnvironment
Variable ayant des valeurs sur les milieux et matériaux.
eMatPart
Partie d'un composant.