Internal structure of a mesh entity. More...
#include <arcane/core/ItemInternal.h>
Public Types | |
| typedef ItemInternal * | ItemInternalPtr |
| Public Types inherited from Arcane::ItemFlags | |
| enum | : FlagType { II_Boundary = 1 << 1 , II_HasFrontCell = 1 << 2 , II_HasBackCell = 1 << 3 , II_FrontCellIsFirst = 1 << 4 , II_BackCellIsFirst = 1 << 5 , II_Own = 1 << 6 , II_Added = 1 << 7 , II_Suppressed = 1 << 8 , II_Shared = 1 << 9 , II_SubDomainBoundary = 1 << 10 , II_JustAdded = 1 << 12 , II_NeedRemove = 1 << 13 , II_SlaveFace = 1 << 14 , II_MasterFace = 1 << 15 , II_Detached = 1 << 16 , II_HasEdgeFor1DItems = 1 << 17 , II_Coarsen = 1 << 18 , II_DoNothing = 1 << 19 , II_Refine = 1 << 20 , II_JustRefined = 1 << 21 , II_JustCoarsened = 1 << 22 , II_Inactive = 1 << 23 , II_CoarsenInactive = 1 << 24 , II_Overlap = 1 << 25 , II_InPatch = 1 << 26 , II_UserMark1 = 1 << 30 , II_UserMark2 = 1 << 31 } |
| using | FlagType = Int32 |
Public Member Functions | |
| ItemInternal * | boundaryCell () const |
| Connected cell to the entity if the entity is a boundary entity (0 if none). | |
| ItemInternal * | backCell () const |
| Cell behind the entity (nullItem() if none). | |
| ItemInternal * | frontCell () const |
| Cell in front of the entity (nullItem() if none). | |
| ItemInternal * | masterFace () const |
| ItemSharedInfo * | sharedInfo () const |
| Shared information of the entity. | |
| ItemInternalVectorView | internalItems (Node *) const |
| ItemInternalVectorView | internalItems (Edge *) const |
| ItemInternalVectorView | internalItems (Face *) const |
| ItemInternalVectorView | internalItems (Cell *) const |
| ItemInternal * | internalNode (Int32 index) const |
| ItemInternal * | internalEdge (Int32 index) const |
| ItemInternal * | internalFace (Int32 index) const |
| ItemInternal * | internalCell (Int32 index) const |
| ItemInternal * | internalHParent (Int32 index) const |
| ItemInternal * | internalHChild (Int32 index) const |
| ItemInternal * | parent (Integer index) const |
| const ItemInternal * | topHParent () const |
| AMR. | |
| ItemInternal * | topHParent () |
| Int32 | dataIndex () |
| Int32 * | parentPtr () |
| Pointer to the list of parents. | |
| Int32 | whichChildAmI (const ItemInternal *iitem) const |
| constexpr Integer | neededMemory () const |
| Memory required to store the entity information. | |
| constexpr Integer | minimumNeededMemory () const |
| Minimum memory required to store the entity information (without buffer). | |
| Int32 | nodeLocalId (Integer index) |
| Int32 | edgeLocalId (Integer index) |
| Int32 | faceLocalId (Integer index) |
| Int32 | cellLocalId (Integer index) |
| void | setDataIndex (Integer) |
| void | setSharedInfo (ItemSharedInfo *shared_infos, ItemTypeId type_id) |
| Public Member Functions inherited from Arcane::MutableItemBase | |
| MutableItemBase (ItemBaseBuildInfo x) | |
| MutableItemBase (const ItemBase &x) | |
| MutableItemBase (ItemInternal *x) | |
| void | setUniqueId (Int64 uid) |
| void | unsetUniqueId () |
| Nullifies the uniqueId to the value NULL_ITEM_UNIQUE_ID. | |
| void | setOwner (Integer suid, Int32 current_sub_domain) |
| Sets the sub-domain number of the entity owner. | |
| void | setFlags (Int32 f) |
| Sets the entity flags. | |
| void | addFlags (Int32 added_flags) |
| Adds the flags added_flags to those of the entity. | |
| void | removeFlags (Int32 removed_flags) |
| Removes the flags removed_flags from those of the entity. | |
| void | setDetached (bool v) |
| Sets the detached state of the entity. | |
| void | reinitialize (Int64 uid, Int32 aowner, Int32 owner_rank) |
| void | setLocalId (Int32 local_id) |
| void | setParent (Int32 aindex, Int32 parent_local_id) |
| Sets the i-th parent (currently aindex must be 0). | |
| Public Member Functions inherited from Arcane::ItemBase | |
| constexpr | ItemBase (ItemBaseBuildInfo x) |
| ItemBase (ItemInternal *x) | |
| Int32 | localId () const |
| Local number (in the subdomain) of the entity. | |
| ItemLocalId | itemLocalId () const |
| Local number (in the subdomain) of the entity. | |
| ItemUniqueId | uniqueId () const |
| Unique number of the entity. | |
| Int32 | owner () const |
| Number of the owning subdomain of the entity. | |
| Int32 | flags () const |
| Flags of the entity. | |
| Integer | nbNode () const |
| Number of nodes of the entity. | |
| Integer | nbEdge () const |
| Number of edges of the entity or number of edges connected to the entity (for nodes). | |
| Integer | nbFace () const |
| Number of faces of the entity or number of faces connected to the entity (for nodes and edges). | |
| Integer | nbCell () const |
| Number of cells connected to the entity (for nodes, edges, and faces). | |
| Int32 | nbHParent () const |
| Number of parents for AMR. | |
| Int32 | nbHChildren () const |
| Number of children for AMR. | |
| Integer | nbParent () const |
| Number of parent for sub-meshes. | |
| Int16 | typeId () const |
| Type of the entity. | |
| ItemTypeId | itemTypeId () const |
| Type of the entity. | |
| ItemTypeInfo * | typeInfo () const |
| Type of the entity. | |
| Int32 | level () const |
| bool | isAncestor () const |
| bool | hasHChildren () const |
| bool | isActive () const |
| bool | isSubactive () const |
| IItemFamily * | family () const |
| Family the entity belongs to. | |
| eItemKind | kind () const |
| Kind of the entity. | |
| bool | null () const |
| True if the entity is the null entity. | |
| bool | isNull () const |
| True if the entity is the null entity. | |
| bool | isOwn () const |
| True if the entity belongs to the subdomain. | |
| bool | isShared () const |
| True if the entity is shared by other subdomains. | |
| bool | isSuppressed () const |
| True if the entity is suppressed. | |
| bool | isDetached () const |
| True if the entity is detached. | |
| bool | isBoundary () const |
| true if the entity is on the boundary | |
| ItemBase | boundaryCell () const |
| Cell connected to the entity if the entity is a boundary entity (0 if none). | |
| ItemBase | backCell () const |
| Cell behind the entity (nullItem() if none). | |
| Int32 | backCellId () const |
| Cell behind the entity (NULL_ITEM_LOCAL_ID if none). | |
| ItemBase | frontCell () const |
| Cell in front of the entity (nullItem() if none). | |
| Int32 | frontCellId () const |
| Cell in front of the entity (NULL_ITEM_LOCAL_ID if none). | |
| ItemBase | masterFace () const |
| bool | isMasterFace () const |
| true if it is the master face of an interface | |
| bool | isSlaveFace () const |
| true if it is a slave face of an interface | |
| Int32 | parentId (Integer index) const |
| Int32 | nodeId (Integer index) const |
| Int32 | edgeId (Integer index) const |
| Int32 | faceId (Integer index) const |
| Int32 | cellId (Integer index) const |
| Int32 | hParentId (Int32 index) const |
| Int32 | hChildId (Int32 index) const |
| ItemInternalVectorView | internalNodes () const |
| Methods using the new connectivities to access connectivity information. Should not be used outside of Arcane. | |
| ItemInternalVectorView | internalEdges () const |
| ItemInternalVectorView | internalFaces () const |
| ItemInternalVectorView | internalCells () const |
| impl::ItemIndexedListView< DynExtent > | nodeList () const |
| Methods using the new connectivities to access connectivity information. Should not be used outside of Arcane. | |
| impl::ItemIndexedListView< DynExtent > | edgeList () const |
| impl::ItemIndexedListView< DynExtent > | faceList () const |
| impl::ItemIndexedListView< DynExtent > | cellList () const |
| impl::ItemIndexedListView< DynExtent > | itemList (Node *) const |
| impl::ItemIndexedListView< DynExtent > | itemList (Edge *) const |
| impl::ItemIndexedListView< DynExtent > | itemList (Face *) const |
| impl::ItemIndexedListView< DynExtent > | itemList (Cell *) const |
| ItemBase | nodeBase (Int32 index) const |
| ItemBase | edgeBase (Int32 index) const |
| ItemBase | faceBase (Int32 index) const |
| ItemBase | cellBase (Int32 index) const |
| ItemBase | hParentBase (Int32 index) const |
| ItemBase | hChildBase (Int32 index) const |
| ItemBase | parentBase (Int32 index) const |
| bool | hasFlags (Int32 flags) const |
| Returns whether the flags flags are set for the entity. | |
| Int32 | whichChildAmI (Int32 local_id) const |
| ItemBase | topHParentBase () const |
| MutableItemBase | toMutable () |
| Mutable interface of this entity. | |
| ItemInternal * | itemInternal () const |
| ItemInternalVectorView | _internalActiveCells (Int32Array &local_ids) const |
Static Public Member Functions | |
| static ItemInternal * | nullItem () |
| static ItemSharedInfo * | _getSharedInfo (const ItemInternalPtr *items) |
| Static Public Member Functions inherited from Arcane::ItemFlags | |
| static constexpr bool | isOwn (FlagType f) |
| static constexpr bool | isShared (FlagType f) |
| static constexpr bool | isBoundary (FlagType f) |
| static constexpr bool | isSubDomainBoundary (FlagType f) |
| static constexpr bool | hasBackCell (FlagType f) |
| static constexpr bool | isSubDomainBoundaryOutside (FlagType f) |
| static constexpr Int32 | backCellIndex (FlagType f) |
| Index in the face for the back cell. | |
| static constexpr Int32 | frontCellIndex (FlagType f) |
| Index in the face for the front cell. | |
Static Public Attributes | |
| static ItemInternal | nullItemInternal |
| Null entity. | |
| Static Public Attributes inherited from Arcane::ItemFlags | |
| static const int | II_InterfaceFlags |
Private Member Functions | |
| void | _setSharedInfo (ItemSharedInfo *shared_infos, ItemTypeId type_id) |
| ItemInternal * | _internalFace (Int32 index) const |
| ItemInternal * | _internalCell (Int32 index) const |
| ItemInternal * | _internalHParent (Int32 index) const |
| ItemInternal * | _internalHChild (Int32 index) const |
Friends | |
| class | mesh::DynamicMeshKindInfos |
| class | mesh::ItemFamily |
Internal structure of a mesh entity.
This instance contains the internal structure of a mesh entity. It should only be manipulated by those who know what they are doing...
To use an entity, you must use the Item class or one of its derived classes.
In general, the mesh (IMesh) to which the entity belongs maintains different structures allowing the mesh to be manipulated. These structures are often recalculated dynamically when necessary (lazy evaluation). This is the case, for example, with sub-domain specific entity groups or the table for converting global numbers to local numbers. This is why it is essential when performing a series of modifications to instances of this class to notify the mesh of the changes made.
Definition at line 940 of file ItemInternal.h.
Definition at line 1086 of file ItemInternal.h.
|
inlinestatic |
Definition at line 1090 of file ItemInternal.h.
References _getSharedInfo(), and Arcane::ItemBase::m_shared_info.
Referenced by _getSharedInfo().
|
inlineprivate |
Definition at line 1104 of file ItemInternal.h.
|
inlineprivate |
Definition at line 1103 of file ItemInternal.h.
|
inlineprivate |
Definition at line 1106 of file ItemInternal.h.
|
inlineprivate |
Definition at line 1105 of file ItemInternal.h.
|
inlineprivate |
Definition at line 1097 of file ItemInternal.h.
|
inline |
Cell behind the entity (nullItem() if none).
Definition at line 962 of file ItemInternal.h.
References backCell(), Arcane::ItemBase::flags(), Arcane::ItemFlags::II_BackCellIsFirst, and Arcane::ItemFlags::II_HasBackCell.
Referenced by backCell().
|
inline |
Connected cell to the entity if the entity is a boundary entity (0 if none).
Definition at line 959 of file ItemInternal.h.
References boundaryCell(), Arcane::ItemBase::flags(), and Arcane::ItemFlags::II_Boundary.
Referenced by boundaryCell().
Definition at line 1070 of file ItemInternal.h.
|
inline |
Definition at line 1026 of file ItemInternal.h.
Definition at line 1066 of file ItemInternal.h.
Definition at line 1068 of file ItemInternal.h.
|
inline |
Cell in front of the entity (nullItem() if none).
Definition at line 970 of file ItemInternal.h.
References Arcane::ItemBase::flags(), frontCell(), Arcane::ItemFlags::II_FrontCellIsFirst, and Arcane::ItemFlags::II_HasFrontCell.
Referenced by frontCell().
|
inline |
Definition at line 1010 of file ItemInternal.h.
|
inline |
Definition at line 1006 of file ItemInternal.h.
|
inline |
Definition at line 1008 of file ItemInternal.h.
|
inline |
Definition at line 1014 of file ItemInternal.h.
|
inline |
Definition at line 1012 of file ItemInternal.h.
|
inline |
Definition at line 999 of file ItemInternal.h.
|
inline |
Definition at line 995 of file ItemInternal.h.
|
inline |
Definition at line 997 of file ItemInternal.h.
|
inline |
Definition at line 993 of file ItemInternal.h.
|
inline |
Definition at line 1004 of file ItemInternal.h.
|
inline |
Definition at line 977 of file ItemInternal.h.
|
inlineconstexpr |
Minimum memory required to store the entity information (without buffer).
Definition at line 1059 of file ItemInternal.h.
References minimumNeededMemory().
Referenced by minimumNeededMemory().
|
inlineconstexpr |
Memory required to store the entity information.
Definition at line 1055 of file ItemInternal.h.
References neededMemory().
Referenced by neededMemory().
Definition at line 1064 of file ItemInternal.h.
|
inlinestatic |
Definition at line 951 of file ItemInternal.h.
|
inline |
Definition at line 1016 of file ItemInternal.h.
|
inline |
Pointer to the list of parents.
Since currently only one level is supported, it is only allowed to call parentPtr()[0]. This does not allow any verification, so it is preferable to use parentId() or setParent() instead.
As of July 2022, this method is no longer used in Arcane, so if no code uses it (which should be the case since it is an internal method), we can quickly remove it.
Definition at line 1042 of file ItemInternal.h.
References Arcane::ItemBase::m_local_id, Arcane::ItemBase::m_shared_info, and parentPtr().
Referenced by parentPtr().
| void Arcane::ItemInternal::setDataIndex | ( | Integer | ) |
Definition at line 239 of file ItemInternal.cc.
|
inline |
Definition at line 1078 of file ItemInternal.h.
|
inline |
Shared information of the entity.
Definition at line 988 of file ItemInternal.h.
References Arcane::ItemBase::m_shared_info, and sharedInfo().
Referenced by sharedInfo().
| ItemInternal * Arcane::ItemInternal::topHParent | ( | ) |
Definition at line 140 of file ItemInternal.cc.
| const ItemInternal * Arcane::ItemInternal::topHParent | ( | ) | const |
AMR.
Definition at line 112 of file ItemInternal.cc.
References Arcane::ItemBase::level(), Arcane::ItemBase::nbHParent(), and Arcane::ItemBase::null().
| Int32 Arcane::ItemInternal::whichChildAmI | ( | const ItemInternal * | iitem | ) | const |
(iitem). Example: if rank = m_internal->whichChildAmI(iitem); then m_internal->hChild(rank) would be iitem; Definition at line 167 of file ItemInternal.cc.
References Arcane::ItemBase::hasHChildren(), and Arcane::ItemBase::nbHChildren().
|
friend |
Definition at line 944 of file ItemInternal.h.
|
friend |
Definition at line 945 of file ItemInternal.h.
|
static |
Null entity.
Definition at line 950 of file ItemInternal.h.