X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_MAT2d.hxx;h=e6eb24e15e494d23463a14f6d07eb1b513ccc536;hp=2ba0066c5efa9566c3a5bc82427de6be63c32df5;hb=d9f4b53e489dd5857db264ede6acded7b076c9f1;hpb=fe7d1d57677486d8c546226dc2bf573fbfb6679d diff --git a/src/SMESHUtils/SMESH_MAT2d.hxx b/src/SMESHUtils/SMESH_MAT2d.hxx index 2ba0066c5..e6eb24e15 100644 --- a/src/SMESHUtils/SMESH_MAT2d.hxx +++ b/src/SMESHUtils/SMESH_MAT2d.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 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 @@ -56,7 +56,7 @@ namespace SMESH_MAT2d //------------------------------------------------------------------------------------- // type of Branch end point enum BranchEndType { BE_UNDEF, - BE_ON_VERTEX, // branch ends at a convex VRTEX + BE_ON_VERTEX, // branch ends at a convex VERTEX BE_BRANCH_POINT, // branch meats 2 or more other branches BE_END // branch end equidistant from several adjacent segments }; @@ -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& maEdges, - const Boundary* boundary, - std::map< const TVDVertex*, BranchEndType > endType); + void init( std::vector& 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 ); @@ -138,7 +139,7 @@ namespace SMESH_MAT2d std::vector< BranchPoint >& divPoints, const std::vector& maEdges, const std::vector& maEdgesTwin, - size_t & i) const; + int & i) const; // association of _maEdges with boundary segments is stored in this way: // index of an EDGE: TVDEdge->cell()->color() @@ -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;