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);
81 void reorientEdgesIfNeeded();
86 bool m_has_edge =
false;
90 Integer m_mesh_connectivity = 0;
91 NodeConnectivity* m_node_connectivity =
nullptr;
92 FaceConnectivity* m_face_connectivity =
nullptr;
93 CellConnectivity* m_cell_connectivity =
nullptr;
100 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 removeCellFromEdge(Edge edge, ItemLocalId cell_to_remove_lid)
Removes a cell from an edge.
virtual void computeSynchronizeInfos() override
Constructs the structures necessary for synchronization.
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.
void replaceNode(ItemLocalId edge, Integer index, ItemLocalId node)
Replaces the node at index index of the edge edge with * that of localId() node_lid.
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.
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.