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

Internal shared structure of a mesh entity. More...

#include <arcane/core/ItemSharedInfo.h>

Collaboration diagram for Arcane::ItemSharedInfo:

Public Member Functions

eItemKind itemKind () const
IItemFamilyitemFamily () const
Int32 nbParent () const
ItemTypeInfotypeInfoFromId (Int32 type_id) const
constexpr Int32 nbNode () const
constexpr Int32 nbEdge () const
constexpr Int32 nbFace () const
constexpr Int32 nbCell () const
constexpr Int32 nbHParent () const
constexpr Int32 nbHChildren () const
Int32 typeId () const
Int32 firstNode () const
Int32 firstEdge () const
Int32 firstFace () const
Int32 firstCell () const
Int32 firstParent () const
Int32 firstHParent () const
Int32 firstHChild () const
constexpr Int32 neededMemory () const
constexpr Int32 minimumNeededMemory () const
constexpr bool hasLegacyConnectivity () const
void updateMeshItemInternalList ()
void print (std::ostream &o) const
ItemInternalVectorView nodes (Int32) const
ItemInternalVectorView edges (Int32) const
ItemInternalVectorView faces (Int32) const
ItemInternalVectorView cells (Int32) const
ItemInternalVectorView hChildren (Int32) const
ItemInternal * parent (Integer, Integer) const
ItemInternal * node (Int32, Int32) const
ItemInternal * edge (Int32, Int32) const
ItemInternal * face (Int32, Int32) const
ItemInternal * cell (Int32, Int32) const
ItemInternal * hParent (Integer, Integer) const
ItemInternal * hChild (Int32, Int32) const
Int32 nodeLocalId (Int32, Int32) const
Int32 edgeLocalId (Int32, Int32) const
Int32 faceLocalId (Int32, Int32) const
Int32 cellLocalId (Int32, Int32) const
Integer parentLocalId (Integer, Integer) const
Int32 hParentLocalId (Integer, Integer) const
Int32 hChildLocalId (Integer, Integer) const
void setNode (Int32, Int32, Int32) const
void setEdge (Int32, Int32, Int32) const
void setFace (Int32, Int32, Int32) const
void setCell (Int32, Int32, Int32) const
void setHParent (Int32, Int32, Int32) const
void setHChild (Int32, Int32, Int32) const
void setParent (Integer, Integer, Integer) const
constexpr Int32 edgeAllocated () const
constexpr Int32 faceAllocated () const
constexpr Int32 cellAllocated () const
constexpr Int32 hParentAllocated () const
constexpr Int32 hChildAllocated () const
const Int32_infos () const
void _setInfos (Int32 *ptr)
Int32 owner (Int32) const
void setOwner (Int32, Int32) const
Int32 flags (Int32) const
void setFlags (Int32, Int32) const

Static Public Member Functions

static ItemSharedInfo * nullInstance ()

Static Public Attributes

static const Int32 NULL_INDEX = static_cast<Int32>(-1)
static ItemSharedInfo nullItemSharedInfo
 For the null entity.
static const Int32 COMMON_BASE_MEMORY = 0

Private Member Functions

 ItemSharedInfo (IItemFamily *family, MeshItemInternalList *items, ItemInternalConnectivityList *connectivity)
ItemInternal * _parentV2 (Int32 local_id, Integer aindex) const
Int32 _parentLocalIdV2 (Int32 local_id, Integer aindex) const
void _setParentV2 (Int32 local_id, Integer aindex, Int32 parent_local_id)
Int32_parentPtr (Int32 local_id)
constexpr Int32 _ownerV2 (Int32 local_id) const
void _setOwnerV2 (Int32 local_id, Int32 aowner)
constexpr Int32 _flagsV2 (Int32 local_id) const
void _setFlagsV2 (Int32 local_id, Int32 f)
constexpr Int16 _typeId (Int32 local_id) const
void _setTypeId (Int32 local_id, Int16 v)
void _init (eItemKind ik)
ItemInternal * _parent (Int32 id) const
 Non-optimized but robust version of accessing the parent ItemInternalArrayView.

Private Attributes

MeshItemInternalListm_items = nullptr
ItemInternalConnectivityListm_connectivity
IItemFamilym_item_family = nullptr
ItemTypeMngm_item_type_mng = nullptr
Int64ArrayView m_unique_ids
Int32ArrayView m_parent_item_ids
Int32ArrayView m_owners
Int32ArrayView m_flags
Int16ArrayView m_type_ids
eItemKind m_item_kind = IK_Unknown
Int32 m_nb_parent = 0
ConstArrayView< ItemInternal * > m_items_internal
 ItemInternal of entities.

Static Private Attributes

static ItemSharedInfo * nullItemSharedInfoPointer = &ItemSharedInfo::nullItemSharedInfo

Friends

class ItemBase
class MutableItemBase
class Item
class ItemGenericInfoListView
class ItemInternal
class ItemInfoListView
class mesh::ItemFamily
class mesh::DynamicMeshKindInfos
class mesh::ItemSharedInfoWithType
class ItemInternalVectorView
class ItemVectorViewConstIterator
class ItemConnectedListViewConstIterator
class ItemVectorView
class ItemEnumeratorBase
class ItemInternalCompatibility
class SimdItemBase
class SimdItemEnumeratorBase
template<int Extent>
class ItemConnectedListView

Detailed Description

Internal shared structure of a mesh entity.

This class holds common information for multiple entities.

Since an instance of this class is shared by multiple entities, it should not be modified directly. It is up to the implementation (Mesh) to provide a mechanism managing instances of this class.

Definition at line 55 of file ItemSharedInfo.h.

Constructor & Destructor Documentation

◆ ItemSharedInfo() [1/2]

Arcane::ItemSharedInfo::ItemSharedInfo ( )

Definition at line 65 of file ItemSharedInfo.cc.

◆ ItemSharedInfo() [2/2]

Arcane::ItemSharedInfo::ItemSharedInfo ( IItemFamily * family,
MeshItemInternalList * items,
ItemInternalConnectivityList * connectivity )
private

Definition at line 80 of file ItemSharedInfo.cc.

Member Function Documentation

◆ _flagsV2()

Int32 Arcane::ItemSharedInfo::_flagsV2 ( Int32 local_id) const
inlineconstexprprivate

Definition at line 298 of file ItemSharedInfo.h.

◆ _infos()

const Int32 * Arcane::ItemSharedInfo::_infos ( ) const
inline

Definition at line 260 of file ItemSharedInfo.h.

◆ _init()

void Arcane::ItemSharedInfo::_init ( eItemKind ik)
private

Definition at line 107 of file ItemSharedInfo.cc.

◆ _ownerV2()

Int32 Arcane::ItemSharedInfo::_ownerV2 ( Int32 local_id) const
inlineconstexprprivate

Definition at line 296 of file ItemSharedInfo.h.

◆ _parent()

ItemInternal * Arcane::ItemSharedInfo::_parent ( Int32 id) const
private

Non-optimized but robust version of accessing the parent ItemInternalArrayView.

Definition at line 122 of file ItemSharedInfo.cc.

◆ _parentLocalIdV2()

Int32 Arcane::ItemSharedInfo::_parentLocalIdV2 ( Int32 local_id,
Integer aindex ) const
inlineprivate

Definition at line 185 of file ItemSharedInfo.h.

◆ _parentPtr()

Int32 * Arcane::ItemSharedInfo::_parentPtr ( Int32 local_id)
private

Definition at line 224 of file ItemSharedInfo.cc.

◆ _parentV2()

ItemInternal * Arcane::ItemSharedInfo::_parentV2 ( Int32 local_id,
Integer aindex ) const
inlineprivate

Definition at line 179 of file ItemSharedInfo.h.

◆ _setFlagsV2()

void Arcane::ItemSharedInfo::_setFlagsV2 ( Int32 local_id,
Int32 f )
inlineprivate

Definition at line 299 of file ItemSharedInfo.h.

◆ _setInfos()

void Arcane::ItemSharedInfo::_setInfos ( Int32 * ptr)

Definition at line 205 of file ItemSharedInfo.cc.

◆ _setOwnerV2()

void Arcane::ItemSharedInfo::_setOwnerV2 ( Int32 local_id,
Int32 aowner )
inlineprivate

Definition at line 297 of file ItemSharedInfo.h.

◆ _setParentV2()

void Arcane::ItemSharedInfo::_setParentV2 ( Int32 local_id,
Integer aindex,
Int32 parent_local_id )
private

Definition at line 214 of file ItemSharedInfo.cc.

◆ _setTypeId()

void Arcane::ItemSharedInfo::_setTypeId ( Int32 local_id,
Int16 v )
inlineprivate

Definition at line 302 of file ItemSharedInfo.h.

◆ _typeId()

Int16 Arcane::ItemSharedInfo::_typeId ( Int32 local_id) const
inlineconstexprprivate

Definition at line 301 of file ItemSharedInfo.h.

◆ cell()

ItemInternal * Arcane::ItemSharedInfo::cell ( Int32 ,
Int32  ) const
inline

Definition at line 203 of file ItemSharedInfo.h.

◆ cellAllocated()

Int32 Arcane::ItemSharedInfo::cellAllocated ( ) const
inlineconstexpr

Definition at line 251 of file ItemSharedInfo.h.

◆ cellLocalId()

Int32 Arcane::ItemSharedInfo::cellLocalId ( Int32 ,
Int32  ) const
inline

Definition at line 218 of file ItemSharedInfo.h.

◆ cells()

ItemInternalVectorView Arcane::ItemSharedInfo::cells ( Int32 ) const

Definition at line 270 of file ItemSharedInfo.cc.

◆ edge()

ItemInternal * Arcane::ItemSharedInfo::edge ( Int32 ,
Int32  ) const
inline

Definition at line 199 of file ItemSharedInfo.h.

◆ edgeAllocated()

Int32 Arcane::ItemSharedInfo::edgeAllocated ( ) const
inlineconstexpr

Definition at line 247 of file ItemSharedInfo.h.

◆ edgeLocalId()

Int32 Arcane::ItemSharedInfo::edgeLocalId ( Int32 ,
Int32  ) const
inline

Definition at line 214 of file ItemSharedInfo.h.

◆ edges()

ItemInternalVectorView Arcane::ItemSharedInfo::edges ( Int32 ) const

Definition at line 258 of file ItemSharedInfo.cc.

◆ face()

ItemInternal * Arcane::ItemSharedInfo::face ( Int32 ,
Int32  ) const
inline

Definition at line 201 of file ItemSharedInfo.h.

◆ faceAllocated()

Int32 Arcane::ItemSharedInfo::faceAllocated ( ) const
inlineconstexpr

Definition at line 249 of file ItemSharedInfo.h.

◆ faceLocalId()

Int32 Arcane::ItemSharedInfo::faceLocalId ( Int32 ,
Int32  ) const
inline

Definition at line 216 of file ItemSharedInfo.h.

◆ faces()

ItemInternalVectorView Arcane::ItemSharedInfo::faces ( Int32 ) const

Definition at line 264 of file ItemSharedInfo.cc.

◆ firstCell()

Int32 Arcane::ItemSharedInfo::firstCell ( ) const
inline

Definition at line 134 of file ItemSharedInfo.h.

◆ firstEdge()

Int32 Arcane::ItemSharedInfo::firstEdge ( ) const
inline

Definition at line 130 of file ItemSharedInfo.h.

◆ firstFace()

Int32 Arcane::ItemSharedInfo::firstFace ( ) const
inline

Definition at line 132 of file ItemSharedInfo.h.

◆ firstHChild()

Int32 Arcane::ItemSharedInfo::firstHChild ( ) const
inline

Definition at line 140 of file ItemSharedInfo.h.

◆ firstHParent()

Int32 Arcane::ItemSharedInfo::firstHParent ( ) const
inline

Definition at line 138 of file ItemSharedInfo.h.

◆ firstNode()

Int32 Arcane::ItemSharedInfo::firstNode ( ) const
inline

Definition at line 128 of file ItemSharedInfo.h.

◆ firstParent()

Int32 Arcane::ItemSharedInfo::firstParent ( ) const
inline

Definition at line 136 of file ItemSharedInfo.h.

◆ flags()

Int32 Arcane::ItemSharedInfo::flags ( Int32 ) const

Definition at line 193 of file ItemSharedInfo.cc.

◆ hasLegacyConnectivity()

bool Arcane::ItemSharedInfo::hasLegacyConnectivity ( ) const
inlineconstexpr

Definition at line 147 of file ItemSharedInfo.h.

◆ hChild()

ItemInternal * Arcane::ItemSharedInfo::hChild ( Int32 ,
Int32  ) const
inline

Definition at line 207 of file ItemSharedInfo.h.

◆ hChildAllocated()

Int32 Arcane::ItemSharedInfo::hChildAllocated ( ) const
inlineconstexpr

Definition at line 255 of file ItemSharedInfo.h.

◆ hChildLocalId()

Int32 Arcane::ItemSharedInfo::hChildLocalId ( Integer ,
Integer  ) const
inline

Definition at line 224 of file ItemSharedInfo.h.

◆ hChildren()

ItemInternalVectorView Arcane::ItemSharedInfo::hChildren ( Int32 ) const

Definition at line 276 of file ItemSharedInfo.cc.

◆ hParent()

ItemInternal * Arcane::ItemSharedInfo::hParent ( Integer ,
Integer  ) const
inline

Definition at line 205 of file ItemSharedInfo.h.

◆ hParentAllocated()

Int32 Arcane::ItemSharedInfo::hParentAllocated ( ) const
inlineconstexpr

Definition at line 253 of file ItemSharedInfo.h.

◆ hParentLocalId()

Int32 Arcane::ItemSharedInfo::hParentLocalId ( Integer ,
Integer  ) const
inline

Definition at line 222 of file ItemSharedInfo.h.

◆ itemFamily()

IItemFamily * Arcane::ItemSharedInfo::itemFamily ( ) const
inline

Definition at line 107 of file ItemSharedInfo.h.

◆ itemKind()

eItemKind Arcane::ItemSharedInfo::itemKind ( ) const
inline

Definition at line 106 of file ItemSharedInfo.h.

◆ minimumNeededMemory()

Int32 Arcane::ItemSharedInfo::minimumNeededMemory ( ) const
inlineconstexpr

Definition at line 145 of file ItemSharedInfo.h.

◆ nbCell()

Int32 Arcane::ItemSharedInfo::nbCell ( ) const
inlineconstexpr

Definition at line 118 of file ItemSharedInfo.h.

◆ nbEdge()

Int32 Arcane::ItemSharedInfo::nbEdge ( ) const
inlineconstexpr

Definition at line 114 of file ItemSharedInfo.h.

◆ nbFace()

Int32 Arcane::ItemSharedInfo::nbFace ( ) const
inlineconstexpr

Definition at line 116 of file ItemSharedInfo.h.

◆ nbHChildren()

Int32 Arcane::ItemSharedInfo::nbHChildren ( ) const
inlineconstexpr

Definition at line 122 of file ItemSharedInfo.h.

◆ nbHParent()

Int32 Arcane::ItemSharedInfo::nbHParent ( ) const
inlineconstexpr

Definition at line 120 of file ItemSharedInfo.h.

◆ nbNode()

Int32 Arcane::ItemSharedInfo::nbNode ( ) const
inlineconstexpr

Definition at line 112 of file ItemSharedInfo.h.

◆ nbParent()

Int32 Arcane::ItemSharedInfo::nbParent ( ) const
inline

Definition at line 108 of file ItemSharedInfo.h.

◆ neededMemory()

Int32 Arcane::ItemSharedInfo::neededMemory ( ) const
inlineconstexpr

Definition at line 143 of file ItemSharedInfo.h.

◆ node()

ItemInternal * Arcane::ItemSharedInfo::node ( Int32 ,
Int32  ) const
inline

Definition at line 197 of file ItemSharedInfo.h.

◆ nodeLocalId()

Int32 Arcane::ItemSharedInfo::nodeLocalId ( Int32 ,
Int32  ) const
inline

Definition at line 212 of file ItemSharedInfo.h.

◆ nodes()

ItemInternalVectorView Arcane::ItemSharedInfo::nodes ( Int32 ) const

Definition at line 252 of file ItemSharedInfo.cc.

◆ nullInstance()

ItemSharedInfo * Arcane::ItemSharedInfo::nullInstance ( )
inlinestatic

Definition at line 92 of file ItemSharedInfo.h.

◆ owner()

Int32 Arcane::ItemSharedInfo::owner ( Int32 ) const

Definition at line 181 of file ItemSharedInfo.cc.

◆ parent()

ItemInternal * Arcane::ItemSharedInfo::parent ( Integer ,
Integer  ) const

Definition at line 169 of file ItemSharedInfo.cc.

◆ parentLocalId()

Integer Arcane::ItemSharedInfo::parentLocalId ( Integer ,
Integer  ) const
inline

Definition at line 220 of file ItemSharedInfo.h.

◆ print()

void Arcane::ItemSharedInfo::print ( std::ostream & o) const

Definition at line 94 of file ItemSharedInfo.cc.

◆ setCell()

void Arcane::ItemSharedInfo::setCell ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 151 of file ItemSharedInfo.cc.

◆ setEdge()

void Arcane::ItemSharedInfo::setEdge ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 139 of file ItemSharedInfo.cc.

◆ setFace()

void Arcane::ItemSharedInfo::setFace ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 145 of file ItemSharedInfo.cc.

◆ setFlags()

void Arcane::ItemSharedInfo::setFlags ( Int32 ,
Int32  ) const

Definition at line 199 of file ItemSharedInfo.cc.

◆ setHChild()

void Arcane::ItemSharedInfo::setHChild ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 163 of file ItemSharedInfo.cc.

◆ setHParent()

void Arcane::ItemSharedInfo::setHParent ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 157 of file ItemSharedInfo.cc.

◆ setNode()

void Arcane::ItemSharedInfo::setNode ( Int32 ,
Int32 ,
Int32  ) const

Definition at line 133 of file ItemSharedInfo.cc.

◆ setOwner()

void Arcane::ItemSharedInfo::setOwner ( Int32 ,
Int32  ) const

Definition at line 187 of file ItemSharedInfo.cc.

◆ setParent()

void Arcane::ItemSharedInfo::setParent ( Integer ,
Integer ,
Integer  ) const

Definition at line 175 of file ItemSharedInfo.cc.

◆ typeId()

Int32 Arcane::ItemSharedInfo::typeId ( ) const

Definition at line 243 of file ItemSharedInfo.cc.

◆ typeInfoFromId()

ItemTypeInfo * Arcane::ItemSharedInfo::typeInfoFromId ( Int32 type_id) const

Definition at line 234 of file ItemSharedInfo.cc.

◆ updateMeshItemInternalList()

void Arcane::ItemSharedInfo::updateMeshItemInternalList ( )

Definition at line 285 of file ItemSharedInfo.cc.

◆ Item

friend class Item
friend

Definition at line 59 of file ItemSharedInfo.h.

◆ ItemBase

friend class ItemBase
friend

Definition at line 57 of file ItemSharedInfo.h.

◆ ItemConnectedListView

template<int Extent>
friend class ItemConnectedListView
friend

Definition at line 74 of file ItemSharedInfo.h.

◆ ItemConnectedListViewConstIterator

friend class ItemConnectedListViewConstIterator
friend

Definition at line 68 of file ItemSharedInfo.h.

◆ ItemEnumeratorBase

friend class ItemEnumeratorBase
friend

Definition at line 70 of file ItemSharedInfo.h.

◆ ItemGenericInfoListView

friend class ItemGenericInfoListView
friend

Definition at line 60 of file ItemSharedInfo.h.

◆ ItemInfoListView

friend class ItemInfoListView
friend

Definition at line 62 of file ItemSharedInfo.h.

◆ ItemInternal

friend class ItemInternal
friend

Definition at line 61 of file ItemSharedInfo.h.

◆ ItemInternalCompatibility

friend class ItemInternalCompatibility
friend

Definition at line 71 of file ItemSharedInfo.h.

◆ ItemInternalVectorView

friend class ItemInternalVectorView
friend

Definition at line 66 of file ItemSharedInfo.h.

◆ ItemVectorView

friend class ItemVectorView
friend

Definition at line 69 of file ItemSharedInfo.h.

◆ ItemVectorViewConstIterator

friend class ItemVectorViewConstIterator
friend

Definition at line 67 of file ItemSharedInfo.h.

◆ mesh::DynamicMeshKindInfos

friend class mesh::DynamicMeshKindInfos
friend

Definition at line 64 of file ItemSharedInfo.h.

◆ mesh::ItemFamily

friend class mesh::ItemFamily
friend

Definition at line 63 of file ItemSharedInfo.h.

◆ mesh::ItemSharedInfoWithType

friend class mesh::ItemSharedInfoWithType
friend

Definition at line 65 of file ItemSharedInfo.h.

◆ MutableItemBase

friend class MutableItemBase
friend

Definition at line 58 of file ItemSharedInfo.h.

◆ SimdItemBase

friend class SimdItemBase
friend

Definition at line 72 of file ItemSharedInfo.h.

◆ SimdItemEnumeratorBase

friend class SimdItemEnumeratorBase
friend

Definition at line 73 of file ItemSharedInfo.h.

Member Data Documentation

◆ COMMON_BASE_MEMORY

const Int32 Arcane::ItemSharedInfo::COMMON_BASE_MEMORY = 0
static

Definition at line 308 of file ItemSharedInfo.h.

◆ m_connectivity

ItemInternalConnectivityList* Arcane::ItemSharedInfo::m_connectivity
private

Definition at line 271 of file ItemSharedInfo.h.

◆ m_flags

Int32ArrayView Arcane::ItemSharedInfo::m_flags
private

Definition at line 277 of file ItemSharedInfo.h.

◆ m_item_family

IItemFamily* Arcane::ItemSharedInfo::m_item_family = nullptr
private

Definition at line 272 of file ItemSharedInfo.h.

◆ m_item_kind

eItemKind Arcane::ItemSharedInfo::m_item_kind = IK_Unknown
private

Definition at line 279 of file ItemSharedInfo.h.

◆ m_item_type_mng

ItemTypeMng* Arcane::ItemSharedInfo::m_item_type_mng = nullptr
private

Definition at line 273 of file ItemSharedInfo.h.

◆ m_items

MeshItemInternalList* Arcane::ItemSharedInfo::m_items = nullptr
private

Definition at line 270 of file ItemSharedInfo.h.

◆ m_items_internal

ConstArrayView<ItemInternal*> Arcane::ItemSharedInfo::m_items_internal
private

ItemInternal of entities.

Definition at line 281 of file ItemSharedInfo.h.

◆ m_nb_parent

Int32 Arcane::ItemSharedInfo::m_nb_parent = 0
private

Definition at line 280 of file ItemSharedInfo.h.

◆ m_owners

Int32ArrayView Arcane::ItemSharedInfo::m_owners
private

Definition at line 276 of file ItemSharedInfo.h.

◆ m_parent_item_ids

Int32ArrayView Arcane::ItemSharedInfo::m_parent_item_ids
private

Definition at line 275 of file ItemSharedInfo.h.

◆ m_type_ids

Int16ArrayView Arcane::ItemSharedInfo::m_type_ids
private

Definition at line 278 of file ItemSharedInfo.h.

◆ m_unique_ids

Int64ArrayView Arcane::ItemSharedInfo::m_unique_ids
private

Definition at line 274 of file ItemSharedInfo.h.

◆ NULL_INDEX

const Int32 Arcane::ItemSharedInfo::NULL_INDEX = static_cast<Int32>(-1)
static

Definition at line 78 of file ItemSharedInfo.h.

◆ nullItemSharedInfo

ItemSharedInfo Arcane::ItemSharedInfo::nullItemSharedInfo
static

For the null entity.

Definition at line 84 of file ItemSharedInfo.h.

◆ nullItemSharedInfoPointer

ItemSharedInfo * Arcane::ItemSharedInfo::nullItemSharedInfoPointer = &ItemSharedInfo::nullItemSharedInfo
staticprivate

Definition at line 88 of file ItemSharedInfo.h.


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