From 45b939fb48267cc638c35ee0a6e67d214b0ceac5 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 18 Nov 2013 14:55:27 +0000 Subject: [PATCH] Regression SALOME_TESTS/Grids/smesh/3D_mesh_HEXA3D_00/C2 Fix GetAngle() to take Orientation() of input edges as is and not using GetSubShapeOri() which is wrong for the seam edge --- src/SMESH/SMESH_MesherHelper.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SMESH/SMESH_MesherHelper.cxx b/src/SMESH/SMESH_MesherHelper.cxx index 2e8d707ae..75cbbeeff 100644 --- a/src/SMESH/SMESH_MesherHelper.cxx +++ b/src/SMESH/SMESH_MesherHelper.cxx @@ -2666,6 +2666,8 @@ double SMESH_MesherHelper::MaxTolerance( const TopoDS_Shape& shape ) * of the FACE normal * \return double - the angle (between -Pi and Pi), negative if the angle is concave, * 1e100 in case of failure + * \waring Care about order of the EDGEs and their orientation to be as they are + * within the FACE! */ //================================================================================ @@ -2699,9 +2701,9 @@ double SMESH_MesherHelper::GetAngle( const TopoDS_Edge & theE1, TopoDS_Face F = theFace; if ( F.Orientation() == TopAbs_INTERNAL ) F.Orientation( TopAbs_FORWARD ); - if ( GetSubShapeOri( F, theE1 ) == TopAbs_REVERSED ) + if ( theE1.Orientation() /*GetSubShapeOri( F, theE1 )*/ == TopAbs_REVERSED ) vec1.Reverse(); - if ( GetSubShapeOri( F, theE2 ) == TopAbs_REVERSED ) + if ( theE2.Orientation() /*GetSubShapeOri( F, theE2 )*/ == TopAbs_REVERSED ) vec2.Reverse(); angle = vec1.AngleWithRef( vec2, vecRef ); } -- 2.30.2