Gestion d'un compactage de familles du maillage. Plus de détails...
#include <arcane/core/IMeshCompacter.h>
Types publics | |
enum class | ePhase { Init = 0 , BeginCompact , CompactVariableAndGroups , UpdateInternalReferences , EndCompact , Finalize , Ended } |
Indique les différentes phases du compactage. Plus de détails... | |
Fonctions membres publiques | |
virtual void | doAllActions ()=0 |
Exécute successivement toutes les actions de compactage. | |
virtual void | beginCompact ()=0 |
virtual void | compactVariablesAndGroups ()=0 |
virtual void | updateInternalReferences ()=0 |
virtual void | endCompact ()=0 |
virtual void | finalizeCompact ()=0 |
virtual IMesh * | mesh () const =0 |
Maillage associé à ce compacter. | |
virtual const ItemFamilyCompactInfos * | findCompactInfos (IItemFamily *family) const =0 |
Informations de compactage pour la famille family. | |
virtual ePhase | phase () const =0 |
Phase de l'échange dans laquelle on se trouve. | |
virtual void | setSorted (bool v)=0 |
Indique s'il faut trier les entités lors du compactage. | |
virtual bool | isSorted () const =0 |
Indique si souhaite trier les entités en plus de les compacter. | |
virtual ItemFamilyCollection | families () const =0 |
Familles dont les entités sont compactées. | |
virtual void | _setCompactVariablesAndGroups (bool v)=0 |
Gestion d'un compactage de familles du maillage.
Les instances de cette classe sont créée via le gestionnnaire IMeshCompactMng. Un seul compactage peut avoir lieu à la fois.
Par compactage, on entend toute modification de la numérotation locale des entités d'une famille. Il peut donc rester des trous dans la numérotation après appel à un compactage (même si actuellement ce n'est pas le cas des implémentations disponibles dans Arcane).
Le compactage concerne soit toutes les familles d'un maillage, soit une seule famille. La méthode families() permet de retourner la liste des familles compactées.
Même si une famille n'est pas compactée directement elle participe à certaines opérations du compactage car elle peut faire référence à des entités compactées.
Les différentes opérations d'un compactage sont les suivantes:
La méthode doAllActions() permet de faire toutes ces phases en une seule fois. C'est la méthode recommandé pour effectuer un compactage. Le code suivant montre comment effectuer un compactage sur toutes les familles:
Définition à la ligne 88 du fichier IMeshCompacter.h.
Indique les différentes phases du compactage.
Définition à la ligne 92 du fichier IMeshCompacter.h.
|
inlinevirtual |
Définition à la ligne 104 du fichier IMeshCompacter.h.
Implémenté dans Arcane::MeshCompacter.
Exécute successivement toutes les actions de compactage.
Implémenté dans Arcane::MeshCompacter.
Référencé par Arcane::mesh::ItemFamily::_compactItems().
|
pure virtual |
Familles dont les entités sont compactées.
Implémenté dans Arcane::MeshCompacter.
|
pure virtual |
Informations de compactage pour la famille family.
Le pointeur retourné peut être nul si la famille spécifiée ne fait pas partie des familles compactées.
Implémenté dans Arcane::MeshCompacter.
Indique si souhaite trier les entités en plus de les compacter.
Implémenté dans Arcane::MeshCompacter.
Maillage associé à ce compacter.
Implémenté dans Arcane::MeshCompacter.
Phase de l'échange dans laquelle on se trouve.
Implémenté dans Arcane::MeshCompacter.
Indique s'il faut trier les entités lors du compactage.
Implémenté dans Arcane::MeshCompacter.
Référencé par Arcane::mesh::ItemFamily::_compactItems().