12#ifndef ARCANE_MATERIALS_INTERNAL_MESHMATERIAL_H
13#define ARCANE_MATERIALS_INTERNAL_MESHMATERIAL_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/ItemGroup.h"
20#include "arcane/core/materials/IMeshMaterial.h"
21#include "arcane/core/materials/MatItem.h"
22#include "arcane/core/materials/internal/IMeshComponentInternal.h"
24#include "arcane/materials/internal/MeshComponentData.h"
25#include "arcane/materials/internal/MeshMaterialVariableIndexer.h"
36class IMeshMaterialMng;
38class MatItemVectorView;
62 return m_material->variableIndexer();
66 return m_material->constituentItemListView();
92 return m_data.variableIndexer();
97 return m_data.constituentItemListView();
100 Int32
id()
const override {
return m_data.componentId(); }
135 m_data._setConstituentItem(index,
id);
137 Int16 componentId()
const {
return m_data.componentId(); }
144 void resizeItemsInternal(Integer nb_item);
145 MeshComponentData* componentData() {
return &m_data; }
146 MeshEnvironment* trueEnvironment() {
return m_environment; }
147 const MeshEnvironment* trueEnvironment()
const {
return m_environment; }
152 IMeshMaterialMng* m_material_mng;
153 MeshMaterialInfo* m_infos;
154 MeshEnvironment* m_environment;
155 IUserMeshMaterial* m_user_material;
156 MeshComponentData m_data;
157 MeshMaterial* m_non_const_this;
158 InternalApi m_internal_api;
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.
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.
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 matériau utilisateur.
Représente un matériau d'une maille multi-matériau.
Vue sur la partie impure des entités d'un matériau.
Vue sur un vecteur sur les entités d'un matériau.
Vue sur une partie pure ou partielles des entités d'un matériau.
Vue sur la partie pure des entités d'un matériau.
Infos d'un matériau d'un maillage.
Indexer pour les variables materiaux.
ConstituentItemLocalIdListView constituentItemListView() const override
Vue sur les mailles du constituant.
Ref< IConstituentItemVectorImpl > createItemVectorImpl() const override
Créé une instance de l'implémentation de 'ConstituentItemVectorImpl'.
MeshMaterialVariableIndexer * variableIndexer() const override
Indexeur pour accéder aux variables partielles.
Int32 variableIndexerIndex() const override
Index pour accéder aux variables partielles.
void build()
Fonctions publiques mais réservées au IMeshMaterialMng.
Int32 id() const override
Identifiant du composant.
IMeshEnvironment * environment() const override
Milieu auquel appartient ce matériau.
bool hasSpace(MatVarSpace space) const override
Indique si le composant est défini pour l'espace space.
MatItemVectorView matView() const override
Vue associée à ce matériau.
ComponentImpurePartItemVectorView impureItems() const override
Vue sur la liste des entités impures (partielles) partielles du composant.
MatCell findMatCell(AllEnvCell c) const override
Maille de ce matériau pour la maille c.
IMeshComponentInternal * _internalApi() override
API interne.
bool isMaterial() const override
Vrai si le composant est un matériau.
ComponentPurePartItemVectorView pureItems() const override
Vue sur la liste des entités pures (associées à la maille globale) du composant.
ComponentItemVectorView view() const override
Vue associée à ce composant.
ComponentCell findComponentCell(AllEnvCell c) const override
Maille de ce composant pour la maille c.
IMeshEnvironment * asEnvironment() override
Retourne le composant sous la forme d'un IMeshMaterial.
IMeshMaterialMng * materialMng() override
Gestionnaire associé.
ComponentPartItemVectorView partItems(eMatPart part) const override
Vue sur la partie pure ou impure des entités du composant.
MatPurePartItemVectorView pureMatItems() const override
Vue sur la liste des entités pures (associées à la maille globale) du matériau.
String name() const override
Nom du composant.
void checkValid() override
Vérifie que le composant est valide.
MatPartItemVectorView partMatItems(eMatPart part) const override
Vue sur la partie pure ou impure des entités du matériau.
void setUserMaterial(IUserMeshMaterial *umm) override
Positionne le matériau utilisateur associé
MeshMaterialInfo * infos() const override
Infos du matériau.
MatImpurePartItemVectorView impureMatItems() const override
Vue sur la liste des entités impures (partielles) partielles du matériau.
IUserMeshMaterial * userMaterial() const override
Matériau utilisateur associé
IMeshMaterial * asMaterial() override
Retourne le composant sous la forme d'un IMeshMaterial.
ITraceMng * traceMng() override
Gestionnaire de trace associé.
CellGroup cells() const override
Groupe des mailles de ce matériau.
bool isEnvironment() const override
Vrai si le composant est un milieu.
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.
@ MaterialAndEnvironment
Variable ayant des valeurs sur les milieux et matériaux.
eMatPart
Partie d'un composant.