Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Materials::MeshMaterialVariableabstract
+ Graphe d'héritage de Arcane::Materials::MeshMaterialVariable:
+ Graphe de collaboration de Arcane::Materials::MeshMaterialVariable:

Fonctions membres publiques

 MeshMaterialVariable (const MaterialVariableBuildInfo &v, MatVarSpace mvs)
 
String name () const override
 Nom de la variable.
 
void addVariableRef (MeshMaterialVariableRef *var_ref) override
 Ajoute une référence à cette variable.
 
void removeVariableRef (MeshMaterialVariableRef *var_ref) override
 Supprime une référence à cette variable.
 
MeshMaterialVariableReffirstReference () const override
 
IVariablematerialVariable (IMeshMaterial *mat) override
 
void setKeepOnChange (bool v) override
 Indique si on souhaite conserver la valeur de la variable apres un changement de la liste des matériaux.
 
bool keepOnChange () const override
 Indique si on souhaite conserver la valeur de la variable apres un changement de la liste des matériaux.
 
MatVarSpace space () const override
 Espace de définition de la variable (matériau+milieu ou milieu uniquement)
 
Gestion des dépendances
void update (IMeshMaterial *mat) override
 Recalcule la variable pour le matériau mat si nécessaire.
 
void setUpToDate (IMeshMaterial *mat) override
 Indique que la variable vient d'être mise à jour.
 
Int64 modifiedTime (IMeshMaterial *mat) override
 Temps auquel la variable a été mise à jour.
 
void addDepend (IMeshMaterialVariable *var) override
 Ajoute var à la liste des dépendances.
 
void addDepend (IMeshMaterialVariable *var, const TraceInfo &tinfo) override
 Ajoute var à la liste des dépendances avec les infos de trace tinfo.
 
void addDepend (IVariable *var) override
 Ajoute var à la liste des dépendances.
 
void addDepend (IVariable *var, const TraceInfo &tinfo) override
 Ajoute var à la liste des dépendances avec les infos de trace tinfo.
 
void removeDepend (IMeshMaterialVariable *var) override
 Supprime var de la liste des dépendances.
 
void removeDepend (IVariable *var) override
 Supprime var de la liste des dépendances.
 
void setComputeFunction (IMeshMaterialVariableComputeFunction *v) override
 Positionne la fonction de recalcule de la variable.
 
IMeshMaterialVariableComputeFunctioncomputeFunction () override
 Fonction utilisée pour mettre à jour la variable.
 
void dependInfos (Array< VariableDependInfo > &infos, Array< MeshMaterialVariableDependInfo > &mat_infos) override
 Infos de dépendances.
 
IMeshMaterialVariableInternal * _internalApi () override
 
- Fonctions membres publiques hérités de Arcane::Materials::IMeshMaterialVariable
virtual IVariableglobalVariable () const =0
 Variable globale sur le maillage associée.
 
virtual void buildFromManager (bool is_continue)=0
 
virtual void syncReferences ()=0
 Synchronise les références.
 
virtual void synchronize ()=0
 Synchronise la variable.
 
virtual void synchronize (MeshMaterialVariableSynchronizerList &sync_list)=0
 
virtual void dumpValues (std::ostream &ostr)=0
 Affiche les valeurs de la variable sur le flot ostr.
 
virtual void dumpValues (std::ostream &ostr, AllEnvCellVectorView view)=0
 Affiche les valeurs de la variable pour la vue view sur le flot ostr.
 
virtual void fillPartialValuesWithGlobalValues ()=0
 Remplit les valeurs partielles avec la valeur de la maille globale associée.
 
virtual void fillPartialValuesWithSuperValues (Int32 level)=0
 Remplit les valeurs partielles avec la valeur de la maille du dessus. Si level vaut LEVEL_MATERIAL, copie les valeurs matériaux avec celle du milieu. Si level vaut LEVEL_ENVIRONNEMENT, copie les valeurs des milieux avec celui de la maille globale. Si level vaut LEVEL_ALLENVIRONMENT, remplit toutes les valeurs partielles avec celle de la maille globale (cela rend cette méthode équivalente à fillGlobalValuesWithGlobalValues().
 
virtual void serialize (ISerializer *sbuffer, Int32ConstArrayView ids)=0
 Sérialise la variable pour les entités de numéro local ids.
 

Fonctions publiques mais réservées à Arcane pour gérer les synchronisations

MeshMaterialVariablePrivate * m_p = nullptr
 
UniqueArray< Span< std::byte > > m_views_as_bytes
 
virtual Int32 dataTypeSize () const =0
 
void incrementReference ()
 
virtual void copyToBuffer (ConstArrayView< MatVarIndex > matvar_indexes, ByteArrayView bytes) const =0
 
virtual void copyFromBuffer (ConstArrayView< MatVarIndex > matvar_indexes, ByteConstArrayView bytes)=0
 
ITraceMng_traceMng () const
 
void _copyToBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< std::byte > bytes, RunQueue *queue) const
 
void _copyFromBuffer (SmallSpan< const MatVarIndex > matvar_indexes, Span< const std::byte > bytes, RunQueue *queue)
 
virtual Ref< IData_internalCreateSaveDataRef (Integer nb_value)=0
 
virtual void _saveData (IMeshComponent *component, IData *data)=0
 
virtual void _restoreData (IMeshComponent *component, IData *data, Integer data_index, Int32ConstArrayView ids, bool allow_null_id)=0
 
virtual void _copyBetweenPartialAndGlobal (const CopyBetweenPartialAndGlobalArgs &args)=0
 
virtual void _initializeNewItemsWithZero (InitializeWithZeroArgs &args)=0
 
virtual void _syncReferences (bool update_views)=0
 
virtual void _resizeForIndexer (ResizeVariableIndexerArgs &args)=0
 
static void _genericCopyTo (Span< const std::byte > input, SmallSpan< const Int32 > input_indexes, Span< std::byte > output, SmallSpan< const Int32 > output_indexes, const RunQueue &queue, Int32 data_type_size)
 

Description détaillée

Définition à la ligne 69 du fichier MeshMaterialVariable.h.

Documentation des constructeurs et destructeur

◆ MeshMaterialVariable()

Arcane::Materials::MeshMaterialVariable::MeshMaterialVariable ( const MaterialVariableBuildInfo v,
MatVarSpace  mvs 
)

Définition à la ligne 182 du fichier MeshMaterialVariable.cc.

◆ ~MeshMaterialVariable()

Arcane::Materials::MeshMaterialVariable::~MeshMaterialVariable ( )
override

Définition à la ligne 192 du fichier MeshMaterialVariable.cc.

Documentation des fonctions membres

◆ _copyFromBuffer()

void Arcane::Materials::MeshMaterialVariable::_copyFromBuffer ( SmallSpan< const MatVarIndex matvar_indexes,
Span< const std::byte >  bytes,
RunQueue queue 
)
protected

Définition à la ligne 499 du fichier MeshMaterialVariable.cc.

◆ _copyToBuffer()

void Arcane::Materials::MeshMaterialVariable::_copyToBuffer ( SmallSpan< const MatVarIndex matvar_indexes,
Span< std::byte >  bytes,
RunQueue queue 
) const
protected

Définition à la ligne 484 du fichier MeshMaterialVariable.cc.

◆ _genericCopyTo()

void Arcane::Materials::MeshMaterialVariable::_genericCopyTo ( Span< const std::byte >  input,
SmallSpan< const Int32 >  input_indexes,
Span< std::byte >  output,
SmallSpan< const Int32 >  output_indexes,
const RunQueue queue,
Int32  data_type_size 
)
static

Définition à la ligne 514 du fichier MeshMaterialVariable.cc.

◆ _internalApi()

IMeshMaterialVariableInternal * Arcane::Materials::MeshMaterialVariable::_internalApi ( )
overridevirtual

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 545 du fichier MeshMaterialVariable.cc.

◆ _traceMng()

ITraceMng * Arcane::Materials::MeshMaterialVariable::_traceMng ( ) const
protected

Définition à la ligne 451 du fichier MeshMaterialVariable.cc.

◆ addDepend() [1/4]

void Arcane::Materials::MeshMaterialVariable::addDepend ( IMeshMaterialVariable var)
overridevirtual

Ajoute var à la liste des dépendances.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 388 du fichier MeshMaterialVariable.cc.

◆ addDepend() [2/4]

void Arcane::Materials::MeshMaterialVariable::addDepend ( IMeshMaterialVariable var,
const TraceInfo tinfo 
)
overridevirtual

Ajoute var à la liste des dépendances avec les infos de trace tinfo.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 394 du fichier MeshMaterialVariable.cc.

◆ addDepend() [3/4]

void Arcane::Materials::MeshMaterialVariable::addDepend ( IVariable var)
overridevirtual

Ajoute var à la liste des dépendances.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 407 du fichier MeshMaterialVariable.cc.

◆ addDepend() [4/4]

void Arcane::Materials::MeshMaterialVariable::addDepend ( IVariable var,
const TraceInfo tinfo 
)
overridevirtual

Ajoute var à la liste des dépendances avec les infos de trace tinfo.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 413 du fichier MeshMaterialVariable.cc.

◆ addVariableRef()

void Arcane::Materials::MeshMaterialVariable::addVariableRef ( MeshMaterialVariableRef var_ref)
overridevirtual

Ajoute une référence à cette variable.

Précondition
var_ref ne doit pas déjà référencer une variable.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 216 du fichier MeshMaterialVariable.cc.

Références Arcane::Materials::MeshMaterialVariableRef::previousReference().

◆ computeFunction()

IMeshMaterialVariableComputeFunction * Arcane::Materials::MeshMaterialVariable::computeFunction ( )
overridevirtual

Fonction utilisée pour mettre à jour la variable.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 432 du fichier MeshMaterialVariable.cc.

◆ dependInfos()

void Arcane::Materials::MeshMaterialVariable::dependInfos ( Array< VariableDependInfo > &  infos,
Array< MeshMaterialVariableDependInfo > &  mat_infos 
)
overridevirtual

Infos de dépendances.

Remplit le tableau infos avec les infos de dépendance sur les variables globales et le tableau mat_infos avec celles sur les variables matériaux.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 438 du fichier MeshMaterialVariable.cc.

Références Arccore::Array< T >::add().

◆ firstReference()

MeshMaterialVariableRef * Arcane::Materials::MeshMaterialVariable::firstReference ( ) const
overridevirtual

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 281 du fichier MeshMaterialVariable.cc.

◆ incrementReference()

void Arcane::Materials::MeshMaterialVariable::incrementReference ( )

Définition à la ligne 201 du fichier MeshMaterialVariable.cc.

◆ keepOnChange()

bool Arcane::Materials::MeshMaterialVariable::keepOnChange ( ) const
overridevirtual

Indique si on souhaite conserver la valeur de la variable apres un changement de la liste des matériaux.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 318 du fichier MeshMaterialVariable.cc.

◆ materialVariable()

IVariable * Arcane::Materials::MeshMaterialVariable::materialVariable ( IMeshMaterial mat)
overridevirtual

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 299 du fichier MeshMaterialVariable.cc.

◆ modifiedTime()

Int64 Arcane::Materials::MeshMaterialVariable::modifiedTime ( IMeshMaterial mat)
overridevirtual

Temps auquel la variable a été mise à jour.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 381 du fichier MeshMaterialVariable.cc.

Références Arcane::Materials::IMeshComponent::id().

◆ name()

String Arcane::Materials::MeshMaterialVariable::name ( ) const
overridevirtual

Nom de la variable.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 290 du fichier MeshMaterialVariable.cc.

Référencé par Arcane::Materials::MeshMaterialVariableSynchronizerList::add().

◆ removeDepend() [1/2]

void Arcane::Materials::MeshMaterialVariable::removeDepend ( IMeshMaterialVariable var)
overridevirtual

Supprime var de la liste des dépendances.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 400 du fichier MeshMaterialVariable.cc.

◆ removeDepend() [2/2]

void Arcane::Materials::MeshMaterialVariable::removeDepend ( IVariable var)
overridevirtual

Supprime var de la liste des dépendances.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 419 du fichier MeshMaterialVariable.cc.

◆ removeVariableRef()

void Arcane::Materials::MeshMaterialVariable::removeVariableRef ( MeshMaterialVariableRef var_ref)
overridevirtual

Supprime une référence à cette variable.

Précondition
var_ref doit référencer cette variable (un appel à addVariableRef() doit avoir été effectué sur cette variable).

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 237 du fichier MeshMaterialVariable.cc.

Références ARCANE_FATAL, Arcane::Materials::MeshMaterialVariableRef::nextReference(), et Arcane::Materials::MeshMaterialVariableRef::previousReference().

◆ setComputeFunction()

void Arcane::Materials::MeshMaterialVariable::setComputeFunction ( IMeshMaterialVariableComputeFunction v)
overridevirtual

Positionne la fonction de recalcule de la variable.

Si une fonction de recalcule existait déjà, elle est détruite et remplacée par celle-ci.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 426 du fichier MeshMaterialVariable.cc.

◆ setKeepOnChange()

void Arcane::Materials::MeshMaterialVariable::setKeepOnChange ( bool  v)
overridevirtual

Indique si on souhaite conserver la valeur de la variable apres un changement de la liste des matériaux.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 309 du fichier MeshMaterialVariable.cc.

◆ setUpToDate()

void Arcane::Materials::MeshMaterialVariable::setUpToDate ( IMeshMaterial mat)
overridevirtual

Indique que la variable vient d'être mise à jour.

Pour une gestion correcte des dépendances, il faut que cette propriété soit appelée toutes les fois où la mise à jour d'une variable a été effectuée.

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 374 du fichier MeshMaterialVariable.cc.

Références Arcane::Materials::IMeshComponent::id().

◆ space()

MatVarSpace Arcane::Materials::MeshMaterialVariable::space ( ) const
overridevirtual

Espace de définition de la variable (matériau+milieu ou milieu uniquement)

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 460 du fichier MeshMaterialVariable.cc.

Référencé par Arcane::Materials::MeshMaterialVariableSynchronizerList::add().

◆ update()

void Arcane::Materials::MeshMaterialVariable::update ( IMeshMaterial mat)
overridevirtual

Recalcule la variable pour le matériau mat si nécessaire.

Par le mécanisme de dépendances, cette opération est appelée récursivement sur toutes les variables dont dépend l'instance. La fonction de recalcul computeFunction() est ensuite appelée s'il s'avère qu'une des variables dont elle dépend a été modifiée plus récemment.

Précondition
computeFunction() != 0

Implémente Arcane::Materials::IMeshMaterialVariable.

Définition à la ligne 327 du fichier MeshMaterialVariable.cc.

Références ARCANE_FATAL, Arcane::Materials::IMeshMaterialVariableComputeFunction::execute(), et Arcane::Materials::IMeshComponent::id().

Documentation des données membres

◆ m_p

MeshMaterialVariablePrivate* Arcane::Materials::MeshMaterialVariable::m_p = nullptr
protected

Définition à la ligne 143 du fichier MeshMaterialVariable.h.

◆ m_views_as_bytes

UniqueArray<Span<std::byte> > Arcane::Materials::MeshMaterialVariable::m_views_as_bytes
protected

Définition à la ligne 144 du fichier MeshMaterialVariable.h.


La documentation de cette classe a été générée à partir des fichiers suivants :