Salome HOME
Merge branch 'V9_7_BR'
[modules/smesh.git] / src / StdMeshers / StdMeshers_FaceSide.hxx
index 6759f50a920ce7ccbd08c67e1b46c9a9b0c239f5..72e7b99b834fb76c416087897ec47a345c17f27d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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
@@ -82,13 +82,13 @@ public:
   /*!
    * \brief Wrap several edges. Edges must be properly ordered and oriented.
    */
-  StdMeshers_FaceSide(const TopoDS_Face&      theFace,
-                      std::list<TopoDS_Edge>& theEdges,
-                      SMESH_Mesh*             theMesh,
-                      const bool              theIsForward,
-                      const bool              theIgnoreMediumNodes,
-                      SMESH_MesherHelper*     theFaceHelper = NULL,
-                      SMESH_ProxyMesh::Ptr    theProxyMesh = SMESH_ProxyMesh::Ptr());
+  StdMeshers_FaceSide(const TopoDS_Face&            theFace,
+                      const std::list<TopoDS_Edge>& theEdges,
+                      SMESH_Mesh*                   theMesh,
+                      const bool                    theIsForward,
+                      const bool                    theIgnoreMediumNodes,
+                      SMESH_MesherHelper*           theFaceHelper = NULL,
+                      SMESH_ProxyMesh::Ptr          theProxyMesh = SMESH_ProxyMesh::Ptr());
   /*!
    * \brief Simulate a side from a vertex using data from other FaceSide
    */
@@ -109,7 +109,7 @@ public:
 
   ~StdMeshers_FaceSide();
 
-  // static "consrtuctors"
+  // static "constructors"
   static StdMeshers_FaceSidePtr New(const TopoDS_Face&   Face,
                                     const TopoDS_Edge&   Edge,
                                     SMESH_Mesh*          Mesh,
@@ -120,13 +120,13 @@ public:
   { return StdMeshers_FaceSidePtr
       ( new StdMeshers_FaceSide( Face,Edge,Mesh,IsForward,IgnoreMediumNodes,FaceHelper,ProxyMesh ));
   }
-  static StdMeshers_FaceSidePtr New (const TopoDS_Face&      Face,
-                                     std::list<TopoDS_Edge>& Edges,
-                                     SMESH_Mesh*             Mesh,
-                                     const bool              IsForward,
-                                     const bool              IgnoreMediumNodes,
-                                     SMESH_MesherHelper*     FaceHelper = NULL,
-                                     SMESH_ProxyMesh::Ptr    ProxyMesh = SMESH_ProxyMesh::Ptr())
+  static StdMeshers_FaceSidePtr New (const TopoDS_Face&            Face,
+                                     const std::list<TopoDS_Edge>& Edges,
+                                     SMESH_Mesh*                   Mesh,
+                                     const bool                    IsForward,
+                                     const bool                    IgnoreMediumNodes,
+                                     SMESH_MesherHelper*           FaceHelper = NULL,
+                                     SMESH_ProxyMesh::Ptr          ProxyMesh = SMESH_ProxyMesh::Ptr())
   { return StdMeshers_FaceSidePtr
       ( new StdMeshers_FaceSide( Face,Edges,Mesh,IsForward,IgnoreMediumNodes,FaceHelper,ProxyMesh ));
   }
@@ -141,9 +141,11 @@ public:
       ( new StdMeshers_FaceSide( Side,Node,Pnt2d1,Pnt2d2,C2d,UFirst,ULast ));
   }
   static StdMeshers_FaceSidePtr New (UVPtStructVec&     theSideNodes,
-                                     const TopoDS_Face& theFace = TopoDS_Face())
+                                     const TopoDS_Face& theFace = TopoDS_Face(),
+                                     const TopoDS_Edge& theEdge = TopoDS_Edge(),
+                                     SMESH_Mesh*        theMesh = 0)
   {
-    return StdMeshers_FaceSidePtr( new StdMeshers_FaceSide( theSideNodes, theFace ));
+    return StdMeshers_FaceSidePtr( new StdMeshers_FaceSide( theSideNodes, theFace, theEdge, theMesh ));
   }
 
   /*!
@@ -170,13 +172,13 @@ public:
    *        Call it with update == true if mesh of this side can be recomputed
    *        since creation of this side
    */
-  int NbPoints(const bool update = false) const;
+  smIdType NbPoints(const bool update = false) const;
   /*!
    * \brief Return nb edges
    *        Call it with update == true if mesh of this side can be recomputed
    *        since creation of this side
    */
-  int NbSegments(const bool update = false) const;
+  smIdType NbSegments(const bool update = false) const;
   /*!
    * \brief Return mesh
    */
@@ -205,7 +207,7 @@ public:
                                           double constValue = 0) const;
   /*!
    * \brief Return nodes in the order they encounter while walking along
-   *  the while side or a specified EDGE. For a closed side, the 1st point repeats at end.
+   *  the whole side or a specified EDGE. For a closed side, the 1st point repeats at end.
    *  \param iE - index of the EDGE. Default is "all EDGEs".
    */
   std::vector<const SMDS_MeshNode*> GetOrderedNodes( int iE = ALL_EDGES ) const;
@@ -253,7 +255,7 @@ public:
   /*!
    * \brief Return nb of wrapped edges
    */
-  int NbEdges() const { return myEdge.size(); }
+  int NbEdges() const { return (int)myEdge.size(); }
   /*!
    * \brief Return i-th edge (count starts from zero)
    */
@@ -344,7 +346,7 @@ protected:
   std::vector<double>               myEdgeLength;
   std::vector<int>                  myIsUniform;
   double                            myLength;
-  int                               myNbPonits, myNbSegments;
+  smIdType                          myNbPonits, myNbSegments;
   SMESH_ProxyMesh::Ptr              myProxyMesh;
   bool                              myMissingVertexNodes, myIgnoreMediumNodes;
   gp_Pnt2d                          myDefaultPnt2d;
@@ -362,7 +364,7 @@ protected:
 
 inline int StdMeshers_FaceSide::EdgeIndex( double U ) const
 {
-  int i = myNormPar.size() - 1;
+  int i = (int)myNormPar.size() - 1;
   while ( i > 0 && U < myNormPar[ i-1 ] ) --i;
   return i;
 }