14#include "arcane/utils/TraceAccessor.h"
15#include "arcane/utils/NotImplementedException.h"
17#include "arcane/IItemFamilyCompactPolicy.h"
18#include "arcane/ItemFamilyCompactInfos.h"
19#include "arcane/IMeshCompacter.h"
20#include "arcane/IMesh.h"
22#include "arcane/mesh/ItemFamilyPolicyMng.h"
23#include "arcane/mesh/ParticleFamilySerializer.h"
24#include "arcane/mesh/ParticleFamily.h"
30ARCANE_MESH_BEGIN_NAMESPACE
42class ParticleFamilyCompactPolicy
47 ParticleFamilyCompactPolicy(ParticleFamily*
family)
50 m_cell_family =
family->mesh()->cellFamily();
55 if (_checkWantCompact(compact_infos))
56 m_family->beginCompactItems(compact_infos);
60 if (_checkWantCompact(compact_infos))
61 m_family->compactVariablesAndGroups(compact_infos);
68 if (_checkWantCompact(compact_infos))
69 m_family->finishCompactItems(compact_infos);
73 ARCANE_UNUSED(compacter);
88 if (m_family->getEnableGhostItems())
91 if (families.
count()==1 && families.front()==m_family)
96 ParticleFamily* m_family;
97 IItemFamily* m_cell_family;
105class ARCANE_MESH_EXPORT ParticleFamilyPolicyMng
106:
public ItemFamilyPolicyMng
109 ParticleFamilyPolicyMng(ParticleFamily* family)
120 ParticleFamily* m_family;
126extern "C++" ARCANE_MESH_EXPORT IItemFamilyPolicyMng*
127createParticleFamilyPolicyMng(ItemFamily* family)
130 return new ParticleFamilyPolicyMng(f);
136ARCANE_MESH_END_NAMESPACE
#define ARCANE_CHECK_POINTER(ptr)
Macro retournant le pointeur ptr s'il est non nul ou lancant une exception s'il est nul.
Integer count() const
Nombre d'éléments de la collection.
Politique de compactage des entités.
Gère la sérialisation/désérialisation des entités d'une famille.
Interface d'une famille d'entités.
Gestion d'un compactage de familles du maillage.
virtual ItemFamilyCollection families() const =0
Familles dont les entités sont compactées.
Informations pour gérer le compactage des entités d'une famille.
Exception lorsqu'une opération n'est pas supportée.
Politique de compactage pour les particules.
IItemFamily * family() const override
Famille associée.
void compactConnectivityData() override
Compacte les données sur les connectivités.
IItemFamilySerializer * createSerializer(bool use_flags) override
Créé une instance pour la sérialisation des entités. L'instance retournée doit être détruite par l'op...
Sérialisation/Désérialisation des familles de liens.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Collection< IItemFamily * > ItemFamilyCollection
Collection de familles d'entités.