12#ifndef ARCANE_CORE_MATERIALS_MATITEM_H
13#define ARCANE_CORE_MATERIALS_MATITEM_H
17#include "arcane/core/Item.h"
19#include "arcane/core/materials/ComponentItem.h"
20#include "arcane/core/materials/ComponentItemInternal.h"
21#include "arcane/core/materials/IMeshMaterial.h"
22#include "arcane/core/materials/IMeshEnvironment.h"
52 ARCCORE_HOST_DEVICE
MatCell(
const matimpl::ConstituentItemBase& item_base)
56 _checkLevel(item_base,LEVEL_MATERIAL);
61 :
MatCell(item.constituentItemBase())
109 explicit ARCCORE_HOST_DEVICE
EnvCell(
const matimpl::ConstituentItemBase& item_base)
113 _checkLevel(item_base,LEVEL_ENVIRONMENT);
117 :
EnvCell(item.constituentItemBase())
125 ARCCORE_HOST_DEVICE Int32 nbMaterial()
const {
return nbSubItem(); }
131 ARCCORE_HOST_DEVICE
inline MatCell cell(Integer i)
const {
return _subItemBase(i); }
169 explicit ARCCORE_HOST_DEVICE
AllEnvCell(
const matimpl::ConstituentItemBase& item_base)
172#if defined(ARCANE_CHECK)
173 _checkLevel(item_base,LEVEL_ALLENVIRONMENT);
205 return EnvCell(_superItemBase());
Maille arcane avec info matériaux et milieux.
__host__ __device__ CellEnvCellEnumerator subEnvItems() const
Enumérateur sur les mailles milieux de cette maille.
__host__ __device__ Int32 nbEnvironment() const
Nombre de milieux présents dans la maille.
EnvCell cell(Int32 i) const
i-ème maille milieu
Représente un composant d'une maille multi-matériau.
IMeshComponent * component() const
Constituant associé.
__host__ __device__ Int32 componentId() const
Identifiant du composant dans la liste des composants de ce type.
__host__ __device__ Int32 nbSubItem() const
Nombre de sous-éléments.
Maille arcane d'un milieu.
IMeshEnvironment * environment() const
Milieu associé
__host__ __device__ AllEnvCell allEnvCell() const
Maille contenant les infos sur tous les milieux.
__host__ __device__ MatCell cell(Integer i) const
i-ème maille matériau de cette maille
__host__ __device__ Int32 environmentId() const
Identifiant du milieu.
__host__ __device__ CellMatCellEnumerator subMatItems() const
Enumérateur sur les mailles matériaux de cette maille.
Interface d'un milieu d'un maillage.
Interface d'un matériau d'un maillage.
virtual IUserMeshMaterial * userMaterial() const =0
Matériau utilisateur associé
Interface d'un matériau utilisateur.
Représente un matériau d'une maille multi-matériau.
IUserMeshMaterial * userMaterial() const
Materiau utilisateur associé
__host__ __device__ Int32 materialId() const
Identifiant du matériau.
__host__ __device__ EnvCell envCell() const
Maille milieu auquel cette maille matériau appartient.
IMeshMaterial * material() const
Materiau associé
Active toujours les traces dans les parties Arcane concernant les matériaux.
CellComponentCellEnumeratorT< EnvCell > CellEnvCellEnumerator
Enumérateur sur les mailles milieux d'une maille.
CellComponentCellEnumeratorT< MatCell > CellMatCellEnumerator
Enumérateur sur les mailles matériaux d'une maille.