diff --git a/arcane/src/arcane/core/IMeshUtilities.h b/arcane/src/arcane/core/IMeshUtilities.h index bdcb40f26..63c8d8675 100644 --- a/arcane/src/arcane/core/IMeshUtilities.h +++ b/arcane/src/arcane/core/IMeshUtilities.h @@ -162,6 +162,7 @@ class ARCANE_CORE_EXPORT IMeshUtilities * * Cette opération est collective. */ + ARCANE_DEPRECATED_REASON("Y2025: Use MeshUtils::computeAndSetOwnerForNodes() instead") virtual void computeAndSetOwnersForNodes() =0; /*! @@ -172,6 +173,7 @@ class ARCANE_CORE_EXPORT IMeshUtilities * * Cette opération est collective. */ + ARCANE_DEPRECATED_REASON("Y2025: Use MeshUtils::computeAndSetOwnerForEdges() instead") virtual void computeAndSetOwnersForEdges() = 0; /*! @@ -182,6 +184,7 @@ class ARCANE_CORE_EXPORT IMeshUtilities * * Cette opération est collective. */ + ARCANE_DEPRECATED_REASON("Y2025: Use MeshUtils::computeAndSetOwnerForFaces() instead") virtual void computeAndSetOwnersForFaces() =0; /*! diff --git a/arcane/src/arcane/core/MeshUtils.cc b/arcane/src/arcane/core/MeshUtils.cc index db89e1f9d..65db29071 100644 --- a/arcane/src/arcane/core/MeshUtils.cc +++ b/arcane/src/arcane/core/MeshUtils.cc @@ -45,6 +45,7 @@ #include "arcane/core/ITiedInterface.h" #include "arcane/core/SharedVariable.h" #include "arcane/core/MeshVisitor.h" +#include "arcane/core/IMeshUtilities.h" #include "arcane/core/IVariableSynchronizer.h" #include "arcane/core/UnstructuredMeshConnectivity.h" #include "arcane/core/datatype/DataAllocationInfo.h" @@ -1952,6 +1953,36 @@ generateHashUniqueId(SmallSpan nodes_unique_id) /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ +void MeshUtils:: +computeAndSetOwnerForNodes(IMesh* mesh) +{ + ARCANE_CHECK_POINTER(mesh); + mesh->utilities()->computeAndSetOwnersForNodes(); +} + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +void MeshUtils:: +computeAndSetOwnerForEdges(IMesh* mesh) +{ + ARCANE_CHECK_POINTER(mesh); + mesh->utilities()->computeAndSetOwnersForEdges(); +} + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +void MeshUtils:: +computeAndSetOwnerForFaces(IMesh* mesh) +{ + ARCANE_CHECK_POINTER(mesh); + mesh->utilities()->computeAndSetOwnersForFaces(); +} + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + } // End namespace Arcane /*---------------------------------------------------------------------------*/ diff --git a/arcane/src/arcane/core/MeshUtils.h b/arcane/src/arcane/core/MeshUtils.h index f0b503f0b..c32e54cd1 100644 --- a/arcane/src/arcane/core/MeshUtils.h +++ b/arcane/src/arcane/core/MeshUtils.h @@ -459,6 +459,45 @@ computeNodeNodeViaEdgeConnectivity(IMesh* mesh, const String& connectivity_name) extern "C++" ARCANE_CORE_EXPORT Ref computeBoundaryNodeNodeViaEdgeConnectivity(IMesh* mesh, const String& connectivity_name); +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ +/*! + * \brief Détermine les propriétaires des noeuds. + * + * La détermination se fait en fonction des propriétaires des mailles. + * Il ne doit pas y avoir de couches de mailles fantômes. + * + * Cette opération est collective. + */ +extern "C++" ARCANE_CORE_EXPORT void +computeAndSetOwnerForNodes(IMesh* mesh); + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ +/*! + * \brief Détermine les propriétaires des arêtes. + * + * La détermination se fait en fonction des propriétaires des mailles. + * Il ne doit pas y avoir de couches de mailles fantômes. + * + * Cette opération est collective. + */ +extern "C++" ARCANE_CORE_EXPORT void +computeAndSetOwnerForEdges(IMesh* mesh); + +/*---------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ +/*! + * \brief Détermine les propriétaires des faces. + * + * La détermination se fait en fonction des propriétaires des mailles. + * Il ne doit pas y avoir de couches de mailles fantômes. + * + * Cette opération est collective. + */ +extern "C++" ARCANE_CORE_EXPORT void +computeAndSetOwnerForFaces(IMesh* mesh); + /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ diff --git a/arcane/src/arcane/tests/MeshUnitTest.cc b/arcane/src/arcane/tests/MeshUnitTest.cc index 9bb87055c..761c88049 100644 --- a/arcane/src/arcane/tests/MeshUnitTest.cc +++ b/arcane/src/arcane/tests/MeshUnitTest.cc @@ -1806,9 +1806,9 @@ _testComputeOwnersDirect() info() << "Test: _testComputeOwnersDirect()"; mesh()->modifier()->setDynamic(true); mesh()->modifier()->updateGhostLayers(); - mesh()->utilities()->computeAndSetOwnersForNodes(); - mesh()->utilities()->computeAndSetOwnersForEdges(); - mesh()->utilities()->computeAndSetOwnersForFaces(); + MeshUtils::computeAndSetOwnerForNodes(mesh()); + MeshUtils::computeAndSetOwnerForEdges(mesh()); + MeshUtils::computeAndSetOwnerForFaces(mesh()); } /*---------------------------------------------------------------------------*/