12#ifndef ARCANE_MESH_EDGEFAMILY_H
13#define ARCANE_MESH_EDGEFAMILY_H
17#include "arcane/core/IItemFamilyModifier.h"
19#include "arcane/mesh/ItemFamily.h"
20#include "arcane/mesh/ItemInternalConnectivityIndex.h"
33class ARCANE_MESH_EXPORT EdgeFamily
45 virtual ~EdgeFamily();
49 virtual void build()
override;
50 virtual void preAllocate(
Integer nb_item);
89 void reorientEdgesIfNeeded();
94 bool m_has_edge =
false;
98 Integer m_mesh_connectivity = 0;
99 NodeConnectivity* m_node_connectivity =
nullptr;
100 FaceConnectivity* m_face_connectivity =
nullptr;
101 CellConnectivity* m_cell_connectivity =
nullptr;
108 inline void _removeEdge(
Edge edge);
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 allocateItemsBulk(Int64ConstArrayView uids, Int32 owner, Int32ArrayView lids)
Allocates every edge of uids at once, in one pass per family array.
void removeCellFromEdge(Edge edge, ItemLocalId cell_to_remove_lid)
Removes a cell from an edge.
virtual void computeSynchronizeInfos() override
Constructs the structures necessary for synchronization.
IncrementalItemConnectivity * nodeConnectivity() const
The true connectivity behind the selector, for a bulk fill.
void removeFaceFromEdge(ItemLocalId edge, ItemLocalId face_to_remove)
Removes a face from an edge.
Item findOrAllocOne(Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info, bool &is_alloc) override
Retrieves or allocates a unique numbered edge uid and of type type.Generic item addition.
void setConnectivity(const Integer c)
Sets the active connectivity for the associated mesh.
NodeFamily * m_node_family
Node family associated with this family.
void removeEdgeIfNotConnected(Edge edge)
Removes the edge if it is no longer connected.
void addFaceToEdge(Edge edge, Face new_face)
Adds a neighboring face to an edge.
Item allocOne(Int64 uid, ItemTypeId type_id, MeshInfos &mesh_info) override
Version called in generic item addition.
void addCellToEdge(Edge edge, Cell new_cell)
Adds a neighboring cell to an edge.
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< 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.