Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ItemConnectivityMng Class Reference
Inheritance diagram for Arcane::ItemConnectivityMng:
Collaboration diagram for Arcane::ItemConnectivityMng:

Public Member Functions

 ItemConnectivityMng (ITraceMng *trace_mng)
 ~ItemConnectivityMng () override
void registerConnectivity (IItemConnectivity *connectivity) override
 Registering a connectivity.
void unregisterConnectivity (IItemConnectivity *connectivity) override
void registerConnectivity (IIncrementalItemConnectivity *connectivity) override
void unregisterConnectivity (IIncrementalItemConnectivity *connectivity) override
IItemConnectivitySynchronizercreateSynchronizer (IItemConnectivity *connectivity, IItemConnectivityGhostPolicy *connectivity_ghost_policy) override
 Creation of a synchronization object for a connectivity.
IItemConnectivitySynchronizergetSynchronizer (IItemConnectivity *connectivity) override
void setModifiedItems (IItemFamily *family, Int32ConstArrayView added_items, Int32ConstArrayView removed_items) override
 Registering modifications of an item family.
void notifyLocalIdChanged (IItemFamily *family, Int32ConstArrayView old_to_new_ids, Integer nb_item) override
 Update of modified items, possibly compacted.
bool isUpToDate (IItemConnectivity *connectivity) override
 Test if the connectivity is up to date compared to the source family and the target family.
bool isUpToDateWithSourceFamily (IItemConnectivity *connectivity) override
 relative to the source family and the target family
bool isUpToDateWithTargetFamily (IItemConnectivity *connectivity) override
 relative to the source family
void setUpToDate (IItemConnectivity *connectivity) override
 Register the connectivity as up to date compared to the two families (source and target).
bool isUpToDate (IIncrementalItemConnectivity *connectivity) override
 Test if the connectivity is up to date compared to the source family and the target family.
bool isUpToDateWithSourceFamily (IIncrementalItemConnectivity *connectivity) override
 relative to the source family and the target family
bool isUpToDateWithTargetFamily (IIncrementalItemConnectivity *connectivity) override
 relative to the source family
void setUpToDate (IIncrementalItemConnectivity *connectivity) override
 Register the connectivity as up to date compared to the two families (source and target).
void getSourceFamilyModifiedItems (IItemConnectivity *connectivity, Int32ArrayView &added_items, Int32ArrayView &removed_items) override
 Retrieval of modified items to update a connectivity.
void getTargetFamilyModifiedItems (IItemConnectivity *connectivity, Int32ArrayView &added_items, Int32ArrayView &removed_items) override
void getSourceFamilyModifiedItems (IIncrementalItemConnectivity *connectivity, Int32ArrayView &added_items, Int32ArrayView &removed_items) override
void getTargetFamilyModifiedItems (IIncrementalItemConnectivity *connectivity, Int32ArrayView &added_items, Int32ArrayView &removed_items) override
Public Member Functions inherited from Arcane::IItemConnectivityMng
virtual ~IItemConnectivityMng ()=default

Private Types

typedef std::map< const String, FamilyStateFamilyStateMap
typedef std::map< const String, ConnectivityStateConnectivityStateMap

Private Member Functions

void _register (const String &connectivity_name, const String &from_family_name, const String &to_family_name)
Integer _lastUpdateSourceFamilyState (const String &connectivity_name)
Integer _lastUpdateTargetFamilyState (const String &connectivity_name)
Integer _familyState (const String &family_name)
ConnectivityState_findConnectivity (const String &connectivity_name)
FamilyState_findFamily (const String &family_full_name)
void _getModifiedItems (ConnectivityStateData &connectivity_state, FamilyState &family_state, Int32ArrayView &added_items, Int32ArrayView &removed_items)
void _setUpToDate (ConnectivityStateData &connectivity_state, FamilyState &family_state)

Private Attributes

ITraceMngm_trace_mng
std::map< IItemConnectivity *, IItemConnectivitySynchronizer * > m_synchronizers
FamilyStateMap m_family_states
ConnectivityStateMap m_connectivity_states

Detailed Description

Definition at line 111 of file ItemConnectivityMng.h.

Member Typedef Documentation

◆ ConnectivityStateMap

typedef std::map<const String, ConnectivityState> Arcane::ItemConnectivityMng::ConnectivityStateMap
private

Definition at line 243 of file ItemConnectivityMng.h.

◆ FamilyStateMap

typedef std::map<const String, FamilyState> Arcane::ItemConnectivityMng::FamilyStateMap
private

Definition at line 241 of file ItemConnectivityMng.h.

Constructor & Destructor Documentation

◆ ItemConnectivityMng()

Arcane::ItemConnectivityMng::ItemConnectivityMng ( ITraceMng * trace_mng)
inline

Constructor of the class

Definition at line 117 of file ItemConnectivityMng.h.

◆ ~ItemConnectivityMng()

Arcane::ItemConnectivityMng::~ItemConnectivityMng ( )
inlineoverride

Destructor of the class

Definition at line 122 of file ItemConnectivityMng.h.

Member Function Documentation

◆ _familyState()

Integer Arcane::ItemConnectivityMng::_familyState ( const String & family_name)
private

Definition at line 215 of file ItemConnectivityMng.cc.

◆ _findConnectivity()

ConnectivityState & Arcane::ItemConnectivityMng::_findConnectivity ( const String & connectivity_name)
private

Definition at line 224 of file ItemConnectivityMng.cc.

◆ _findFamily()

FamilyState & Arcane::ItemConnectivityMng::_findFamily ( const String & family_full_name)
private

Definition at line 237 of file ItemConnectivityMng.cc.

◆ _getModifiedItems()

void Arcane::ItemConnectivityMng::_getModifiedItems ( ConnectivityStateData & connectivity_state,
FamilyState & family_state,
Int32ArrayView & added_items,
Int32ArrayView & removed_items )
private

Definition at line 131 of file ItemConnectivityMng.cc.

◆ _lastUpdateSourceFamilyState()

Integer Arcane::ItemConnectivityMng::_lastUpdateSourceFamilyState ( const String & connectivity_name)
private

Definition at line 197 of file ItemConnectivityMng.cc.

◆ _lastUpdateTargetFamilyState()

Integer Arcane::ItemConnectivityMng::_lastUpdateTargetFamilyState ( const String & connectivity_name)
private

Definition at line 206 of file ItemConnectivityMng.cc.

◆ _register()

void Arcane::ItemConnectivityMng::_register ( const String & connectivity_name,
const String & from_family_name,
const String & to_family_name )
private

Definition at line 50 of file ItemConnectivityMng.cc.

◆ _setUpToDate()

void Arcane::ItemConnectivityMng::_setUpToDate ( ConnectivityStateData & connectivity_state,
FamilyState & family_state )
private

Definition at line 187 of file ItemConnectivityMng.cc.

◆ createSynchronizer()

IItemConnectivitySynchronizer * Arcane::ItemConnectivityMng::createSynchronizer ( IItemConnectivity * connectivity,
IItemConnectivityGhostPolicy * connectivity_ghost_policy )
overridevirtual

Creation of a synchronization object for a connectivity.

If the method has already been called for this connectivity, a new synchronizer is created and the previous one is destroyed.

Implements Arcane::IItemConnectivityMng.

Definition at line 28 of file ItemConnectivityMng.cc.

◆ getSourceFamilyModifiedItems() [1/2]

void Arcane::ItemConnectivityMng::getSourceFamilyModifiedItems ( IIncrementalItemConnectivity * connectivity,
Int32ArrayView & added_items,
Int32ArrayView & removed_items )
overridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 110 of file ItemConnectivityMng.cc.

◆ getSourceFamilyModifiedItems() [2/2]

void Arcane::ItemConnectivityMng::getSourceFamilyModifiedItems ( IItemConnectivity * connectivity,
Int32ArrayView & added_items,
Int32ArrayView & removed_items )
overridevirtual

Retrieval of modified items to update a connectivity.

Implements Arcane::IItemConnectivityMng.

Definition at line 91 of file ItemConnectivityMng.cc.

References Arcane::IItemFamily::fullName(), Arcane::IItemConnectivity::name(), and Arcane::IItemConnectivity::sourceFamily().

Here is the call graph for this function:

◆ getSynchronizer()

IItemConnectivitySynchronizer * Arcane::ItemConnectivityMng::getSynchronizer ( IItemConnectivity * connectivity)
inlineoverridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 171 of file ItemConnectivityMng.h.

◆ getTargetFamilyModifiedItems() [1/2]

void Arcane::ItemConnectivityMng::getTargetFamilyModifiedItems ( IIncrementalItemConnectivity * connectivity,
Int32ArrayView & added_items,
Int32ArrayView & removed_items )
overridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 121 of file ItemConnectivityMng.cc.

◆ getTargetFamilyModifiedItems() [2/2]

void Arcane::ItemConnectivityMng::getTargetFamilyModifiedItems ( IItemConnectivity * connectivity,
Int32ArrayView & added_items,
Int32ArrayView & removed_items )
overridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 102 of file ItemConnectivityMng.cc.

◆ isUpToDate() [1/2]

bool Arcane::ItemConnectivityMng::isUpToDate ( IIncrementalItemConnectivity * connectivity)
inlineoverridevirtual

Test if the connectivity is up to date compared to the source family and the target family.

Implements Arcane::IItemConnectivityMng.

Definition at line 201 of file ItemConnectivityMng.h.

References isUpToDateWithSourceFamily(), and isUpToDateWithTargetFamily().

Here is the call graph for this function:

◆ isUpToDate() [2/2]

bool Arcane::ItemConnectivityMng::isUpToDate ( IItemConnectivity * connectivity)
inlineoverridevirtual

Test if the connectivity is up to date compared to the source family and the target family.

Implements Arcane::IItemConnectivityMng.

Definition at line 184 of file ItemConnectivityMng.h.

References isUpToDateWithSourceFamily(), and isUpToDateWithTargetFamily().

Here is the call graph for this function:

◆ isUpToDateWithSourceFamily() [1/2]

bool Arcane::ItemConnectivityMng::isUpToDateWithSourceFamily ( IIncrementalItemConnectivity * connectivity)
inlineoverridevirtual

relative to the source family and the target family

Implements Arcane::IItemConnectivityMng.

Definition at line 205 of file ItemConnectivityMng.h.

References Arcane::IItemFamily::fullName(), Arcane::IIncrementalItemConnectivity::name(), and Arcane::IIncrementalItemSourceConnectivity::sourceFamily().

Here is the call graph for this function:

◆ isUpToDateWithSourceFamily() [2/2]

bool Arcane::ItemConnectivityMng::isUpToDateWithSourceFamily ( IItemConnectivity * connectivity)
inlineoverridevirtual

relative to the source family and the target family

Implements Arcane::IItemConnectivityMng.

Definition at line 188 of file ItemConnectivityMng.h.

References Arcane::IItemFamily::fullName(), Arcane::IItemConnectivity::name(), and Arcane::IItemConnectivity::sourceFamily().

Referenced by isUpToDate(), and isUpToDate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isUpToDateWithTargetFamily() [1/2]

bool Arcane::ItemConnectivityMng::isUpToDateWithTargetFamily ( IIncrementalItemConnectivity * connectivity)
inlineoverridevirtual

relative to the source family

Implements Arcane::IItemConnectivityMng.

Definition at line 209 of file ItemConnectivityMng.h.

References Arcane::IItemFamily::fullName(), Arcane::IIncrementalItemConnectivity::name(), and Arcane::IIncrementalItemConnectivity::targetFamily().

Here is the call graph for this function:

◆ isUpToDateWithTargetFamily() [2/2]

bool Arcane::ItemConnectivityMng::isUpToDateWithTargetFamily ( IItemConnectivity * connectivity)
inlineoverridevirtual

relative to the source family

Implements Arcane::IItemConnectivityMng.

Definition at line 192 of file ItemConnectivityMng.h.

References Arcane::IItemFamily::fullName(), Arcane::IItemConnectivity::name(), and Arcane::IItemConnectivity::targetFamily().

Referenced by isUpToDate(), and isUpToDate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ notifyLocalIdChanged()

void Arcane::ItemConnectivityMng::notifyLocalIdChanged ( IItemFamily * family,
Int32ConstArrayView old_to_new_ids,
Integer nb_item )
overridevirtual

Update of modified items, possibly compacted.

Implements Arcane::IItemConnectivityMng.

Definition at line 250 of file ItemConnectivityMng.cc.

References Arcane::Array< T >::clear(), Arcane::IItemFamily::fullName(), Arcane::FamilyState::m_added_items, Arcane::FamilyState::m_removed_items, and Arcane::AbstractArray< T >::size().

Here is the call graph for this function:

◆ registerConnectivity() [1/2]

void Arcane::ItemConnectivityMng::registerConnectivity ( IIncrementalItemConnectivity * connectivity)
inlineoverridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 148 of file ItemConnectivityMng.h.

◆ registerConnectivity() [2/2]

void Arcane::ItemConnectivityMng::registerConnectivity ( IItemConnectivity * connectivity)
inlineoverridevirtual

Registering a connectivity.

Implements Arcane::IItemConnectivityMng.

Definition at line 131 of file ItemConnectivityMng.h.

References Arcane::IItemFamily::fullName(), Arcane::IItemConnectivity::name(), Arcane::IItemConnectivity::sourceFamily(), and Arcane::IItemConnectivity::targetFamily().

Here is the call graph for this function:

◆ setModifiedItems()

void Arcane::ItemConnectivityMng::setModifiedItems ( IItemFamily * family,
Int32ConstArrayView added_items,
Int32ConstArrayView removed_items )
overridevirtual

Registering modifications of an item family.

Implements Arcane::IItemConnectivityMng.

Definition at line 75 of file ItemConnectivityMng.cc.

References Arcane::Array< T >::addRange(), Arcane::IItemFamily::fullName(), Arcane::FamilyState::m_added_items, Arcane::FamilyState::m_removed_items, and Arcane::FamilyState::m_state.

Here is the call graph for this function:

◆ setUpToDate() [1/2]

void Arcane::ItemConnectivityMng::setUpToDate ( IIncrementalItemConnectivity * connectivity)
overridevirtual

Register the connectivity as up to date compared to the two families (source and target).

Implements Arcane::IItemConnectivityMng.

Definition at line 174 of file ItemConnectivityMng.cc.

References Arcane::IItemFamily::fullName(), Arcane::IIncrementalItemConnectivity::name(), Arcane::IIncrementalItemSourceConnectivity::sourceFamily(), and Arcane::IIncrementalItemConnectivity::targetFamily().

Here is the call graph for this function:

◆ setUpToDate() [2/2]

void Arcane::ItemConnectivityMng::setUpToDate ( IItemConnectivity * connectivity)
overridevirtual

Register the connectivity as up to date compared to the two families (source and target).

Implements Arcane::IItemConnectivityMng.

Definition at line 164 of file ItemConnectivityMng.cc.

References Arcane::IItemFamily::fullName(), Arcane::IItemConnectivity::name(), Arcane::IItemConnectivity::sourceFamily(), and Arcane::IItemConnectivity::targetFamily().

Here is the call graph for this function:

◆ unregisterConnectivity() [1/2]

void Arcane::ItemConnectivityMng::unregisterConnectivity ( IIncrementalItemConnectivity * connectivity)
inlineoverridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 158 of file ItemConnectivityMng.h.

◆ unregisterConnectivity() [2/2]

void Arcane::ItemConnectivityMng::unregisterConnectivity ( IItemConnectivity * connectivity)
inlineoverridevirtual

Implements Arcane::IItemConnectivityMng.

Definition at line 141 of file ItemConnectivityMng.h.

Member Data Documentation

◆ m_connectivity_states

ConnectivityStateMap Arcane::ItemConnectivityMng::m_connectivity_states
private

Definition at line 244 of file ItemConnectivityMng.h.

◆ m_family_states

FamilyStateMap Arcane::ItemConnectivityMng::m_family_states
private

Definition at line 242 of file ItemConnectivityMng.h.

◆ m_synchronizers

std::map<IItemConnectivity*, IItemConnectivitySynchronizer*> Arcane::ItemConnectivityMng::m_synchronizers
private

Definition at line 240 of file ItemConnectivityMng.h.

◆ m_trace_mng

ITraceMng* Arcane::ItemConnectivityMng::m_trace_mng
private

Definition at line 239 of file ItemConnectivityMng.h.


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