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;
63 virtual void preAllocate(
Integer nb_item);
131 void _addChildCellToCell(
Cell parent_cell,
Integer rank,
Cell child_cell);
132 void _addChildCellToCell2(
Cell parent_cell,
Cell child_cell);
134 void _removeParentCellToCell(
Cell cell);
135 void _removeChildCellToCell(
Cell parent_cell,
Cell cell);
136 void _removeChildrenCellsToCell(
Cell parent_cell);
144 ARCANE_DEPRECATED_REASON(
"Y2022: Use allocOne(Int64 uid,ItemTypeId type) instead")
147 ARCANE_DEPRECATED_REASON(
"Y2022: Use findOrAllocOne(Int64 uid,ItemTypeId type_id,bool& is_alloc) instead")
162 NodeConnectivity* m_node_connectivity;
163 EdgeConnectivity* m_edge_connectivity;
164 FaceConnectivity* m_face_connectivity;
165 HParentConnectivity* m_hparent_connectivity;
166 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 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.
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.
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.