Classe de base des variables matériaux de avec les caractéristiques spécifiées par Traits. Plus de détails...
#include <arcane/materials/MeshMaterialVariable.h>
Types publics | |
using | TraitsType = Traits |
using | ValueType = typename Traits::ValueType |
using | DataType = typename Traits::ValueType |
using | ThatClass = ItemMaterialVariableBase< Traits > |
using | SubViewType = typename Traits::SubViewType |
using | SubConstViewType = typename Traits::SubConstViewType |
using | SubInputViewType = typename Traits::SubInputViewType |
using | ContainerSpanType = typename Traits::ContainerSpanType |
using | ContainerViewType = typename Traits::ContainerViewType |
using | ContainerConstViewType = typename Traits::ContainerConstViewType |
using | PrivatePartType = typename Traits::PrivatePartType |
using | ValueDataType = typename Traits::ValueDataType |
using | ContainerType = typename Traits::ContainerType |
using | UniqueContainerType = typename Traits::UniqueContainerType |
using | VariableRefType = typename Traits::VariableRefType |
Fonctions membres publiques | |
ItemMaterialVariableBase (const MaterialVariableBuildInfo &v, PrivatePartType *global_var, VariableRef *global_var_ref, MatVarSpace mvs) | |
void | syncReferences () override |
Synchronise les références. | |
IVariable * | globalVariable () const override |
Variable globale sur le maillage associée. | |
void | buildFromManager (bool is_continue) override |
Construit les infos de la variable. A usage interne à Arcane. | |
Ref< IData > | _internalCreateSaveDataRef (Integer nb_value) override |
void | _saveData (IMeshComponent *env, 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 |
void | fillPartialValuesWithGlobalValues () override |
Remplit les valeurs partielles avec la valeur de la maille globale associée. | |
void | fillPartialValuesWithSuperValues (Int32 level) override |
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(). | |
void | setValue (MatVarIndex mvi, SubInputViewType v) |
void | setFillValue (MatVarIndex mvi, const DataType &v) |
SubConstViewType | value (MatVarIndex mvi) const |
Fonctions membres publiques hérités de Arcane::Materials::MeshMaterialVariable | |
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. | |
MeshMaterialVariableRef * | firstReference () const override |
IVariable * | materialVariable (IMeshMaterial *mat) override |
Variable contenant les valeurs spécifiques du matériau mat. | |
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) | |
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. | |
IMeshMaterialVariableComputeFunction * | computeFunction () 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 |
virtual Int32 | dataTypeSize () const =0 |
void | incrementReference () |
Fonctions membres publiques hérités de Arcane::Materials::IMeshMaterialVariable | |
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 | serialize (ISerializer *sbuffer, Int32ConstArrayView ids)=0 |
Sérialise la variable pour les entités de numéro local ids. | |
Fonctions membres protégées | |
void | _syncFromGlobalVariable () |
PrivatePartType * | _trueGlobalVariable () |
void | _init (ArrayView< PrivatePartType * > vars) |
void | _fillPartialValuesWithSuperValues (MeshComponentList components) |
void | _syncReferences (bool check_resize) override |
void | _resizeForIndexer (ResizeVariableIndexerArgs &args) override |
void | _copyHostViewsToViews (RunQueue *queue) |
void | _setView (Int32 index) |
Positionne les vues à partir du conteneur. | |
Fonctions membres protégées hérités de Arcane::Materials::MeshMaterialVariable | |
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) |
Attributs protégés | |
PrivatePartType * | m_global_variable = nullptr |
VariableRef * | m_global_variable_ref = nullptr |
UniqueArray< PrivatePartType * > | m_vars |
Variables pour les différents matériaux. | |
UniqueArray< ContainerViewType > | m_device_views |
Liste des vues visibles uniquement depuis l'accélérateur. | |
UniqueArray< ContainerViewType > | m_host_views |
Liste des vues visibles uniquement depuis l'ĥote. | |
Attributs protégés hérités de Arcane::Materials::MeshMaterialVariable | |
MeshMaterialVariablePrivate * | m_p = nullptr |
UniqueArray< Span< std::byte > > | m_views_as_bytes |
Fonctions membres privées | |
bool | _isValidAndUsedAndGlobalUsed (PrivatePartType *partial_var) |
Membres hérités additionnels | |
Fonctions membres publiques statiques hérités de Arcane::Materials::MeshMaterialVariable | |
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) |
Classe de base des variables matériaux de avec les caractéristiques spécifiées par Traits.
Définition à la ligne 283 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ContainerConstViewType = typename Traits::ContainerConstViewType |
Définition à la ligne 298 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ContainerSpanType = typename Traits::ContainerSpanType |
Définition à la ligne 296 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ContainerType = typename Traits::ContainerType |
Définition à la ligne 301 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ContainerViewType = typename Traits::ContainerViewType |
Définition à la ligne 297 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::DataType = typename Traits::ValueType |
Définition à la ligne 290 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::PrivatePartType = typename Traits::PrivatePartType |
Définition à la ligne 299 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::SubConstViewType = typename Traits::SubConstViewType |
Définition à la ligne 294 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::SubInputViewType = typename Traits::SubInputViewType |
Définition à la ligne 295 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::SubViewType = typename Traits::SubViewType |
Définition à la ligne 293 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ThatClass = ItemMaterialVariableBase<Traits> |
Définition à la ligne 291 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::TraitsType = Traits |
Définition à la ligne 288 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::UniqueContainerType = typename Traits::UniqueContainerType |
Définition à la ligne 302 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ValueDataType = typename Traits::ValueDataType |
Définition à la ligne 300 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::ValueType = typename Traits::ValueType |
Définition à la ligne 289 du fichier MeshMaterialVariable.h.
using Arcane::Materials::ItemMaterialVariableBase< Traits >::VariableRefType = typename Traits::VariableRefType |
Définition à la ligne 303 du fichier MeshMaterialVariable.h.
Arcane::Materials::ItemMaterialVariableBase< Traits >::ItemMaterialVariableBase | ( | const MaterialVariableBuildInfo & | v, |
PrivatePartType * | global_var, | ||
VariableRef * | global_var_ref, | ||
MatVarSpace | mvs | ||
) |
Définition à la ligne 65 du fichier ItemMaterialVariableBaseT.H.
|
override |
Définition à la ligne 83 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 426 du fichier ItemMaterialVariableBaseT.H.
|
protected |
Définition à la ligne 408 du fichier ItemMaterialVariableBaseT.H.
|
protected |
Définition à la ligne 534 du fichier ItemMaterialVariableBaseT.H.
|
protected |
Définition à la ligne 109 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 465 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 290 du fichier ItemMaterialVariableBaseT.H.
|
private |
Définition à la ligne 362 du fichier ItemMaterialVariableBaseT.H.
|
overrideprotectedvirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 376 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 316 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 304 du fichier ItemMaterialVariableBaseT.H.
|
inlineprotected |
Positionne les vues à partir du conteneur.
La vue accélérateur n'est pas mise à jour ici mais lors de l'appel à _copyHostViewsToViews().
Définition à la ligne 387 du fichier MeshMaterialVariable.h.
Références Arcane::Materials::ItemMaterialVariableBase< Traits >::m_host_views, et Arcane::Materials::ItemMaterialVariableBase< Traits >::m_vars.
|
protected |
Définition à la ligne 219 du fichier ItemMaterialVariableBaseT.H.
|
overrideprotectedvirtual |
Implémente Arcane::Materials::MeshMaterialVariable.
Définition à la ligne 260 du fichier ItemMaterialVariableBaseT.H.
|
inlineprotected |
Définition à la ligne 353 du fichier MeshMaterialVariable.h.
|
overridevirtual |
Construit les infos de la variable. A usage interne à Arcane.
Implémente Arcane::Materials::IMeshMaterialVariable.
Définition à la ligne 147 du fichier ItemMaterialVariableBaseT.H.
Références ARCANE_CHECK_POINTER, Arcane::Materials::MeshMaterialVariableIndexer::isEnvironment(), Arcane::Materials::MeshMaterialVariableIndexer::maxIndexInMultipleArray(), et Arcane::Materials::MeshMaterialVariableIndexer::name().
|
overridevirtual |
Remplit les valeurs partielles avec la valeur de la maille globale associée.
Implémente Arcane::Materials::IMeshMaterialVariable.
Définition à la ligne 503 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
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().
Implémente Arcane::Materials::IMeshMaterialVariable.
Définition à la ligne 513 du fichier ItemMaterialVariableBaseT.H.
|
overridevirtual |
Variable globale sur le maillage associée.
Implémente Arcane::Materials::IMeshMaterialVariable.
Définition à la ligne 99 du fichier ItemMaterialVariableBaseT.H.
|
inline |
Définition à la ligne 340 du fichier MeshMaterialVariable.h.
|
inline |
Définition à la ligne 335 du fichier MeshMaterialVariable.h.
|
overridevirtual |
Synchronise les références.
Synchronise les valeurs des références (VariableRef) à cette variable avec la valeur actuelle de la variable. Cette méthode est appelé automatiquement lorsque le nombre d'éléments d'une variable tableau change.
Implémente Arcane::Materials::IMeshMaterialVariable.
Définition à la ligne 250 du fichier ItemMaterialVariableBaseT.H.
|
inline |
Définition à la ligne 345 du fichier MeshMaterialVariable.h.
|
protected |
Liste des vues visibles uniquement depuis l'accélérateur.
Définition à la ligne 375 du fichier MeshMaterialVariable.h.
|
protected |
Définition à la ligne 370 du fichier MeshMaterialVariable.h.
|
protected |
Définition à la ligne 371 du fichier MeshMaterialVariable.h.
|
protected |
Liste des vues visibles uniquement depuis l'ĥote.
Définition à la ligne 377 du fichier MeshMaterialVariable.h.
Référencé par Arcane::Materials::ItemMaterialVariableBase< Traits >::_setView().
|
protected |
Variables pour les différents matériaux.
Définition à la ligne 373 du fichier MeshMaterialVariable.h.
Référencé par Arcane::Materials::ItemMaterialVariableBase< Traits >::_setView().