Milieu d'un maillage. Plus de détails...
#include <arcane/materials/internal/MeshEnvironment.h>
Classes | |
class | InternalApi |
Fonctions membres publiques | |
MeshEnvironment (IMeshMaterialMng *mm, const String &name, Int16 env_id) | |
IMeshMaterialMng * | materialMng () override |
Gestionnaire associé. | |
ITraceMng * | traceMng () override |
Gestionnaire de trace associé. | |
String | name () const override |
Nom du composant. | |
CellGroup | cells () const override |
Groupe des mailles de ce matériau. | |
ConstArrayView< IMeshMaterial * > | materials () override |
Liste des matériaux de ce milieu. | |
Integer | nbMaterial () const override |
Nombre de matériaux dans le milieu. | |
MeshMaterialVariableIndexer * | variableIndexer () const |
ConstituentItemLocalIdListView | constituentItemListView () const |
Int32 | id () const override |
Identifiant du composant. | |
IUserMeshEnvironment * | userEnvironment () const override |
Identifiant du milieu. Il s'agit aussi de l'indice (en commencant par 0) de ce milieu dans la liste des milieux. | |
void | setUserEnvironment (IUserMeshEnvironment *umm) override |
Positionne le milieu utilisateur associé | |
ComponentCell | findComponentCell (AllEnvCell c) const override |
Maille de ce composant pour la maille c. | |
EnvCell | findEnvCell (AllEnvCell c) const override |
Maille de ce milieu pour la maille c. | |
ComponentItemVectorView | view () const override |
Vue associée à ce composant. | |
EnvItemVectorView | envView () const override |
Vue associée à ce milieu. | |
void | checkValid () override |
Vérifie que le composant est valide. | |
bool | isMaterial () const override |
Vrai si le composant est un matériau. | |
bool | isEnvironment () const override |
Vrai si le composant est un milieu. | |
bool | hasSpace (MatVarSpace space) const override |
Indique si le composant est défini pour l'espace space. | |
IMeshMaterial * | asMaterial () override |
Retourne le composant sous la forme d'un IMeshMaterial. | |
IMeshEnvironment * | asEnvironment () override |
Retourne le composant sous la forme d'un IMeshMaterial. | |
ComponentPurePartItemVectorView | pureItems () const override |
Vue sur la liste des entités pures (associées à la maille globale) du composant. | |
ComponentImpurePartItemVectorView | impureItems () const override |
Vue sur la liste des entités impures (partielles) partielles du composant. | |
ComponentPartItemVectorView | partItems (eMatPart part) const override |
Vue sur la partie pure ou impure des entités du composant. | |
EnvPurePartItemVectorView | pureEnvItems () const override |
Vue sur la liste des entités pures (associées à la maille globale) du milieu. | |
EnvImpurePartItemVectorView | impureEnvItems () const override |
Vue sur la liste des entités impures (partielles) partielles du milieu. | |
EnvPartItemVectorView | partEnvItems (eMatPart part) const override |
Vue sur la partie pure ou impure des entités du milieu. | |
bool | isMonoMaterial () const |
Indique si le milieu est mono-matériau. | |
IMeshComponentInternal * | _internalApi () override |
API interne. | |
void | setConstituentItem (Int32 index, ConstituentItemIndex id) |
Int16 | componentId () const |
void | build () |
Fonctions publiques mais réservées au IMeshMaterialMng. | |
void | addMaterial (MeshMaterial *mm) |
void | setVariableIndexer (MeshMaterialVariableIndexer *idx) |
void | computeNbMatPerCell () |
Recalcule le nombre de mailles par matériau et de mailles totales. | |
void | computeItemListForMaterials (const ConstituentConnectivityList &connectivity_list) |
Calcul pour les mailles des matériaux du milieu leur emplacement dans le tableau d'indexation des variables. | |
Integer | totalNbCellMat () const |
Nombre total de mailles pour tous les matériaux. | |
void | addToTotalNbCellMat (Int32 v) |
void | resizeItemsInternal (Integer nb_item) |
void | computeMaterialIndexes (ComponentItemInternalData *item_internal_data, RunQueue &queue) |
Calcul les infos sur les matériaux. | |
void | notifyLocalIdsChanged (Int32ConstArrayView old_to_new_ids) |
MeshComponentData * | componentData () |
ConstArrayView< MeshMaterial * > | trueMaterials () |
void | setMatInternalDataRange (ComponentItemInternalRange v) |
void | _computeMaterialIndexes (ComponentItemInternalData *item_internal_data, RunQueue &queue) |
void | _computeMaterialIndexesMonoMat (ComponentItemInternalData *item_internal_data, RunQueue &queue) |
Calcul les infos sur les matériaux en mono-matériaux. | |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres privées | |
void | _changeIds (MeshComponentData *component_data, Int32ConstArrayView old_to_new_ids) |
Attributs privés | |
IMeshMaterialMng * | m_material_mng = nullptr |
Gestionnaire de matériaux. | |
IUserMeshEnvironment * | m_user_environment = nullptr |
UniqueArray< IMeshMaterial * > | m_materials |
UniqueArray< MeshMaterial * > | m_true_materials |
Integer | m_total_nb_cell_mat = 0 |
Nombre total de mailles pour tous les matériaux. | |
IItemGroupObserver * | m_group_observer = nullptr |
MeshComponentData | m_data |
MeshEnvironment * | m_non_const_this = nullptr |
InternalApi | m_internal_api |
ComponentItemInternalRange | m_mat_internal_data_range |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Milieu d'un maillage.
Cette classe est à usage interne à Arcane et ne doit pas être utilisée explicitement. Il faut utiliser l'interface IMeshEnvironment pour accéder aux milieux.
Définition à la ligne 51 du fichier MeshEnvironment.h.
Arcane::Materials::MeshEnvironment::MeshEnvironment | ( | IMeshMaterialMng * | mm, |
const String & | name, | ||
Int16 | env_id | ||
) |
Définition à la ligne 115 du fichier MeshEnvironment.cc.
|
private |
Définition à la ligne 496 du fichier MeshEnvironment.cc.
void Arcane::Materials::MeshEnvironment::_computeMaterialIndexes | ( | ComponentItemInternalData * | item_internal_data, |
RunQueue & | queue | ||
) |
Définition à la ligne 221 du fichier MeshEnvironment.cc.
void Arcane::Materials::MeshEnvironment::_computeMaterialIndexesMonoMat | ( | ComponentItemInternalData * | item_internal_data, |
RunQueue & | queue | ||
) |
Calcul les infos sur les matériaux en mono-matériaux.
Spécialisation pour le cas où le milieu n'a qu'un matériau.
Définition à la ligne 341 du fichier MeshEnvironment.cc.
Références Arccore::TraceAccessor::info(), Arcane::Accelerator::makeCommand(), RUNCOMMAND_LOOP1, et Arcane::Accelerator::viewIn().
Référencé par computeMaterialIndexes().
|
inlineoverridevirtual |
API interne.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 142 du fichier MeshEnvironment.h.
void Arcane::Materials::MeshEnvironment::addMaterial | ( | MeshMaterial * | mm | ) |
Définition à la ligne 151 du fichier MeshEnvironment.cc.
|
inline |
Définition à la ligne 166 du fichier MeshEnvironment.h.
|
inlineoverridevirtual |
Retourne le composant sous la forme d'un IMeshMaterial.
Si isEnvironment()==false, retourne nullptr
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 127 du fichier MeshEnvironment.h.
|
inlineoverridevirtual |
Retourne le composant sous la forme d'un IMeshMaterial.
Si isMaterial()==false, retourne nullptr
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 126 du fichier MeshEnvironment.h.
void Arcane::Materials::MeshEnvironment::build | ( | ) |
Fonctions publiques mais réservées au IMeshMaterialMng.
Définition à la ligne 131 du fichier MeshEnvironment.cc.
Références Arcane::ItemGroup::_internalApi(), Arcane::ItemGroupImpl::attachObserver(), Arcane::IMeshBase::cellFamily(), cells(), Arcane::ItemGroup::internal(), Arcane::Materials::IMeshMaterialMng::isMeshModificationNotified(), m_material_mng, Arcane::Materials::IMeshMaterialMng::mesh(), Arcane::Materials::IMeshMaterialMng::name(), name(), Arcane::ItemGroupImplInternal::setAsConstituentGroup(), et traceMng().
Référencé par Arcane::Materials::MeshMaterialMng::createEnvironment().
|
inlineoverridevirtual |
Groupe des mailles de ce matériau.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 87 du fichier MeshEnvironment.h.
Référencé par build(), computeItemListForMaterials(), et isMonoMaterial().
|
overridevirtual |
Vérifie que le composant est valide.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 616 du fichier MeshEnvironment.cc.
Références Arcane::arcaneIsCheck().
|
inline |
Définition à la ligne 171 du fichier MeshEnvironment.h.
|
inline |
Définition à la ligne 150 du fichier MeshEnvironment.h.
void Arcane::Materials::MeshEnvironment::computeItemListForMaterials | ( | const ConstituentConnectivityList & | connectivity_list | ) |
Calcul pour les mailles des matériaux du milieu leur emplacement dans le tableau d'indexation des variables.
Définition à la ligne 391 du fichier MeshEnvironment.cc.
Références Arcane::Materials::ComponentItemListBuilderOld::addPartialItem(), Arcane::Materials::ComponentItemListBuilderOld::addPureItem(), cells(), ENUMERATE_CELL, Arccore::TraceAccessor::info(), Arcane::ItemGroup::name(), Arcane::ItemGroup::size(), et traceMng().
void Arcane::Materials::MeshEnvironment::computeMaterialIndexes | ( | ComponentItemInternalData * | item_internal_data, |
RunQueue & | queue | ||
) |
Calcul les infos sur les matériaux.
Cette méthode est appelée par le MeshMaterialMng et doit être appelée une fois que les m_items_internal ont été mis à jour et computeNbMatPerCell() et computeItemListForMaterials() ont été appelées
Définition à la ligne 206 du fichier MeshEnvironment.cc.
Références _computeMaterialIndexesMonoMat(), Arccore::TraceAccessor::info(), isMonoMaterial(), et name().
void Arcane::Materials::MeshEnvironment::computeNbMatPerCell | ( | ) |
Recalcule le nombre de mailles par matériau et de mailles totales.
Définition à la ligne 183 du fichier MeshEnvironment.cc.
Références Arccore::TraceAccessor::info(), m_total_nb_cell_mat, et name().
|
inline |
Définition à la ligne 100 du fichier MeshEnvironment.h.
|
overridevirtual |
Vue associée à ce milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 534 du fichier MeshEnvironment.cc.
Référencé par view().
|
overridevirtual |
Maille de ce composant pour la maille c.
Si le composant n'est pas présent dans la présent dans la maille, la maille nulle est retournée.
Le coût de cette fonction est proportionnel au nombre de composants présents dans la maille.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 525 du fichier MeshEnvironment.cc.
Références findEnvCell().
|
overridevirtual |
Maille de ce milieu pour la maille c.
Si ce milieu n'est pas présent dans la présent dans la maille, la maille milieu nulle est retournée.
Le coût de cette fonction est proportionnel au nombre de matériaux présents dans la maille.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 509 du fichier MeshEnvironment.cc.
Références ENUMERATE_CELL_ENVCELL.
Référencé par findComponentCell().
|
inlineoverridevirtual |
Indique si le composant est défini pour l'espace space.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 122 du fichier MeshEnvironment.h.
Références Arcane::Materials::Environment, et Arcane::Materials::MaterialAndEnvironment.
|
inlineoverridevirtual |
Identifiant du composant.
Il s'agit aussi de l'indice (en commençant par 0) de ce composant dans la liste des composants de ce type. Il existe une liste spécifique pour les matériaux et les milieux et donc un composant qui représente un matériau peut avoir le même id qu'un composant représentant un milieu.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 104 du fichier MeshEnvironment.h.
|
overridevirtual |
Vue sur la liste des entités impures (partielles) partielles du milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 598 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::impureView().
|
overridevirtual |
Vue sur la liste des entités impures (partielles) partielles du composant.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 571 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::impureView().
|
inlineoverridevirtual |
Vrai si le composant est un milieu.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 121 du fichier MeshEnvironment.h.
|
inlineoverridevirtual |
Vrai si le composant est un matériau.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 120 du fichier MeshEnvironment.h.
bool Arcane::Materials::MeshEnvironment::isMonoMaterial | ( | ) | const |
Indique si le milieu est mono-matériau.
Définition à la ligne 632 du fichier MeshEnvironment.cc.
Références cells(), nbMaterial(), Arcane::ItemGroup::size(), et totalNbCellMat().
Référencé par computeMaterialIndexes().
|
inlineoverridevirtual |
Gestionnaire associé.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 84 du fichier MeshEnvironment.h.
Références m_material_mng.
Référencé par Arcane::Materials::MeshEnvironmentObserver::executeExtend(), et Arcane::Materials::MeshEnvironmentObserver::executeReduce().
|
inlineoverridevirtual |
Liste des matériaux de ce milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 88 du fichier MeshEnvironment.h.
Référencé par Arcane::Materials::MeshMaterialMng::createEnvironment().
|
inlineoverridevirtual |
Nom du composant.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 86 du fichier MeshEnvironment.h.
Référencé par build(), computeMaterialIndexes(), computeNbMatPerCell(), Arcane::Materials::MeshMaterialMng::createEnvironment(), Arcane::Materials::MeshEnvironmentObserver::executeCompact(), Arcane::Materials::MeshEnvironmentObserver::executeExtend(), Arcane::Materials::MeshEnvironmentObserver::executeInvalidate(), et Arcane::Materials::MeshEnvironmentObserver::executeReduce().
|
inlineoverridevirtual |
Nombre de matériaux dans le milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 92 du fichier MeshEnvironment.h.
Référencé par isMonoMaterial().
void Arcane::Materials::MeshEnvironment::notifyLocalIdsChanged | ( | Int32ConstArrayView | old_to_new_ids | ) |
Définition à la ligne 430 du fichier MeshEnvironment.cc.
|
overridevirtual |
Vue sur la partie pure ou impure des entités du milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 607 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::partView().
|
overridevirtual |
Vue sur la partie pure ou impure des entités du composant.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 580 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::partView().
|
overridevirtual |
Vue sur la liste des entités pures (associées à la maille globale) du milieu.
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 589 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::pureView().
|
overridevirtual |
Vue sur la liste des entités pures (associées à la maille globale) du composant.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 562 du fichier MeshEnvironment.cc.
Références Arcane::Materials::MeshComponentPartData::pureView().
void Arcane::Materials::MeshEnvironment::resizeItemsInternal | ( | Integer | nb_item | ) |
Définition à la ligne 553 du fichier MeshEnvironment.cc.
|
inline |
Définition à la ligne 146 du fichier MeshEnvironment.h.
|
inline |
Définition à la ligne 177 du fichier MeshEnvironment.h.
|
inlineoverridevirtual |
Positionne le milieu utilisateur associé
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 110 du fichier MeshEnvironment.h.
void Arcane::Materials::MeshEnvironment::setVariableIndexer | ( | MeshMaterialVariableIndexer * | idx | ) |
Définition à la ligne 161 du fichier MeshEnvironment.cc.
|
inline |
Nombre total de mailles pour tous les matériaux.
Définition à la ligne 165 du fichier MeshEnvironment.h.
Références m_total_nb_cell_mat.
Référencé par isMonoMaterial().
|
inlineoverridevirtual |
Gestionnaire de trace associé.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 85 du fichier MeshEnvironment.h.
Références Arccore::TraceAccessor::traceMng().
Référencé par build(), et computeItemListForMaterials().
|
inline |
Définition à la ligne 173 du fichier MeshEnvironment.h.
|
inlineoverridevirtual |
Identifiant du milieu. Il s'agit aussi de l'indice (en commencant par 0) de ce milieu dans la liste des milieux.
Milieu utilisateur associé
Implémente Arcane::Materials::IMeshEnvironment.
Définition à la ligne 109 du fichier MeshEnvironment.h.
|
inline |
Définition à la ligne 96 du fichier MeshEnvironment.h.
|
overridevirtual |
Vue associée à ce composant.
Implémente Arcane::Materials::IMeshComponent.
Définition à la ligne 544 du fichier MeshEnvironment.cc.
Références envView().
|
private |
Définition à la ligne 193 du fichier MeshEnvironment.h.
|
private |
Définition à la ligne 192 du fichier MeshEnvironment.h.
|
private |
Définition à la ligne 195 du fichier MeshEnvironment.h.
|
private |
Définition à la ligne 196 du fichier MeshEnvironment.h.
|
private |
Gestionnaire de matériaux.
Définition à la ligne 183 du fichier MeshEnvironment.h.
Référencé par build(), et materialMng().
|
private |
Définition à la ligne 187 du fichier MeshEnvironment.h.
|
private |
Définition à la ligne 194 du fichier MeshEnvironment.h.
|
private |
Nombre total de mailles pour tous les matériaux.
Définition à la ligne 191 du fichier MeshEnvironment.h.
Référencé par computeNbMatPerCell(), et totalNbCellMat().
|
private |
Définition à la ligne 188 du fichier MeshEnvironment.h.
|
private |
Définition à la ligne 185 du fichier MeshEnvironment.h.