Salome HOME
Adding support for BRep for shape
[modules/smesh.git] / src / SMESH / SMESH_MesherHelper.hxx
index 5950ec9315c33da59edd2eb53458f2459305ff8e..191c8814b9904ef3dddb7757c29af64a2121e91a 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
@@ -100,7 +100,7 @@ class SMESH_EXPORT SMESH_MesherHelper
    * \brief Load nodes bound to face into a map of node columns
     * \param theParam2ColumnMap - map of node columns to fill
     * \param theFace - the face on which nodes are searched for
-    * \param theBaseSide - the edges holding nodes on which columns' bases
+    * \param theBaseSide - the edges holding nodes on which columns base
     * \param theMesh - the mesh containing nodes
     * \retval bool - false if something is wrong
    * 
@@ -127,6 +127,13 @@ class SMESH_EXPORT SMESH_MesherHelper
    */
   static bool IsStructured( SMESH_subMesh* faceSM );
 
+  /*!
+   * \brief Return true if a node is at a corner of a 2D structured mesh of FACE
+   */
+  static bool IsCornerOfStructure( const SMDS_MeshNode*   n,
+                                   const SMESHDS_SubMesh* faceSM,
+                                   SMESH_MesherHelper&    faceAnalyser );
+
   /*!
    * \brief Return true if 2D mesh on FACE is distored
    */
@@ -547,11 +554,20 @@ public:
   bool GetNodeUVneedInFaceNode(const TopoDS_Face& F = TopoDS_Face()) const;
 
   /*!
-   * \brief Return projector initialized by given face without location, which is returned
+   * \brief Return projector initialized by given face without location
    */
   GeomAPI_ProjectPointOnSurf& GetProjector(const TopoDS_Face& F,
                                            TopLoc_Location&   loc,
-                                           double             tol=0 ) const; 
+                                           double             tol=0 ) const;
+  /*!
+   * \brief Return projector initialized by given face
+   */
+  GeomAPI_ProjectPointOnSurf& GetProjector(const TopoDS_Face& F,
+                                           double             tol=0 ) const;
+  /*!
+   * \brief Return projector initialized by given EDGE
+   */
+  GeomAPI_ProjectPointOnCurve& GetPCProjector(const TopoDS_Edge& E ) const;
   /*!
    * \brief Return a cached ShapeAnalysis_Surface of a FACE
    */