Salome HOME
Merge branch 'V9_9_BR'
[modules/smesh.git] / src / SMESHUtils / SMESH_MeshAlgos.hxx
index 5c5df659b554a609544285f3d2bb885dc7a0ac80..ea5a1ee094bc37594f34aab0367d7e33edd2809d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -199,6 +199,12 @@ namespace SMESH_MeshAlgos
   SMESHUtils_EXPORT
   std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
                                                     const SMDS_MeshElement* e2);
+  /*!
+   * \brief Return true if a node is on a boundary of 2D mesh.
+   *        Optionally returns two neighboring boundary nodes (or more in non-manifold mesh)
+   */
+  SMESHUtils_EXPORT bool IsOn2DBoundary( const SMDS_MeshNode* node,
+                                         std::vector< const SMDS_MeshNode*> * neibors = nullptr );
   /*!
    * \brief Return true if node1 encounters first in the face and node2, after.
    *        The nodes are supposed to be neighbor nodes in the face.
@@ -225,6 +231,7 @@ namespace SMESH_MeshAlgos
 
   /*!
    * \brief Mark elements given by SMDS_Iterator
+   * \sa SMDS_Mesh::SetAllNodesNotMarked() and SMDS_Mesh::SetAllCellsNotMarked()
    */
   template< class ElemIter >
   void MarkElems( ElemIter it, const bool isMarked )