Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::mesh::MeshCompacter Class Reference

Management of mesh family compaction. More...

#include <arcane/mesh/MeshCompacter.h>

Inheritance diagram for Arcane::mesh::MeshCompacter:
Collaboration diagram for Arcane::mesh::MeshCompacter:

Public Member Functions

IMeshmesh () const override
 Mesh associated with this compacter.
void doAllActions () override
 Executes all compaction actions successively.
void beginCompact () override
void compactVariablesAndGroups () override
void updateInternalReferences () override
void endCompact () override
void finalizeCompact () override
const ItemFamilyCompactInfosfindCompactInfos (IItemFamily *family) const override
 Compaction information for the family family.
ePhase phase () const override
 The exchange phase in which we are located.
bool isSorted () const override
 Indicates whether it wishes to sort the entities in addition to compacting them.
ItemFamilyCollection families () const override
 Families whose entities are compacted.
void setSorted (bool v) override
 Indicates whether entities should be sorted during compaction.
void _setCompactVariablesAndGroups (bool v) override
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Public Member Functions inherited from Arcane::IMeshCompacter
virtual ~IMeshCompacter ()=default
 Frees resources.

Private Types

typedef std::map< IItemFamily *, ItemFamilyCompactInfos * > ItemFamilyCompactInfosMap

Private Member Functions

 MeshCompacter (IMesh *mesh, ITimeStats *stats)
 MeshCompacter (IItemFamily *family, ITimeStats *stats)
void build ()
void _checkPhase (ePhase wanted_phase)
void _addFamily (IItemFamily *family)

Private Attributes

IMeshm_mesh
ItemFamilyCompactInfosMap m_family_compact_infos_map
ITimeStatsm_time_stats
ePhase m_phase
bool m_is_sorted
bool m_is_compact_variables_and_groups
List< IItemFamily * > m_item_families

Friends

class MeshCompactMng

Additional Inherited Members

Public Types inherited from Arcane::IMeshCompacter
enum class  ePhase {
  Init = 0 , BeginCompact , CompactVariableAndGroups , UpdateInternalReferences ,
  EndCompact , Finalize , Ended
}
 Indicates the different phases of compaction. More...
Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Management of mesh family compaction.

Instances of this class are created by calling MeshCompactMng::beginCompact().

Definition at line 53 of file MeshCompacter.h.

Member Typedef Documentation

◆ ItemFamilyCompactInfosMap

typedef std::map<IItemFamily*, ItemFamilyCompactInfos*> Arcane::mesh::MeshCompacter::ItemFamilyCompactInfosMap
private

Definition at line 61 of file MeshCompacter.h.

Constructor & Destructor Documentation

◆ MeshCompacter() [1/2]

Arcane::mesh::MeshCompacter::MeshCompacter ( IMesh * mesh,
ITimeStats * stats )
private

Definition at line 32 of file MeshCompacter.cc.

◆ MeshCompacter() [2/2]

Arcane::mesh::MeshCompacter::MeshCompacter ( IItemFamily * family,
ITimeStats * stats )
private

Definition at line 49 of file MeshCompacter.cc.

◆ ~MeshCompacter()

Arcane::mesh::MeshCompacter::~MeshCompacter ( )
private

Definition at line 64 of file MeshCompacter.cc.

Member Function Documentation

◆ _addFamily()

void Arcane::mesh::MeshCompacter::_addFamily ( IItemFamily * family)
private

Definition at line 77 of file MeshCompacter.cc.

◆ _checkPhase()

void Arcane::mesh::MeshCompacter::_checkPhase ( ePhase wanted_phase)
private

Definition at line 98 of file MeshCompacter.cc.

◆ _setCompactVariablesAndGroups()

void Arcane::mesh::MeshCompacter::_setCompactVariablesAndGroups ( bool v)
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 268 of file MeshCompacter.cc.

◆ beginCompact()

void Arcane::mesh::MeshCompacter::beginCompact ( )
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 109 of file MeshCompacter.cc.

◆ build()

void Arcane::mesh::MeshCompacter::build ( )
private

Definition at line 89 of file MeshCompacter.cc.

◆ compactVariablesAndGroups()

void Arcane::mesh::MeshCompacter::compactVariablesAndGroups ( )
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 137 of file MeshCompacter.cc.

◆ doAllActions()

void Arcane::mesh::MeshCompacter::doAllActions ( )
overridevirtual

Executes all compaction actions successively.

Implements Arcane::IMeshCompacter.

Definition at line 245 of file MeshCompacter.cc.

◆ endCompact()

void Arcane::mesh::MeshCompacter::endCompact ( )
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 180 of file MeshCompacter.cc.

◆ families()

ItemFamilyCollection Arcane::mesh::MeshCompacter::families ( ) const
overridevirtual

Families whose entities are compacted.

Implements Arcane::IMeshCompacter.

Definition at line 278 of file MeshCompacter.cc.

◆ finalizeCompact()

void Arcane::mesh::MeshCompacter::finalizeCompact ( )
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 202 of file MeshCompacter.cc.

◆ findCompactInfos()

const ItemFamilyCompactInfos * Arcane::mesh::MeshCompacter::findCompactInfos ( IItemFamily * family) const
overridevirtual

Compaction information for the family family.

The returned pointer may be null if the specified family is not part of the compacted families.

Implements Arcane::IMeshCompacter.

Definition at line 224 of file MeshCompacter.cc.

◆ isSorted()

bool Arcane::mesh::MeshCompacter::isSorted ( ) const
inlineoverridevirtual

Indicates whether it wishes to sort the entities in addition to compacting them.

Implements Arcane::IMeshCompacter.

Definition at line 84 of file MeshCompacter.h.

◆ mesh()

IMesh * Arcane::mesh::MeshCompacter::mesh ( ) const
overridevirtual

Mesh associated with this compacter.

Implements Arcane::IMeshCompacter.

Definition at line 236 of file MeshCompacter.cc.

◆ phase()

ePhase Arcane::mesh::MeshCompacter::phase ( ) const
inlineoverridevirtual

The exchange phase in which we are located.

Implements Arcane::IMeshCompacter.

Definition at line 83 of file MeshCompacter.h.

◆ setSorted()

void Arcane::mesh::MeshCompacter::setSorted ( bool v)
overridevirtual

Indicates whether entities should be sorted during compaction.

Precondition
phase()==ePhase::Init.

Implements Arcane::IMeshCompacter.

Definition at line 258 of file MeshCompacter.cc.

◆ updateInternalReferences()

void Arcane::mesh::MeshCompacter::updateInternalReferences ( )
overridevirtual

Implements Arcane::IMeshCompacter.

Definition at line 159 of file MeshCompacter.cc.

◆ MeshCompactMng

friend class MeshCompactMng
friend

Definition at line 57 of file MeshCompacter.h.

Member Data Documentation

◆ m_family_compact_infos_map

ItemFamilyCompactInfosMap Arcane::mesh::MeshCompacter::m_family_compact_infos_map
private

Definition at line 95 of file MeshCompacter.h.

◆ m_is_compact_variables_and_groups

bool Arcane::mesh::MeshCompacter::m_is_compact_variables_and_groups
private

Definition at line 99 of file MeshCompacter.h.

◆ m_is_sorted

bool Arcane::mesh::MeshCompacter::m_is_sorted
private

Definition at line 98 of file MeshCompacter.h.

◆ m_item_families

List<IItemFamily*> Arcane::mesh::MeshCompacter::m_item_families
private

Definition at line 100 of file MeshCompacter.h.

◆ m_mesh

IMesh* Arcane::mesh::MeshCompacter::m_mesh
private

Definition at line 94 of file MeshCompacter.h.

◆ m_phase

ePhase Arcane::mesh::MeshCompacter::m_phase
private

Definition at line 97 of file MeshCompacter.h.

◆ m_time_stats

ITimeStats* Arcane::mesh::MeshCompacter::m_time_stats
private

Definition at line 96 of file MeshCompacter.h.


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