Salome HOME
23239: [CEA 1739] Regression : crash trying to create mesh
[modules/smesh.git] / src / SMESHUtils / SMESH_MAT2d.hxx
index eff5c10d5e7ef733116483d36b9f1f302b701a29..328366ccefe7d81b9e71f8d80c7d65adf540f27d 100644 (file)
@@ -82,7 +82,8 @@ namespace SMESH_MAT2d
     std::size_t   _iEdge; // MA edge index within the branch
     double        _edgeParam; // normalized param within the MA edge
 
-    BranchPoint(): _branch(0), _iEdge(0), _edgeParam(-1) {}
+    BranchPoint( const Branch* b = 0, std::size_t e = 0, double u = -1 ):
+      _branch(b), _iEdge(e), _edgeParam(u) {}
   };
   //-------------------------------------------------------------------------------------
   /*!
@@ -119,9 +120,9 @@ namespace SMESH_MAT2d
 
   public: // internal: construction
 
-    void init( std::vector<const TVDEdge*>&                maEdges,
-               const Boundary*                             boundary,
-               std::map< const TVDVertex*, BranchEndType > endType);
+    void init( std::vector<const TVDEdge*>&                 maEdges,
+               const Boundary*                              boundary,
+               std::map< const TVDVertex*, BranchEndType >& endType);
     void setBranchesToEnds( const std::vector< Branch >&   branches);
     BranchPoint getPoint( const TVDVertex* vertex ) const;
     void setRemoved( const BranchPoint& proxyPoint );
@@ -180,6 +181,8 @@ namespace SMESH_MAT2d
 
     bool getBranchPoint( const std::size_t iEdge, double u, BranchPoint& p ) const;
 
+    bool getBranchPoint( const BoundaryPoint& bp, BranchPoint& p ) const;
+
     bool isConcaveSegment( std::size_t iEdge, std::size_t iSeg ) const;
 
     bool moveToClosestEdgeEnd( BoundaryPoint& bp ) const;