Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Materials::MeshMaterialVariablePrivate Class Reference

Private section of a material variable. More...

#include <arcane/materials/internal/MeshMaterialVariablePrivate.h>

Inheritance diagram for Arcane::Materials::MeshMaterialVariablePrivate:
Collaboration diagram for Arcane::Materials::MeshMaterialVariablePrivate:

Public Member Functions

 MeshMaterialVariablePrivate (const MaterialVariableBuildInfo &v, MatVarSpace mvs, MeshMaterialVariable *variable)
MatVarSpace space () const
bool hasRecursiveDepend () const
const Stringname () const
IMeshMaterialMngmaterialMng () const
IMeshMaterialVariableInternal_internalApi ()
Int32 dataTypeSize () const override
 Byte size to save a variable value.
void copyToBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< std::byte > bytes, RunQueue *queue) const override
 Copies the variable values into a buffer.
void copyFromBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< const std::byte > bytes, RunQueue *queue) override
 Copies the variable values from a buffer.
Ref< IDatainternalCreateSaveDataRef (Integer nb_value) override
void saveData (IMeshComponent *component, IData *data) override
void restoreData (IMeshComponent *component, IData *data, Integer data_index, Int32ConstArrayView ids, bool allow_null_id) override
void copyBetweenPartialAndGlobal (const CopyBetweenPartialAndGlobalArgs &args) override
void initializeNewItemsWithZero (InitializeWithZeroArgs &args) override
 Initialize the values of new components with zero.
ConstArrayView< VariableRef * > variableReferenceList () const override
 List of 'VariableRef' associated with this variable.
void syncReferences (bool check_resize) override
 Synchronizes references.
void resizeForIndexer (ResizeVariableIndexerArgs &args) override
 Resizes the partial value associated with index index.

Public Attributes

Int32 m_nb_reference = 0
MeshMaterialVariableRefm_first_reference = nullptr
UniqueArray< VariableRef * > m_refs
 Stores references to array variables used to store values per material. A reference must be kept to prevent the variable from being destroyed if it is no longer used elsewhere.
bool m_keep_on_change = true
IObserverm_global_variable_changed_observer = nullptr
UniqueArray< MeshMaterialVariableDependInfom_mat_depends
 List of dependencies for this variable.
UniqueArray< VariableDependInfom_depends
 List of dependencies for this variable.
UniqueArray< Int64m_modified_times
 Tag of the last modification per material.
ScopedPtrT< IMeshMaterialVariableComputeFunctionm_compute_function
 Calculation function.

Private Attributes

String m_name
 First reference on the variable.
IMeshMaterialMngm_material_mng = nullptr
bool m_has_recursive_depend = true
MatVarSpace m_var_space = MatVarSpace::MaterialAndEnvironment
MeshMaterialVariablem_variable = nullptr

Detailed Description

Private section of a material variable.

Definition at line 43 of file MeshMaterialVariablePrivate.h.

Constructor & Destructor Documentation

◆ MeshMaterialVariablePrivate()

Arcane::Materials::MeshMaterialVariablePrivate::MeshMaterialVariablePrivate ( const MaterialVariableBuildInfo & v,
MatVarSpace mvs,
MeshMaterialVariable * variable )

Definition at line 60 of file MeshMaterialVariable.cc.

◆ ~MeshMaterialVariablePrivate()

Arcane::Materials::MeshMaterialVariablePrivate::~MeshMaterialVariablePrivate ( )

Definition at line 76 of file MeshMaterialVariable.cc.

Member Function Documentation

◆ _internalApi()

IMeshMaterialVariableInternal * Arcane::Materials::MeshMaterialVariablePrivate::_internalApi ( )
inline

Definition at line 58 of file MeshMaterialVariablePrivate.h.

◆ copyBetweenPartialAndGlobal()

void Arcane::Materials::MeshMaterialVariablePrivate::copyBetweenPartialAndGlobal ( const CopyBetweenPartialAndGlobalArgs & args)
overridevirtual

◆ copyFromBuffer()

void Arcane::Materials::MeshMaterialVariablePrivate::copyFromBuffer ( SmallSpan< const MatVarIndex > matvar_indexes,
Span< const std::byte > bytes,
RunQueue * queue )
overridevirtual

Copies the variable values from a buffer.

queue may be null.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 105 of file MeshMaterialVariable.cc.

◆ copyToBuffer()

void Arcane::Materials::MeshMaterialVariablePrivate::copyToBuffer ( SmallSpan< const MatVarIndex > matvar_indexes,
Span< std::byte > bytes,
RunQueue * queue ) const
overridevirtual

Copies the variable values into a buffer.

queue may be null.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 95 of file MeshMaterialVariable.cc.

◆ dataTypeSize()

Int32 Arcane::Materials::MeshMaterialVariablePrivate::dataTypeSize ( ) const
overridevirtual

Byte size to save a variable value.

For a scalar variable, this is the size of the associated data type. For an array variable, this is the size of the data type multiplied by the number of elements in the array.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 86 of file MeshMaterialVariable.cc.

◆ hasRecursiveDepend()

bool Arcane::Materials::MeshMaterialVariablePrivate::hasRecursiveDepend ( ) const
inline

Definition at line 55 of file MeshMaterialVariablePrivate.h.

◆ initializeNewItemsWithZero()

void Arcane::Materials::MeshMaterialVariablePrivate::initializeNewItemsWithZero ( InitializeWithZeroArgs & args)
overridevirtual

Initialize the values of new components with zero.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 152 of file MeshMaterialVariable.cc.

◆ internalCreateSaveDataRef()

Ref< IData > Arcane::Materials::MeshMaterialVariablePrivate::internalCreateSaveDataRef ( Integer nb_value)
overridevirtual

◆ materialMng()

IMeshMaterialMng * Arcane::Materials::MeshMaterialVariablePrivate::materialMng ( ) const
inline

Definition at line 57 of file MeshMaterialVariablePrivate.h.

◆ name()

const String & Arcane::Materials::MeshMaterialVariablePrivate::name ( ) const
inline

Definition at line 56 of file MeshMaterialVariablePrivate.h.

◆ resizeForIndexer()

void Arcane::Materials::MeshMaterialVariablePrivate::resizeForIndexer ( ResizeVariableIndexerArgs & args)
overridevirtual

Resizes the partial value associated with index index.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 170 of file MeshMaterialVariable.cc.

◆ restoreData()

void Arcane::Materials::MeshMaterialVariablePrivate::restoreData ( IMeshComponent * component,
IData * data,
Integer data_index,
Int32ConstArrayView ids,
bool allow_null_id )
overridevirtual

◆ saveData()

void Arcane::Materials::MeshMaterialVariablePrivate::saveData ( IMeshComponent * component,
IData * data )
overridevirtual

◆ space()

MatVarSpace Arcane::Materials::MeshMaterialVariablePrivate::space ( ) const
inline

Definition at line 54 of file MeshMaterialVariablePrivate.h.

◆ syncReferences()

void Arcane::Materials::MeshMaterialVariablePrivate::syncReferences ( bool check_resize)
overridevirtual

Synchronizes references.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 161 of file MeshMaterialVariable.cc.

◆ variableReferenceList()

ConstArrayView< VariableRef * > Arcane::Materials::MeshMaterialVariablePrivate::variableReferenceList ( ) const
inlineoverridevirtual

List of 'VariableRef' associated with this variable.

Implements Arcane::Materials::IMeshMaterialVariableInternal.

Definition at line 80 of file MeshMaterialVariablePrivate.h.

References m_refs.

Member Data Documentation

◆ m_compute_function

ScopedPtrT<IMeshMaterialVariableComputeFunction> Arcane::Materials::MeshMaterialVariablePrivate::m_compute_function

Calculation function.

Definition at line 120 of file MeshMaterialVariablePrivate.h.

◆ m_depends

UniqueArray<VariableDependInfo> Arcane::Materials::MeshMaterialVariablePrivate::m_depends

List of dependencies for this variable.

Definition at line 114 of file MeshMaterialVariablePrivate.h.

◆ m_first_reference

MeshMaterialVariableRef* Arcane::Materials::MeshMaterialVariablePrivate::m_first_reference = nullptr

Definition at line 90 of file MeshMaterialVariablePrivate.h.

◆ m_global_variable_changed_observer

IObserver* Arcane::Materials::MeshMaterialVariablePrivate::m_global_variable_changed_observer = nullptr

Definition at line 108 of file MeshMaterialVariablePrivate.h.

◆ m_has_recursive_depend

bool Arcane::Materials::MeshMaterialVariablePrivate::m_has_recursive_depend = true
private

Definition at line 124 of file MeshMaterialVariablePrivate.h.

◆ m_keep_on_change

bool Arcane::Materials::MeshMaterialVariablePrivate::m_keep_on_change = true

Definition at line 107 of file MeshMaterialVariablePrivate.h.

◆ m_mat_depends

UniqueArray<MeshMaterialVariableDependInfo> Arcane::Materials::MeshMaterialVariablePrivate::m_mat_depends

List of dependencies for this variable.

Definition at line 111 of file MeshMaterialVariablePrivate.h.

◆ m_material_mng

IMeshMaterialMng* Arcane::Materials::MeshMaterialVariablePrivate::m_material_mng = nullptr
private

Definition at line 95 of file MeshMaterialVariablePrivate.h.

◆ m_modified_times

UniqueArray<Int64> Arcane::Materials::MeshMaterialVariablePrivate::m_modified_times

Tag of the last modification per material.

Definition at line 117 of file MeshMaterialVariablePrivate.h.

◆ m_name

String Arcane::Materials::MeshMaterialVariablePrivate::m_name
private

First reference on the variable.

Definition at line 94 of file MeshMaterialVariablePrivate.h.

◆ m_nb_reference

Int32 Arcane::Materials::MeshMaterialVariablePrivate::m_nb_reference = 0

Definition at line 89 of file MeshMaterialVariablePrivate.h.

◆ m_refs

UniqueArray<VariableRef*> Arcane::Materials::MeshMaterialVariablePrivate::m_refs

Stores references to array variables used to store values per material. A reference must be kept to prevent the variable from being destroyed if it is no longer used elsewhere.

Definition at line 105 of file MeshMaterialVariablePrivate.h.

Referenced by variableReferenceList().

◆ m_var_space

MatVarSpace Arcane::Materials::MeshMaterialVariablePrivate::m_var_space = MatVarSpace::MaterialAndEnvironment
private

Definition at line 125 of file MeshMaterialVariablePrivate.h.

◆ m_variable

MeshMaterialVariable* Arcane::Materials::MeshMaterialVariablePrivate::m_variable = nullptr
private

Definition at line 126 of file MeshMaterialVariablePrivate.h.


The documentation for this class was generated from the following files: