16#include "arcane/utils/NotImplementedException.h"
17#include "arcane/utils/TraceInfo.h"
18#include "arcane/utils/Real2.h"
19#include "arcane/utils/Real3.h"
20#include "arcane/utils/Real2x2.h"
21#include "arcane/utils/Real3x3.h"
23#include "arcane/MeshVariableScalarRef.h"
24#include "arcane/ArcaneException.h"
26#include "arcane/core/materials/IMeshMaterialMng.h"
27#include "arcane/core/materials/IMeshMaterial.h"
28#include "arcane/core/materials/MaterialVariableBuildInfo.h"
44: CellEnvironmentVariableScalarRef(MaterialVariableBuildInfo(nullptr,vb))
64: m_private_part(
rhs.m_private_part)
70 m_private_part->incrementReference();
81template<
typename DataType>
void
86 this->_setContainerView();
87 _internalInit(m_private_part->toMeshMaterialVariable());
94template<
typename DataType>
void
98 if (
rhs.m_private_part==m_private_part)
101 unregisterVariable();
103 m_private_part =
rhs.m_private_part;
105 m_container_value = {};
110 m_private_part->incrementReference();
117template<
typename DataType>
void
127template<
typename DataType> DataType
133 Int32
eid =
ec.environmentId();
145template<
typename DataType>
void
149 globalVariable().fill(value);
150 fillPartialValues(value);
158template<
typename DataType>
void
162 m_private_part->fillPartialValues(value);
197template<
typename DataType>
void
202 m_container_value = m_private_part->_internalFullValuesView();
203 m_value = m_container_value.data();
206 m_container_value = {};
220: CellEnvironmentVariableArrayRef(MaterialVariableBuildInfo(nullptr,vb))
242: m_private_part(
rhs.m_private_part)
248 m_private_part->incrementReference();
257template<
typename DataType>
void
263 _internalInit(m_private_part->toMeshMaterialVariable());
271template<
typename DataType>
void
275 if (
rhs.m_private_part==m_private_part)
278 unregisterVariable();
280 m_private_part =
rhs.m_private_part;
282 m_container_value = {};
287 m_private_part->incrementReference();
295template<
typename DataType>
void
331template<
typename DataType>
void
335 m_private_part->resize(dim2_size);
341template<
typename DataType>
void
346 m_container_value = m_private_part->_internalFullValuesView();
347 m_value = m_container_value.data();
350 m_container_value = {};
361#define ARCANE_INSTANTIATE_MAT(type) \
362 template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableScalarRef<type>;\
363 template class ARCANE_TEMPLATE_EXPORT CellEnvironmentVariableArrayRef<type>
365ARCANE_INSTANTIATE_MAT(
Byte);
366ARCANE_INSTANTIATE_MAT(
Int16);
367ARCANE_INSTANTIATE_MAT(
Int32);
368ARCANE_INSTANTIATE_MAT(
Int64);
369ARCANE_INSTANTIATE_MAT(
Real);
370ARCANE_INSTANTIATE_MAT(Real2);
371ARCANE_INSTANTIATE_MAT(Real3);
372ARCANE_INSTANTIATE_MAT(Real2x2);
373ARCANE_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.
unsigned char Byte
Type d'un octet.