12#ifndef ARCANE_MESH_CELLFAMILY_H
13#define ARCANE_MESH_CELLFAMILY_H
17#include "arcane/core/IItemFamilyModifier.h"
19#include "arcane/mesh/ItemFamily.h"
20#include "arcane/mesh/ItemInternalConnectivityIndex.h"
35class HParentCellCompactIncrementalItemConnectivity;
36class HChildCellCompactIncrementalItemConnectivity;
44class ARCANE_MESH_EXPORT CellFamily
58 virtual ~CellFamily();
62 virtual void build()
override;
71 virtual void preAllocate(
Integer nb_item);
139 void _addChildCellToCell(
Cell parent_cell,
Integer rank,
Cell child_cell);
140 void _addChildCellToCell2(
Cell parent_cell,
Cell child_cell);
142 void _removeParentCellToCell(
Cell cell);
143 void _removeChildCellToCell(
Cell parent_cell,
Cell cell);
144 void _removeChildrenCellsToCell(
Cell parent_cell);
152 ARCANE_DEPRECATED_REASON(
"Y2022: Use allocOne(Int64 uid,ItemTypeId type) instead")
155 ARCANE_DEPRECATED_REASON(
"Y2022: Use findOrAllocOne(Int64 uid,ItemTypeId type_id,bool& is_alloc) instead")
170 NodeConnectivity* m_node_connectivity;
171 EdgeConnectivity* m_edge_connectivity;
172 FaceConnectivity* m_face_connectivity;
173 HParentConnectivity* m_hparent_connectivity;
174 HChildConnectivity* m_hchild_connectivity;
Constant view of an array of type T.
Interface for modifying a family.
Interface of an entity family.
Internal structure of a mesh entity.
Index of an Item in a variable.
Type of an entity (Item).
Info on a mesh entity type.
Base class for a mesh element.
Unicode character string.
void _removeSubItems(Cell cell)
Item allocOne(Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override
Allocates an element in the family and updates the corresponding mesh_info.
void allocateItemsBulk(Int64ConstArrayView uids, ItemTypeInfo *type, Int32 owner, Int32ArrayView lids)
Allocates every item of uids at once, in one pass per family array.
void detachCells2(Int32ConstArrayView cell_local_ids)
virtual void internalRemoveItems(Int32ConstArrayView local_ids, bool keep_ghost=false) override
void replaceNode(ItemLocalId cell, Integer index, ItemLocalId node)
Replaces the node at index index of the cell cell with that of localId() node.
void removeCell(Cell cell)
void removeCells(ConstArrayView< Int32 > cells_local_id)
Removes the cells whose local numbers are cells_local_id.
void removeDetachedCell(Cell cell)
virtual void computeSynchronizeInfos() override
Constructs the structures necessary for synchronization.
IncrementalItemConnectivity * nodeConnectivity() const
The true connectivity behind the selector, for a bulk fill.
void _removeNotConnectedSubItems(Cell cell)
Removes cell sub-entities that are not connected to any cell.
void _addParentCellToCell(Cell cell, Cell parent_cell)
AMR.
void replaceFace(ItemLocalId cell, Integer index, ItemLocalId face)
Replaces the face at index index of the cell cell with that of localId() face.
void detachCell(Cell cell)
void replaceEdge(ItemLocalId cell, Integer index, ItemLocalId edge)
Replaces the edge at index index of the cell cell with that of localId() edge.
void setConnectivity(const Integer c)
Defines the active connectivity for the associated mesh.
Incremental item->item[] connectivity.
Selection between historical and on-demand connectivities.
IMesh * mesh() const override
Associated mesh.
String name() const override
Family name.
Class containing mesh information.
std::int64_t Int64
Signed integer type of 64 bits.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
ConstArrayView< Int64 > Int64ConstArrayView
C equivalent of a 1D array of 64-bit integers.
ArrayView< Int32 > Int32ArrayView
C equivalent of a 1D array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.