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
144fill(
const DataType& value)
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.
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.
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.
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.
Référence à une instance.
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)