X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MesherHelper.cxx;h=0ca91a4d34df1f06ae08723e1962fa872b99a56b;hp=34e663815d32487c21c1427e88b78966091236c9;hb=2daa321efae3d0c6ce41199fa5a2482630d505d9;hpb=2ed875d56d133c56ca7cd9d68504a2c12c94120b diff --git a/src/SMESH/SMESH_MesherHelper.cxx b/src/SMESH/SMESH_MesherHelper.cxx index 34e663815..0ca91a4d3 100644 --- a/src/SMESH/SMESH_MesherHelper.cxx +++ b/src/SMESH/SMESH_MesherHelper.cxx @@ -356,9 +356,12 @@ gp_XY SMESH_MesherHelper::GetNodeUV(const TopoDS_Face& F, static_cast(n->GetPosition().get()); int edgeID = Pos->GetShapeId(); TopoDS_Edge E = TopoDS::Edge(GetMeshDS()->IndexToShape(edgeID)); - double f, l; + double f, l, u = epos->GetUParameter(); Handle(Geom2d_Curve) C2d = BRep_Tool::CurveOnSurface(E, F, f, l); - uv = C2d->Value( epos->GetUParameter() ); + if ( f < u && u < l ) + uv = C2d->Value( u ); + else + uv.SetCoord(0.,0.); uvOK = CheckNodeUV( F, n, uv.ChangeCoord(), BRep_Tool::Tolerance( E )); // for a node on a seam edge select one of UVs on 2 pcurves