Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IItemFamilyCompactPolicy Class Referenceabstract

Entity compaction policy. More...

#include <arcane/core/IItemFamilyCompactPolicy.h>

Inheritance diagram for Arcane::IItemFamilyCompactPolicy:
Collaboration diagram for Arcane::IItemFamilyCompactPolicy:

Public Member Functions

virtual void beginCompact (ItemFamilyCompactInfos &compact_infos)=0
virtual void compactVariablesAndGroups (const ItemFamilyCompactInfos &compact_infos)=0
virtual void updateInternalReferences (IMeshCompacter *compacter)=0
virtual void endCompact (ItemFamilyCompactInfos &compact_infos)=0
virtual void finalizeCompact (IMeshCompacter *compacter)=0
virtual IItemFamilyfamily () const =0
 Associated family.
virtual void compactConnectivityData ()=0
 Compacts the connectivity data.

Detailed Description

Entity compaction policy.

An instance of this class is associated with each family.

The call pseudo-code for a compaction is as follows:

IMesh* mesh = ...;
IMeshCompacter* compacter = ...;
ItemFamilyCollection families = mesh->itemFamilies();
for( IItemFamily* family : mesh->itemFamilies() )
policies.add( createCompactPolicity(family) );
for( ItemFamilyCompactPolicity* policy : policies)
policy->beginCompact(...);
for( ItemFamilyCompactPolicity* policy : policies)
policy->compactVariablesAndGroups(...);
for( ItemFamilyCompactPolicity* policy : policies)
policy->updateInternalReferences(compacter);
for( ItemFamilyCompactPolicity* policy : policies)
policy->endCompact(...);
void add(ConstReferenceType val)
Adds element val to the end of the array.
virtual IItemFamily * family() const =0
Associated family.
Interface of an entity family.
Definition IItemFamily.h:83
Management of mesh family compaction.
1D data vector with value semantics (STL style).
Collection< IItemFamily * > ItemFamilyCollection
Collection of item families.

Outside of a compaction, it is possible to call compactReferenceData(), which allows compacting the data used to hold connectivity information.

Definition at line 56 of file IItemFamilyCompactPolicy.h.

Member Function Documentation

◆ compactConnectivityData()

virtual void Arcane::IItemFamilyCompactPolicy::compactConnectivityData ( )
pure virtual

Compacts the connectivity data.

Implemented in Arcane::mesh::ItemFamilyCompactPolicy, and Arcane::mesh::ParticleFamilyCompactPolicy.

◆ family()

virtual IItemFamily * Arcane::IItemFamilyCompactPolicy::family ( ) const
pure virtual

The documentation for this class was generated from the following file: