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

Interface for managing an incremental connectivity. More...

#include <arcane/core/IIncrementalItemConnectivity.h>

Inheritance diagram for Arcane::IIncrementalItemConnectivity:
Collaboration diagram for Arcane::IIncrementalItemConnectivity:

Public Member Functions

virtual String name () const =0
 Name of the connectivity.
virtual ConstArrayView< IItemFamily * > families () const =0
 List of families (sourceFamily() + targetFamily()).
virtual IItemFamilytargetFamily () const =0
 Target family.
virtual void addConnectedItem (ItemLocalId source_item, ItemLocalId target_local_id)=0
 Adds the entity with localId() target_local_id to the connectivity of source_item.
virtual void setConnectedItems (ItemLocalId source_item, Int32ConstArrayView target_local_ids)
 Allocates and positions entities connected to source_item.
virtual void removeConnectedItem (ItemLocalId source_item, ItemLocalId target_local_id)=0
 Removes the entity with localId() target_local_id from the connectivity of source_item.
virtual void removeConnectedItems (ItemLocalId source_item)=0
 Removes all entities connected to source_item.
virtual void replaceConnectedItem (ItemLocalId source_item, Integer index, ItemLocalId target_local_id)=0
 Replaces the entity at index index of source_item with the entity with localId() target_local_id.
virtual void replaceConnectedItems (ItemLocalId source_item, Int32ConstArrayView target_local_ids)=0
 Replaces the entities of source_item with the entities with localId() target_local_ids.
virtual bool hasConnectedItem (ItemLocalId source_item, ItemLocalId target_local_id) const =0
 Tests the existence of a connectivity between source_item and the entity with localId() target_local_id.
virtual Int32 maxNbConnectedItem () const =0
 Maximum number of entities connected to a source entity.
virtual Integer preAllocatedSize () const =0
 Number of entities pre-allocated for the connectivity of each entity.
virtual void setPreAllocatedSize (Integer value)=0
 Sets the number of entities to pre-allocate for the connectivity of each entity.
virtual void dumpStats (std::ostream &out) const =0
 Dumps statistics on usage and memory used to the stream out.
virtual IIncrementalItemConnectivityInternal_internalApi ()=0
 Internal Arcane API.
Public Member Functions inherited from Arcane::IItemConnectivityAccessor
virtual Integer nbConnectedItem (ItemLocalId lid) const =0
 Number of entities connected to the source entity with local ID lid.
virtual Int32 connectedItemLocalId (ItemLocalId lid, Integer index) const =0
 localId() of the index-th entity connected to the source entity with local ID lid
Public Member Functions inherited from Arcane::IIncrementalItemSourceConnectivity
virtual IItemFamilysourceFamily () const =0
 Source family.
virtual void notifySourceFamilyLocalIdChanged (Int32ConstArrayView new_to_old_ids)=0
 Notifies the connectivity that the source family has been compacted.
virtual void notifySourceItemAdded (ItemLocalId item)=0
 Notifies the connectivity that an entity has been added to the source family.
virtual void reserveMemoryForNbSourceItems (Int32 n, bool pre_alloc_connectivity)
 Reserves memory for n source entities.
virtual void notifyReadFromDump ()=0
 Notifies the connectivity that a read has been performed from a dump.
virtual Ref< IIncrementalItemSourceConnectivitytoSourceReference ()=0
 Returns a reference to the instance.
Public Member Functions inherited from Arcane::IIncrementalItemTargetConnectivity
virtual void notifyTargetFamilyLocalIdChanged (Int32ConstArrayView old_to_new_ids)=0
 Notifies the connectivity that the target family has been compacted.
virtual Ref< IIncrementalItemTargetConnectivitytoTargetReference ()=0
 Returns a reference to the instance.

Private Member Functions

 ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS ()

Additional Inherited Members

Protected Member Functions inherited from Arcane::IItemConnectivityAccessor
virtual void _initializeStorage (ConnectivityItemVector *civ)=0
 Implements the initialization of civ for this connectivity.
virtual ItemVectorView _connectedItems (ItemLocalId item, ConnectivityItemVector &con_items) const =0
 Fills con_items with the entities connected to item.

Detailed Description

Interface for managing an incremental connectivity.

A connectivity links two families: a source (sourceFamily()) and a target (targetFamily()).

Definition at line 115 of file IIncrementalItemConnectivity.h.

Member Function Documentation

◆ _internalApi()

◆ addConnectedItem()

virtual void Arcane::IIncrementalItemConnectivity::addConnectedItem ( ItemLocalId source_item,
ItemLocalId target_local_id )
pure virtual

Adds the entity with localId() target_local_id to the connectivity of source_item.

Implemented in Arcane::mesh::FaceToCellIncrementalItemConnectivity, Arcane::mesh::IncrementalItemConnectivity, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, LegacyType, CustomType >, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, typename LegacyConnectivityTraitsT< TargetFamily >::type >, and Arcane::mesh::OneItemIncrementalItemConnectivity.

References setConnectedItems().

Referenced by setConnectedItems().

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

◆ dumpStats()

◆ families()

◆ hasConnectedItem()

virtual bool Arcane::IIncrementalItemConnectivity::hasConnectedItem ( ItemLocalId source_item,
ItemLocalId target_local_id ) const
pure virtual

◆ maxNbConnectedItem()

virtual Int32 Arcane::IIncrementalItemConnectivity::maxNbConnectedItem ( ) const
pure virtual

◆ name()

virtual String Arcane::IIncrementalItemConnectivity::name ( ) const
pure virtual

◆ preAllocatedSize()

virtual Integer Arcane::IIncrementalItemConnectivity::preAllocatedSize ( ) const
pure virtual

◆ removeConnectedItem()

virtual void Arcane::IIncrementalItemConnectivity::removeConnectedItem ( ItemLocalId source_item,
ItemLocalId target_local_id )
pure virtual

Removes the entity with localId() target_local_id from the connectivity of source_item.

Implemented in Arcane::mesh::FaceToCellIncrementalItemConnectivity, Arcane::mesh::IncrementalItemConnectivity, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, LegacyType, CustomType >, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, typename LegacyConnectivityTraitsT< TargetFamily >::type >, and Arcane::mesh::OneItemIncrementalItemConnectivity.

Referenced by Arcane::mesh::ItemFamily::removeNeedRemoveMarkedItems().

Here is the caller graph for this function:

◆ removeConnectedItems()

virtual void Arcane::IIncrementalItemConnectivity::removeConnectedItems ( ItemLocalId source_item)
pure virtual

Removes all entities connected to source_item.

Implemented in Arcane::mesh::IncrementalItemConnectivity, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, LegacyType, CustomType >, Arcane::mesh::NewWithLegacyConnectivity< SourceFamily, TargetFamily, typename LegacyConnectivityTraitsT< TargetFamily >::type >, and Arcane::mesh::OneItemIncrementalItemConnectivity.

Referenced by setConnectedItems().

Here is the caller graph for this function:

◆ replaceConnectedItem()

virtual void Arcane::IIncrementalItemConnectivity::replaceConnectedItem ( ItemLocalId source_item,
Integer index,
ItemLocalId target_local_id )
pure virtual

◆ replaceConnectedItems()

virtual void Arcane::IIncrementalItemConnectivity::replaceConnectedItems ( ItemLocalId source_item,
Int32ConstArrayView target_local_ids )
pure virtual

◆ setConnectedItems()

void Arcane::IIncrementalItemConnectivity::setConnectedItems ( ItemLocalId source_item,
Int32ConstArrayView target_local_ids )
virtual

Allocates and positions entities connected to source_item.

If there were already entities connected to source_item, they are removed. target_local_ids contains the list of local IDs of entities to add. This method is equivalent to calling the following code but allows for memory management optimizations:

c->removeConnectedItems(source_item);
for( Int32 x : target_local_ids )
c->addConnectedItem(source_item,ItemLocalId{x});
Interface for managing an incremental connectivity.
virtual void removeConnectedItems(ItemLocalId source_item)=0
Removes all entities connected to source_item.
virtual void addConnectedItem(ItemLocalId source_item, ItemLocalId target_local_id)=0
Adds the entity with localId() target_local_id to the connectivity of source_item.
Index of an Item in a variable.
Definition ItemLocalId.h:42
std::int32_t Int32
Signed integer type of 32 bits.

Reimplemented in Arcane::mesh::IncrementalItemConnectivity.

Definition at line 261 of file InterfaceImpl.cc.

References addConnectedItem(), and removeConnectedItems().

Referenced by addConnectedItem().

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

◆ setPreAllocatedSize()

◆ targetFamily()


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