12#ifndef ARCANE_MESH_MESHCOMPACTER_H
13#define ARCANE_MESH_MESHCOMPACTER_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/List.h"
19#include "arcane/IMeshCompacter.h"
20#include "arcane/mesh/MeshGlobal.h"
29class IItemFamilyCompactPolicy;
30ARCANE_MESH_BEGIN_NAMESPACE
46class ARCANE_MESH_EXPORT MeshCompacter
50 friend class MeshCompactMng;
54 typedef std::map<IItemFamily*,ItemFamilyCompactInfos*> ItemFamilyCompactInfosMap;
70 void beginCompact()
override;
71 void compactVariablesAndGroups()
override;
72 void updateInternalReferences()
override;
73 void endCompact()
override;
74 void finalizeCompact()
override;
77 bool isSorted()
const override {
return m_is_sorted; }
88 ItemFamilyCompactInfosMap m_family_compact_infos_map;
92 bool m_is_compact_variables_and_groups;
97 void _checkPhase(ePhase wanted_phase);
104ARCANE_MESH_END_NAMESPACE
Interface d'une famille d'entités.
Gestion d'un compactage de familles du maillage.
virtual IMesh * mesh() const =0
Maillage associé à ce compacter.
virtual ItemFamilyCollection families() const =0
Familles dont les entités sont compactées.
virtual void setSorted(bool v)=0
Indique s'il faut trier les entités lors du compactage.
virtual void doAllActions()=0
Exécute successivement toutes les actions de compactage.
virtual void _setCompactVariablesAndGroups(bool v)=0
virtual const ItemFamilyCompactInfos * findCompactInfos(IItemFamily *family) const =0
Informations de compactage pour la famille family.
ePhase
Indique les différentes phases du compactage.
Interface gérant les statistiques sur les temps d'exécution.
Informations pour gérer le compactage des entités d'une famille.
Implémentation d'une collection d'éléments sous forme de vecteur.
ePhase phase() const override
Phase de l'échange dans laquelle on se trouve.
bool isSorted() const override
Indique si souhaite trier les entités en plus de les compacter.
IMesh * mesh() const override
Maillage associé à ce compacter.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Collection< IItemFamily * > ItemFamilyCollection
Collection de familles d'entités.