Base class for material variable references. More...
#include <arcane/core/materials/MeshMaterialVariableRef.h>
Classes | |
| class | Enumerator |
Public Member Functions | |
| MeshMaterialVariableRef * | previousReference () |
| Previous reference (or null) on variable(). | |
| MeshMaterialVariableRef * | nextReference () |
| Next reference (or null) on variable(). | |
| void | setPreviousReference (MeshMaterialVariableRef *v) |
| Positions the previous reference. | |
| void | setNextReference (MeshMaterialVariableRef *v) |
| Positions the next reference. | |
| void | registerVariable () |
| Registers the variable (internal). | |
| void | unregisterVariable () |
| Unregisters the variable (internal). | |
| virtual void | updateFromInternal ()=0 |
| IMeshMaterialVariable * | materialVariable () const |
| Associated material variable. | |
| void | synchronize () |
| Synchronizes values between sub-domains. | |
| void | synchronize (MeshMaterialVariableSynchronizerList &sync_list) |
| Adds this variable to the synchronization list sync_list. | |
| MatVarSpace | space () const |
| Definition space of the variable (material+environment or environment only). | |
| void | fillPartialValuesWithSuperValues (Int32 level) |
| Fills partial values with the super cell value. If level is LEVEL_MATERIAL, copies material values with those of the environment. If level is LEVEL_ENVIRONMENT, copies environment values with those of the global cell. If level is LEVEL_ALLENVIRONMENT, fills all partial values with those of the global cell (this makes this method equivalent to fillGlobalValuesWithGlobalValues(). | |
| String | name () const |
| void | setUpToDate () |
| bool | isUsed () const |
| void | update () |
| void | addDependCurrentTime (const VariableRef &var) |
| void | addDependCurrentTime (const VariableRef &var, const TraceInfo &tinfo) |
| void | addDependCurrentTime (const MeshMaterialVariableRef &var) |
| void | addDependPreviousTime (const MeshMaterialVariableRef &var) |
| void | removeDepend (const MeshMaterialVariableRef &var) |
| template<typename ClassType> | |
| void | setComputeFunction (ClassType *instance, void(ClassType::*func)()) |
| void | setUpToDate (IMeshMaterial *) |
| Functions to manage dependencies on the material part of the variable. | |
| void | update (IMeshMaterial *) |
| void | addMaterialDepend (const VariableRef &var) |
| void | addMaterialDepend (const VariableRef &var, const TraceInfo &tinfo) |
| void | addMaterialDepend (const MeshMaterialVariableRef &var) |
| void | addMaterialDepend (const MeshMaterialVariableRef &var, const TraceInfo &tinfo) |
| template<typename ClassType> | |
| void | setMaterialComputeFunction (ClassType *instance, void(ClassType::*func)(IMeshMaterial *)) |
Protected Member Functions | |
| void | _internalInit (IMeshMaterialVariable *mat_variable) |
| bool | _isRegistered () const |
Private Member Functions | |
| void | _checkValid () const |
| void | _throwInvalid () const |
Private Attributes | |
| IMeshMaterialVariable * | m_material_variable = nullptr |
| Associated variable. | |
| MeshMaterialVariableRef * | m_previous_reference = nullptr |
| Previous reference on m_variable. | |
| MeshMaterialVariableRef * | m_next_reference = nullptr |
| Next reference on m_variable. | |
| IVariable * | m_global_variable = nullptr |
| Associated global variable. | |
| bool | m_is_registered = false |
Base class for material variable references.
Definition at line 49 of file core/materials/MeshMaterialVariableRef.h.
| Arcane::Materials::MeshMaterialVariableRef::MeshMaterialVariableRef | ( | ) |
Definition at line 36 of file MeshMaterialVariableRef.cc.
|
virtual |
Definition at line 44 of file MeshMaterialVariableRef.cc.
|
inlineprivate |
Definition at line 201 of file core/materials/MeshMaterialVariableRef.h.
|
protected |
Definition at line 76 of file MeshMaterialVariableRef.cc.
|
inlineprotected |
Definition at line 181 of file core/materials/MeshMaterialVariableRef.h.
|
private |
Definition at line 124 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime | ( | const MeshMaterialVariableRef & | var | ) |
Definition at line 185 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime | ( | const VariableRef & | var | ) |
Definition at line 174 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addDependCurrentTime | ( | const VariableRef & | var, |
| const TraceInfo & | tinfo ) |
Definition at line 179 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addDependPreviousTime | ( | const MeshMaterialVariableRef & | var | ) |
Definition at line 191 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend | ( | const MeshMaterialVariableRef & | var | ) |
Definition at line 230 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend | ( | const MeshMaterialVariableRef & | var, |
| const TraceInfo & | tinfo ) |
Definition at line 236 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend | ( | const VariableRef & | var | ) |
Definition at line 218 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::addMaterialDepend | ( | const VariableRef & | var, |
| const TraceInfo & | tinfo ) |
Definition at line 224 of file MeshMaterialVariableRef.cc.
|
inline |
Fills partial values with the super cell value. If level is LEVEL_MATERIAL, copies material values with those of the environment. If level is LEVEL_ENVIRONMENT, copies environment values with those of the global cell. If level is LEVEL_ALLENVIRONMENT, fills all partial values with those of the global cell (this makes this method equivalent to fillGlobalValuesWithGlobalValues().
Definition at line 137 of file core/materials/MeshMaterialVariableRef.h.
References m_material_variable.
| bool Arcane::Materials::MeshMaterialVariableRef::isUsed | ( | ) | const |
Definition at line 163 of file MeshMaterialVariableRef.cc.
|
inline |
Associated material variable.
Definition at line 117 of file core/materials/MeshMaterialVariableRef.h.
References m_material_variable.
Referenced by Arcane::VariableUtils::markVariableAsMostlyReadOnly(), Arcane::Accelerator::viewIn(), Arcane::Accelerator::viewIn(), Arcane::Materials::viewIn(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewInOut(), Arcane::Accelerator::viewOut(), Arcane::Accelerator::viewOut(), and Arcane::Materials::viewOut().
| String Arcane::Materials::MeshMaterialVariableRef::name | ( | ) | const |
Definition at line 153 of file MeshMaterialVariableRef.cc.
| MeshMaterialVariableRef * Arcane::Materials::MeshMaterialVariableRef::nextReference | ( | ) |
Next reference (or null) on variable().
Definition at line 97 of file MeshMaterialVariableRef.cc.
References m_next_reference.
Referenced by Arcane::Materials::MeshMaterialVariable::removeVariableRef().
| MeshMaterialVariableRef * Arcane::Materials::MeshMaterialVariableRef::previousReference | ( | ) |
Previous reference (or null) on variable().
Definition at line 88 of file MeshMaterialVariableRef.cc.
References m_previous_reference.
Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().
| void Arcane::Materials::MeshMaterialVariableRef::registerVariable | ( | ) |
Registers the variable (internal).
Definition at line 65 of file MeshMaterialVariableRef.cc.
References m_material_variable.
| void Arcane::Materials::MeshMaterialVariableRef::removeDepend | ( | const MeshMaterialVariableRef & | var | ) |
Definition at line 197 of file MeshMaterialVariableRef.cc.
|
inline |
Definition at line 157 of file core/materials/MeshMaterialVariableRef.h.
|
inline |
Definition at line 172 of file core/materials/MeshMaterialVariableRef.h.
| void Arcane::Materials::MeshMaterialVariableRef::setNextReference | ( | MeshMaterialVariableRef * | v | ) |
Positions the next reference.
For internal use only.
Definition at line 115 of file MeshMaterialVariableRef.cc.
References m_next_reference.
Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().
| void Arcane::Materials::MeshMaterialVariableRef::setPreviousReference | ( | MeshMaterialVariableRef * | v | ) |
Positions the previous reference.
For internal use only.
Definition at line 106 of file MeshMaterialVariableRef.cc.
References m_previous_reference.
Referenced by Arcane::Materials::MeshMaterialVariable::addVariableRef(), and Arcane::Materials::MeshMaterialVariable::removeVariableRef().
| void Arcane::Materials::MeshMaterialVariableRef::setUpToDate | ( | ) |
Definition at line 158 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::setUpToDate | ( | IMeshMaterial * | mat | ) |
Functions to manage dependencies on the material part of the variable.
Definition at line 206 of file MeshMaterialVariableRef.cc.
References m_material_variable.
|
inline |
Definition space of the variable (material+environment or environment only).
Definition at line 126 of file core/materials/MeshMaterialVariableRef.h.
References m_material_variable.
| void Arcane::Materials::MeshMaterialVariableRef::synchronize | ( | ) |
Synchronizes values between sub-domains.
Definition at line 133 of file MeshMaterialVariableRef.cc.
References m_material_variable.
| void Arcane::Materials::MeshMaterialVariableRef::synchronize | ( | MeshMaterialVariableSynchronizerList & | sync_list | ) |
Adds this variable to the synchronization list sync_list.
Definition at line 143 of file MeshMaterialVariableRef.cc.
References m_material_variable.
| void Arcane::Materials::MeshMaterialVariableRef::unregisterVariable | ( | ) |
Unregisters the variable (internal).
Definition at line 54 of file MeshMaterialVariableRef.cc.
References m_material_variable.
Referenced by Arcane::Materials::CellEnvironmentVariableArrayRef< DataType_ >::refersTo(), Arcane::Materials::CellEnvironmentVariableScalarRef< DataType_ >::refersTo(), Arcane::Materials::CellMaterialVariableArrayRef< DataType_ >::refersTo(), and Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >::refersTo().
| void Arcane::Materials::MeshMaterialVariableRef::update | ( | ) |
Definition at line 168 of file MeshMaterialVariableRef.cc.
| void Arcane::Materials::MeshMaterialVariableRef::update | ( | IMeshMaterial * | mat | ) |
Definition at line 212 of file MeshMaterialVariableRef.cc.
|
pure virtual |
Implemented in Arcane::Materials::CellEnvironmentVariableArrayRef< DataType_ >, Arcane::Materials::CellEnvironmentVariableArrayRef< Byte >, Arcane::Materials::CellEnvironmentVariableArrayRef< DataType >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int16 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int32 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Int64 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real2 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real2x2 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real3 >, Arcane::Materials::CellEnvironmentVariableArrayRef< Real3x3 >, Arcane::Materials::CellEnvironmentVariableScalarRef< DataType_ >, Arcane::Materials::CellEnvironmentVariableScalarRef< Byte >, Arcane::Materials::CellEnvironmentVariableScalarRef< DataType >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int16 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int32 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Int64 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real2 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real2x2 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real3 >, Arcane::Materials::CellEnvironmentVariableScalarRef< Real3x3 >, Arcane::Materials::CellMaterialVariableArrayRef< DataType_ >, Arcane::Materials::CellMaterialVariableArrayRef< Byte >, Arcane::Materials::CellMaterialVariableArrayRef< DataType >, Arcane::Materials::CellMaterialVariableArrayRef< Int16 >, Arcane::Materials::CellMaterialVariableArrayRef< Int32 >, Arcane::Materials::CellMaterialVariableArrayRef< Int64 >, Arcane::Materials::CellMaterialVariableArrayRef< Real >, Arcane::Materials::CellMaterialVariableArrayRef< Real2 >, Arcane::Materials::CellMaterialVariableArrayRef< Real2x2 >, Arcane::Materials::CellMaterialVariableArrayRef< Real3 >, Arcane::Materials::CellMaterialVariableArrayRef< Real3x3 >, Arcane::Materials::CellMaterialVariableScalarRef< DataType_ >, Arcane::Materials::CellMaterialVariableScalarRef< Byte >, Arcane::Materials::CellMaterialVariableScalarRef< DataType >, Arcane::Materials::CellMaterialVariableScalarRef< Int16 >, Arcane::Materials::CellMaterialVariableScalarRef< Int32 >, Arcane::Materials::CellMaterialVariableScalarRef< Int64 >, Arcane::Materials::CellMaterialVariableScalarRef< Real >, Arcane::Materials::CellMaterialVariableScalarRef< Real2 >, Arcane::Materials::CellMaterialVariableScalarRef< Real2x2 >, Arcane::Materials::CellMaterialVariableScalarRef< Real3 >, and Arcane::Materials::CellMaterialVariableScalarRef< Real3x3 >.
|
private |
Associated global variable.
Definition at line 195 of file core/materials/MeshMaterialVariableRef.h.
|
private |
Definition at line 197 of file core/materials/MeshMaterialVariableRef.h.
|
private |
Associated variable.
Definition at line 186 of file core/materials/MeshMaterialVariableRef.h.
Referenced by fillPartialValuesWithSuperValues(), materialVariable(), registerVariable(), setUpToDate(), space(), synchronize(), synchronize(), and unregisterVariable().
|
private |
Next reference on m_variable.
Definition at line 192 of file core/materials/MeshMaterialVariableRef.h.
Referenced by nextReference(), and setNextReference().
|
private |
Previous reference on m_variable.
Definition at line 189 of file core/materials/MeshMaterialVariableRef.h.
Referenced by previousReference(), and setPreviousReference().