14#include "arcane/core/ItemSharedInfo.h"
16#include "arcane/utils/Iostream.h"
17#include "arcane/utils/FatalErrorException.h"
19#include "arcane/core/IMesh.h"
20#include "arcane/core/IItemFamily.h"
21#include "arcane/core/ItemInternal.h"
22#include "arcane/core/ItemInfoListView.h"
23#include "arcane/core/Item.h"
46Int64 null_int64_buf[2] = { NULL_ITEM_UNIQUE_ID, NULL_ITEM_UNIQUE_ID };
49Int32 null_parent_items_buf[2] = { NULL_ITEM_ID, NULL_ITEM_ID };
52Int32 null_owners_buf[2] = { A_NULL_RANK, A_NULL_RANK };
55Int32 null_flags_buf[2] = { 0, 0 };
58Int16 null_type_ids_buf[2] = { IT_NullType, IT_NullType };
68, m_unique_ids(null_unique_ids)
69, m_parent_item_ids(null_parent_item_ids)
70, m_owners(null_owners)
72, m_type_ids(null_type_ids)
81ItemSharedInfo(IItemFamily* family,MeshItemInternalList* items,ItemInternalConnectivityList* connectivity)
83, m_connectivity(connectivity)
84, m_item_family(family)
85, m_item_type_mng(family->mesh()->itemTypeMng())
86, m_item_kind(family->itemKind())
95print(std::ostream& o)
const
97 o <<
" This: " <<
this
98 <<
" NbParent; " << m_nb_parent
99 <<
" Items: " << m_items
100 <<
" Connectivity: " << m_connectivity
101 <<
" Family: " << m_item_family->fullName();
110 if (ik==IK_Node || ik==IK_Edge || ik==IK_Face || ik==IK_Cell){
111 IItemFamily* base_family = m_item_family;
114 m_nb_parent = base_family->parentFamilyDepth();
115 ARCANE_ASSERT((m_nb_parent<=1),(
"More than one parent level: not implemented"));
122ItemInternal* ItemSharedInfo::
123_parent(
Int32 id)
const
127 return ItemCompatibility::_itemInternal(m_items->mesh->itemFamily(m_item_kind)->parentFamily()->itemInfoListView()[
id]);
140setEdge(Int32,Int32,Int32)
const
146setFace(Int32,Int32,Int32)
const
152setCell(Int32,Int32,Int32)
const
158setHParent(Int32,Int32,Int32)
const
164setHChild(Int32,Int32,Int32)
const
169ItemInternal* ItemSharedInfo::
170parent(Integer,Integer)
const
176setParent(Integer,Integer,Integer)
const
181Int32 ItemSharedInfo::
188setOwner(Int32,Int32)
const
193Int32 ItemSharedInfo::
200setFlags(Int32,Int32)
const
215_setParentV2(Int32 local_id,[[maybe_unused]] Integer aindex,Int32 parent_local_id)
217 ARCANE_ASSERT((aindex==0),(
"Only one parent access implemented"));
218 m_parent_item_ids[local_id] = parent_local_id;
224Int32* ItemSharedInfo::
225_parentPtr(Int32 local_id)
228 return m_parent_item_ids.ptrAt(local_id);
234ItemTypeInfo* ItemSharedInfo::
235typeInfoFromId(Int32 type_id)
const
237 return m_item_type_mng->typeFromId(type_id);
243Int32 ItemSharedInfo::
252ItemInternalVectorView ItemSharedInfo::
255 return ItemInternalVectorView();
258ItemInternalVectorView ItemSharedInfo::
261 return ItemInternalVectorView();
264ItemInternalVectorView ItemSharedInfo::
267 return ItemInternalVectorView();
270ItemInternalVectorView ItemSharedInfo::
273 return ItemInternalVectorView();
276ItemInternalVectorView ItemSharedInfo::
277hChildren(Int32)
const
279 return ItemInternalVectorView();
286updateMeshItemInternalList()
288 m_connectivity->updateMeshItemInternalList();
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
Connectivity information, for an entity family, allowing transition between old and new connectivity ...
Internal shared structure of a mesh entity.
static ItemSharedInfo nullItemSharedInfo
For the null entity.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
ArrayView< Int64 > Int64ArrayView
C equivalent of a 1D array of 64-bit integers.
std::int64_t Int64
Signed integer type of 64 bits.
ArrayView< Int16 > Int16ArrayView
C equivalent of a 1D array of 16-bit integers.
ArrayView< Int32 > Int32ArrayView
C equivalent of a 1D array of 32-bit integers.
std::int16_t Int16
Signed integer type of 16 bits.
std::int32_t Int32
Signed integer type of 32 bits.