12#ifndef ARCANE_CORE_IMESHUTILITIES_H
13#define ARCANE_CORE_IMESHUTILITIES_H
17#include "arcane/utils/Real3.h"
51 ARCANE_DEPRECATED_REASON(
"Y2025: Use getFacesLocalIdFromConnectivity() instead")
56 bool allow_null = false) = 0;
85 bool allow_null = false) = 0;
134 ARCANE_DEPRECATED_REASON(
"Y2020: Use computeAdjacency() instead")
166 ARCANE_DEPRECATED_REASON(
"Y2025: Use MeshUtils::computeAndSetOwnerForNodes() instead")
177 ARCANE_DEPRECATED_REASON(
"Y2025: Use MeshUtils::computeAndSetOwnerForEdges() instead")
188 ARCANE_DEPRECATED_REASON(
"Y2025: Use MeshUtils::computeAndSetOwnerForFaces() instead")
230 bool initial_partition) = 0;
238 this->
mergeNodes(nodes_local_id, nodes_to_merge_local_id,
false);
261 bool allow_non_corresponding_face) = 0;
Declarations of Arcane's general types.
Declarations of types on entities.
Modifiable view of an array of type T.
Constant view of an array of type T.
Interface of a mesh partitioner.
Interface of a class providing utility functions on meshes.
virtual void changeOwnersFromCells()=0
Positions the new owners of nodes, edges, and faces based on the cells.
virtual ~IMeshUtilities()=default
Frees resources.
virtual void mergeNodes(Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id)
Merges nodes.
virtual Real3 computeNormal(const FaceGroup &face_group, const VariableNodeReal3 &nodes_coord)=0
Calculates the normal of a face group.
virtual void computeAdjency(ItemPairGroup adjacency_array, eItemKind link_kind, Integer nb_layer)=0
Calculates adjacencies, stored in adjacency_array.
virtual void mergeNodes(Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id, bool allow_non_corresponding_face)=0
Merges nodes.
virtual void computeAndSetOwnersForFaces()=0
Determines the owners of the faces.
virtual void computeAdjacency(const ItemPairGroup &adjacency_array, eItemKind link_kind, Integer nb_layer)
Calculates adjacencies, stored in adjacency_array.
virtual void computeAndSetOwnersForEdges()=0
Determines the owners of the edges.
virtual void computeAndSetOwnersForNodes()=0
Determines the owners of the nodes.
virtual void localIdsFromConnectivity(eItemKind item_kind, IntegerConstArrayView items_nb_node, Int64ConstArrayView items_connectivity, Int32ArrayView local_ids, bool allow_null=false)=0
Searches for the local IDs of entities based on their connectivity.
virtual void getFacesLocalIdFromConnectivity(ConstArrayView< ItemTypeId > items_type, ConstArrayView< Int64 > items_connectivity, ArrayView< Int32 > local_ids, bool allow_null=false)=0
Searches for the local IDs of faces based on their connectivity.
virtual void partitionAndExchangeMeshWithReplication(IMeshPartitionerBase *partitioner, bool initial_partition)=0
Repartitions and exchanges the mesh while managing replication.
virtual Real3 computeDirection(const NodeGroup &node_group, const VariableNodeReal3 &nodes_coord, Real3 *n1, Real3 *n2)=0
Calculates the direction vector of a line.
virtual bool writeToFile(const String &file_name, const String &service_name)=0
Writes the mesh to a file.
virtual void recomputeItemsUniqueIdFromNodesUniqueId()=0
Recalculates the uniqueId() of edges, faces, and cells based on the uniqueId() of the nodes.
Type of an entity (Item).
Class managing a 3-dimensional real vector.
Unicode character string.
ItemGroupT< Face > FaceGroup
Group of faces.
ItemGroupT< Node > NodeGroup
Group of nodes.
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Coordinate type quantity at node.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
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.
eItemKind
Mesh entity type.
ConstArrayView< Integer > IntegerConstArrayView
C equivalent of a 1D array of integers.
std::int32_t Int32
Signed integer type of 32 bits.