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

Item->item connectivity, exactly 1 item connected per item (0 not allowed). More...

#include <arcane/mesh/ItemConnectivity.h>

Inheritance diagram for Arcane::ItemConnectivity:
Collaboration diagram for Arcane::ItemConnectivity:

Public Types

typedef ItemScalarProperty< Int32ItemPropertyType

Public Member Functions

 ItemConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &aname)
 ItemConnectivity (IItemFamily *source_family, IItemFamily *target_family, const ItemPropertyType &item_property, const String &aname)
virtual ItemVectorView _connectedItems (ItemLocalId item, ConnectivityItemVector &con_items) const
 Fills con_items with the entities connected to item.
virtual ConnectivityItemVectorCatalyst _connectedItems (ItemLocalId item) const
virtual void updateConnectivity (Int32ConstArrayView from_items, Int32ConstArrayView to_items)
 Update of the connectivity.
const Item operator() (ItemLocalId item) const
ItemScalarProperty< Int32 > & itemProperty ()
void updateItemProperty (const ItemScalarProperty< Int32 > &item_property)
virtual Integer nbConnectedItem (ItemLocalId lid) const
 Number of entities connected to the source entity with local ID lid.
virtual Int32 connectedItemLocalId (ItemLocalId lid, Integer index) const
 localId() of the index-th entity connected to the source entity with local ID lid
virtual void notifySourceFamilyLocalIdChanged (Int32ConstArrayView new_to_old_ids)
 Notifies the connectivity that the source family has been compacted.
virtual void notifyTargetFamilyLocalIdChanged (Int32ConstArrayView old_to_new_ids)
 Notifies the connectivity that the target family has been compacted.
Public Member Functions inherited from Arcane::AbstractConnectivity
 AbstractConnectivity (IItemFamily *source_family, IItemFamily *target_family, const String &connectivity_name)
virtual const Stringname () const
 Name of the connectivity.
virtual ConstArrayView< IItemFamily * > families () const
 List of families (sourceFamily() + targetFamily()).
virtual IItemFamilysourceFamily () const
 Source family.
virtual IItemFamilytargetFamily () const
 Target family.
virtual void _initializeStorage (ConnectivityItemVector *)
 Implements the initialization of civ for this connectivity.

Private Member Functions

void compute ()

Private Attributes

ItemScalarProperty< Int32m_item_property
SharedArray< ItemInternal * > m_item_internals

Additional Inherited Members

Protected Member Functions inherited from Arcane::AbstractConnectivity
ConstArrayView< IItemFamily * > _families () const
IItemFamily_sourceFamily () const
IItemFamily_targetFamily () const

Detailed Description

Item->item connectivity, exactly 1 item connected per item (0 not allowed).

Definition at line 96 of file ItemConnectivity.h.

Member Typedef Documentation

◆ ItemPropertyType

typedef ItemScalarProperty<Int32> Arcane::ItemConnectivity::ItemPropertyType

Definition at line 101 of file ItemConnectivity.h.

Constructor & Destructor Documentation

◆ ItemConnectivity() [1/2]

Arcane::ItemConnectivity::ItemConnectivity ( IItemFamily * source_family,
IItemFamily * target_family,
const String & aname )
inline

Definition at line 105 of file ItemConnectivity.h.

◆ ItemConnectivity() [2/2]

Arcane::ItemConnectivity::ItemConnectivity ( IItemFamily * source_family,
IItemFamily * target_family,
const ItemPropertyType & item_property,
const String & aname )
inline

Definition at line 111 of file ItemConnectivity.h.

Member Function Documentation

◆ _connectedItems() [1/2]

virtual ConnectivityItemVectorCatalyst Arcane::ItemConnectivity::_connectedItems ( ItemLocalId item) const
inlinevirtual

Definition at line 125 of file ItemConnectivity.h.

◆ _connectedItems() [2/2]

virtual ItemVectorView Arcane::ItemConnectivity::_connectedItems ( ItemLocalId item,
ConnectivityItemVector & con_items ) const
inlinevirtual

Fills con_items with the entities connected to item.

Implements Arcane::IItemConnectivityAccessor.

Definition at line 119 of file ItemConnectivity.h.

References Arcane::ConnectivityItemVector::accessor(), and Arcane::ConnectivityItemVector::setItem().

Here is the call graph for this function:

◆ compute()

void Arcane::ItemConnectivity::compute ( )
private

Definition at line 28 of file ItemConnectivity.cc.

◆ connectedItemLocalId()

virtual Int32 Arcane::ItemConnectivity::connectedItemLocalId ( ItemLocalId lid,
Integer index ) const
inlinevirtual

localId() of the index-th entity connected to the source entity with local ID lid

Implements Arcane::IItemConnectivityAccessor.

Definition at line 160 of file ItemConnectivity.h.

◆ itemProperty()

ItemScalarProperty< Int32 > & Arcane::ItemConnectivity::itemProperty ( )
inline

Definition at line 150 of file ItemConnectivity.h.

◆ nbConnectedItem()

virtual Integer Arcane::ItemConnectivity::nbConnectedItem ( ItemLocalId lid) const
inlinevirtual

Number of entities connected to the source entity with local ID lid.

Implements Arcane::IItemConnectivityAccessor.

Definition at line 154 of file ItemConnectivity.h.

◆ notifySourceFamilyLocalIdChanged()

virtual void Arcane::ItemConnectivity::notifySourceFamilyLocalIdChanged ( Int32ConstArrayView new_to_old_ids)
inlinevirtual

Notifies the connectivity that the source family has been compacted.

Implements Arcane::IItemConnectivity.

Definition at line 167 of file ItemConnectivity.h.

◆ notifyTargetFamilyLocalIdChanged()

void Arcane::ItemConnectivity::notifyTargetFamilyLocalIdChanged ( Int32ConstArrayView old_to_new_ids)
virtual

Notifies the connectivity that the target family has been compacted.

Implements Arcane::IItemConnectivity.

Definition at line 153 of file ItemConnectivity.cc.

References ENUMERATE_ITEM.

◆ operator()()

const Item Arcane::ItemConnectivity::operator() ( ItemLocalId item) const
inline

Definition at line 136 of file ItemConnectivity.h.

◆ updateConnectivity()

void Arcane::ItemConnectivity::updateConnectivity ( Int32ConstArrayView from_items,
Int32ConstArrayView to_items )
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 ].

Implements Arcane::IItemConnectivity.

Definition at line 88 of file ItemConnectivity.cc.

References Arcane::ConstArrayView< T >::size(), and Arcane::ItemVectorView::size().

Here is the call graph for this function:

◆ updateItemProperty()

void Arcane::ItemConnectivity::updateItemProperty ( const ItemScalarProperty< Int32 > & item_property)
inline

Definition at line 152 of file ItemConnectivity.h.

Member Data Documentation

◆ m_item_internals

SharedArray<ItemInternal*> Arcane::ItemConnectivity::m_item_internals
private

Definition at line 178 of file ItemConnectivity.h.

◆ m_item_property

ItemScalarProperty<Int32> Arcane::ItemConnectivity::m_item_property
private

Definition at line 177 of file ItemConnectivity.h.


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