From: eap Date: Mon, 18 Nov 2013 14:55:27 +0000 (+0000) Subject: Regression SALOME_TESTS/Grids/smesh/3D_mesh_HEXA3D_00/C2 X-Git-Tag: V7_3_0a1~46 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=45b939fb48267cc638c35ee0a6e67d214b0ceac5;hp=c789cfecef7a920221bacddc77fc3fb675dd79f5 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 --- 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 ); }