12#ifndef ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
13#define ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/IMeshUtilities.h"
40class UnstructuredMeshUtilities
46 explicit UnstructuredMeshUtilities(
IMesh*
mesh);
57 bool allow_null)
override;
61 bool allow_null)
override;
95 bool initial_partition)
override;
99 bool allow_non_corresponding_face)
override;
109 IMesh* m_mesh =
nullptr;
115 Real3 _broadcastFarthestNode(
Real distance,
const Node& node,
Modifiable view of an array of type T.
Utility functions on a mesh.
Constant view of an array of type T.
Interface of a mesh partitioner.
Interface of a class providing utility functions on meshes.
Implementation of an array of lists of entities.
Class managing a 3-dimensional real vector.
Unicode character string.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
Real3 computeDirection(const NodeGroup &node_group, const VariableNodeReal3 &nodes_coord, Real3 *n1, Real3 *n2) override
void mergeNodes(Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id, bool allow_non_corresponding_face) override
Merges nodes.
Real3 computeNormal(const FaceGroup &face_group, const VariableNodeReal3 &nodes_coord) override
Calculates the normal of a face group.
~UnstructuredMeshUtilities() override
Frees resources.
void partitionAndExchangeMeshWithReplication(IMeshPartitionerBase *partitioner, bool initial_partition) override
Repartitions and exchanges the mesh while managing replication.
void getFacesLocalIdFromConnectivity(ConstArrayView< ItemTypeId > items_type, ConstArrayView< Int64 > items_connectivity, ArrayView< Int32 > local_ids, bool allow_null) override
Searches for the local IDs of faces based on their connectivity.
void computeAndSetOwnersForEdges() override
Determines the owners of the edges.
void computeAdjency(ItemPairGroup adjency_array, eItemKind link_kind, Integer nb_layer) override
Calculates adjacencies, stored in adjacency_array.
bool writeToFile(const String &file_name, const String &service_name) override
Writes the mesh to a file.
void changeOwnersFromCells() override
Positions the new owners of nodes, edges, and faces based on the cells.
void localIdsFromConnectivity(eItemKind item_kind, IntegerConstArrayView items_nb_node, Int64ConstArrayView items_connectivity, Int32ArrayView local_ids, bool allow_null) override
Searches for the local IDs of entities based on their connectivity.
void recomputeItemsUniqueIdFromNodesUniqueId() override
Recalculates the uniqueId() of edges, faces, and cells based on the uniqueId() of the nodes.
void computeAndSetOwnersForFaces() override
Determines the owners of the faces.
void computeAndSetOwnersForNodes() override
Determines the owners of the nodes.
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 --
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.
double Real
Type representing a real number.
ConstArrayView< Integer > IntegerConstArrayView
C equivalent of a 1D array of integers.