16#include "arcane/utils/NotImplementedException.h"
17#include "arcane/utils/TraceInfo.h"
18#include "arcane/utils/NumericTypes.h"
20#include "arcane/MeshVariableScalarRef.h"
21#include "arcane/ArcaneException.h"
23#include "arcane/core/materials/IMeshMaterialMng.h"
24#include "arcane/core/materials/IMeshMaterial.h"
25#include "arcane/core/materials/MaterialVariableBuildInfo.h"
41: CellEnvironmentVariableScalarRef(MaterialVariableBuildInfo(nullptr,vb))
61: m_private_part(
rhs.m_private_part)
67 m_private_part->incrementReference();
78template<
typename DataType>
void
83 this->_setContainerView();
84 _internalInit(m_private_part->toMeshMaterialVariable());
91template<
typename DataType>
void
95 if (
rhs.m_private_part==m_private_part)
100 m_private_part =
rhs.m_private_part;
102 m_container_value = {};
107 m_private_part->incrementReference();
114template<
typename DataType>
void
124template<
typename DataType> DataType
130 Int32
eid =
ec.environmentId();
142template<
typename DataType>
void
146 globalVariable().fill(value);
147 fillPartialValues(value);
155template<
typename DataType>
void
159 m_private_part->fillPartialValues(value);
194template<
typename DataType>
void
199 m_container_value = m_private_part->_internalFullValuesView();
200 m_value = m_container_value.data();
203 m_container_value = {};
217: CellEnvironmentVariableArrayRef(MaterialVariableBuildInfo(nullptr,vb))
239: m_private_part(
rhs.m_private_part)
245 m_private_part->incrementReference();
254template<
typename DataType>
void
260 _internalInit(m_private_part->toMeshMaterialVariable());
268template<
typename DataType>
void
272 if (
rhs.m_private_part==m_private_part)
275 unregisterVariable();
277 m_private_part =
rhs.m_private_part;
279 m_container_value = {};
284 m_private_part->incrementReference();
292template<
typename DataType>
void
328template<
typename DataType>
void
332 m_private_part->resize(dim2_size);
338template<
typename DataType>
void
343 m_container_value = m_private_part->_internalFullValuesView();
344 m_value = m_container_value.data();
347 m_container_value = {};
358#define ARCANE_INSTANTIATE_MAT(type) \
359 template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableScalarRef<type>;\
360 template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableArrayRef<type>
362ARCANE_INSTANTIATE_MAT(
Byte);
363ARCANE_INSTANTIATE_MAT(
Int8);
364ARCANE_INSTANTIATE_MAT(
Int16);
365ARCANE_INSTANTIATE_MAT(
Int32);
366ARCANE_INSTANTIATE_MAT(
Int64);
368ARCANE_INSTANTIATE_MAT(
Float16);
369ARCANE_INSTANTIATE_MAT(
Float32);
370ARCANE_INSTANTIATE_MAT(
Real);
371ARCANE_INSTANTIATE_MAT(Real2);
372ARCANE_INSTANTIATE_MAT(Real3);
373ARCANE_INSTANTIATE_MAT(Real2x2);
374ARCANE_INSTANTIATE_MAT(Real3x3);
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Maille arcane avec info matériaux et milieux.
Variable tableau sur les mailles d'un matériau du maillage. Pour l'instant, cette classe n'est instan...
GlobalVariableRefType & globalVariable()
Variable globale associée à cette variable matériau.
virtual void refersTo(const ThatClass &rhs)
Positionne la référence de l'instance à la variable rhs.
CellEnvironmentVariableArrayRef()=delete
Constructeur vide (interdit)
void resize(Integer dim2_size)
Redimensionne le nombre d'éléments du tableau.
void updateFromInternal() override
Variable scalaire sur les mailles d'un milieu du maillage.
DataType envValue(AllEnvCell c, Int32 env_id) const
Valeur de la variable pour le milieu d'index env_id de la maille ou 0 si absent de la maille.
void fillPartialValues(const DataType &value)
Remplit les valeurs partielles de la variable avec la valeur value.
void updateFromInternal() override
GlobalVariableRefType & globalVariable()
Variable globale associée à cette variable matériau.
virtual void refersTo(const ThatClass &rhs)
Positionne la référence de l'instance à la variable rhs.
CellEnvironmentVariableScalarRef()=delete
Constructeur vide (interdit)
void fill(const DataType &value)
Remplit les valeurs partielles et globales de la variable avec la valeur value.
Maille arcane d'un milieu.
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.
Arccore::Float16 Float16
Type 'Float16' (binary16)
Arccore::Int8 Int8
Type représentant un entier sur 8 bits.
Arccore::BFloat16 BFloat16
Type 'Brain Float16'.
float Float32
Type flottant IEEE-753 simple précision (binary32)
unsigned char Byte
Type d'un octet.