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

Interface to manage connectivity. More...

#include <arcane/core/IItemConnectivity.h>

Inheritance diagram for Arcane::IItemConnectivity:
Collaboration diagram for Arcane::IItemConnectivity:

Public Member Functions

virtual const Stringname () const =0
 Name of the connectivity.
virtual ConstArrayView< IItemFamily * > families () const =0
 List of families (sourceFamily() + targetFamily()).
virtual IItemFamilysourceFamily () const =0
 Source family.
virtual IItemFamilytargetFamily () const =0
 Target family.
virtual void notifySourceFamilyLocalIdChanged (Int32ConstArrayView new_to_old_ids)=0
 Notifies the connectivity that the source family has been compacted.
virtual void notifyTargetFamilyLocalIdChanged (Int32ConstArrayView old_to_new_ids)=0
 Notifies the connectivity that the target family has been compacted.
virtual void updateConnectivity (Int32ConstArrayView from_items, Int32ConstArrayView to_items)=0
 Update of the connectivity.
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

Friends

class ConnectivityItemVector

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 to manage connectivity.

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

To retrieve the target entities connected to a source entity, you must use the ConnectivityItemVector class. For example:

Item my_item;
ConnectivityItemVector civ(c);
ENUMERATE_ITEM(icitem,civ.connectedItems(my_item)){
// Itère sur les entités connectées à \a my_item via \a c.
}
#define ENUMERATE_ITEM(name, group)
Generic enumerator for a node group.
Interface to manage connectivity.
Base class for a mesh element.
Definition Item.h:84

Definition at line 50 of file IItemConnectivity.h.

Member Function Documentation

◆ families()

virtual ConstArrayView< IItemFamily * > Arcane::IItemConnectivity::families ( ) const
pure virtual

◆ name()

virtual const String & Arcane::IItemConnectivity::name ( ) const
pure virtual

Name of the connectivity.

Implemented in Arcane::AbstractConnectivity.

Referenced by Arcane::ItemConnectivityMng::getSourceFamilyModifiedItems(), Arcane::ItemConnectivityMng::isUpToDateWithSourceFamily(), Arcane::ItemConnectivityMng::isUpToDateWithTargetFamily(), Arcane::ItemConnectivityMng::registerConnectivity(), and Arcane::ItemConnectivityMng::setUpToDate().

Here is the caller graph for this function:

◆ notifySourceFamilyLocalIdChanged()

virtual void Arcane::IItemConnectivity::notifySourceFamilyLocalIdChanged ( Int32ConstArrayView new_to_old_ids)
pure virtual

Notifies the connectivity that the source family has been compacted.

Implemented in Arcane::ItemArrayConnectivity, Arcane::ItemConnectivity, and Arcane::ItemMultiArrayConnectivity.

◆ notifyTargetFamilyLocalIdChanged()

virtual void Arcane::IItemConnectivity::notifyTargetFamilyLocalIdChanged ( Int32ConstArrayView old_to_new_ids)
pure virtual

Notifies the connectivity that the target family has been compacted.

Implemented in Arcane::ItemArrayConnectivity, Arcane::ItemConnectivity, and Arcane::ItemMultiArrayConnectivity.

◆ sourceFamily()

virtual IItemFamily * Arcane::IItemConnectivity::sourceFamily ( ) const
pure virtual

Source family.

Implemented in Arcane::AbstractConnectivity.

Referenced by Arcane::ItemConnectivityMng::getSourceFamilyModifiedItems(), Arcane::ItemConnectivityMng::isUpToDateWithSourceFamily(), Arcane::ItemConnectivityMng::registerConnectivity(), and Arcane::ItemConnectivityMng::setUpToDate().

Here is the caller graph for this function:

◆ targetFamily()

virtual IItemFamily * Arcane::IItemConnectivity::targetFamily ( ) const
pure virtual

Target family.

Implemented in Arcane::AbstractConnectivity.

Referenced by Arcane::ItemConnectivityMng::isUpToDateWithTargetFamily(), Arcane::ItemConnectivityMng::registerConnectivity(), and Arcane::ItemConnectivityMng::setUpToDate().

Here is the caller graph for this function:

◆ updateConnectivity()

virtual void Arcane::IItemConnectivity::updateConnectivity ( Int32ConstArrayView from_items,
Int32ConstArrayView to_items )
pure virtual

Update of the connectivity.

Both arrays from_items and to_items are of the same size. Items can therefore potentially be repeated if they appear in multiple connections. For example, if we have the following connections (by lid) 1-3; 2-4; 1-5, we input from_items [ 1 2 1 ] and to_items [ 3 4 5 ].

Implemented in Arcane::ItemArrayConnectivity, Arcane::ItemConnectivity, and Arcane::ItemMultiArrayConnectivity.

◆ ConnectivityItemVector

friend class ConnectivityItemVector
friend

Definition at line 55 of file IItemConnectivity.h.


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