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"
53 : ComponentCell(item_base)
56 _checkLevel(item_base,LEVEL_MATERIAL);
60 explicit ARCCORE_HOST_DEVICE MatCell(
const ComponentCell& item)
61 : MatCell(item.constituentItemBase())
70 ARCCORE_HOST_DEVICE
inline EnvCell
envCell()
const;
105:
public ComponentCell
110 : ComponentCell(item_base)
113 _checkLevel(item_base,LEVEL_ENVIRONMENT);
116 explicit ARCCORE_HOST_DEVICE EnvCell(
const ComponentCell& item)
117 : EnvCell(item.constituentItemBase())
125 ARCCORE_HOST_DEVICE
Int32 nbMaterial()
const {
return nbSubItem(); }
128 ARCCORE_HOST_DEVICE
inline AllEnvCell
allEnvCell()
const;
131 ARCCORE_HOST_DEVICE
inline MatCell
cell(
Integer i)
const {
return _subItemBase(i); }
165:
public ComponentCell
170 : ComponentCell(item_base)
172#if defined(ARCANE_CHECK)
173 _checkLevel(item_base,LEVEL_ALLENVIRONMENT);
177 explicit ARCCORE_HOST_DEVICE AllEnvCell(
const ComponentCell& item)
178 : AllEnvCell(item.constituentItemBase())
182 AllEnvCell() =
default;
190 EnvCell
cell(
Int32 i)
const {
return EnvCell(_subItemBase(i)); }
205 return EnvCell(_superItemBase());
214 return AllEnvCell(_superItemBase());
__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
__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.
IMeshComponent * component() const
Constituant associé.
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.
Interface d'un matériau utilisateur.
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< MatCell > CellMatCellEnumerator
Enumérateur sur les mailles matériaux d'une maille.
CellComponentCellEnumeratorT< EnvCell > CellEnvCellEnumerator
Enumérateur sur les mailles milieux d'une maille.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.