From: eap Date: Fri, 24 Oct 2014 14:01:50 +0000 (+0400) Subject: Regression of bugs_13/N9 X-Git-Tag: V7_5_0b1~10 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7432636e86000d141e3461dd5fad429ba897ab1c;p=modules%2Fsmesh.git Regression of bugs_13/N9 --- diff --git a/src/StdMeshers/StdMeshers_ProjectionUtils.cxx b/src/StdMeshers/StdMeshers_ProjectionUtils.cxx index da476e4b4..f4c233e3e 100644 --- a/src/StdMeshers/StdMeshers_ProjectionUtils.cxx +++ b/src/StdMeshers/StdMeshers_ProjectionUtils.cxx @@ -658,7 +658,6 @@ bool StdMeshers_ProjectionUtils::FindSubShapeAssociation(const TopoDS_Shape& the TopoDS_Shape F1, F2; // get a face sharing edge1 (F1) - TopoDS_Shape FF2[2]; TopTools_ListIteratorOfListOfShape ancestIt1( edgeToFace1.FindFromKey( edge1 )); for ( ; F1.IsNull() && ancestIt1.More(); ancestIt1.Next() ) if ( ancestIt1.Value().ShapeType() == TopAbs_FACE ) @@ -668,6 +667,7 @@ bool StdMeshers_ProjectionUtils::FindSubShapeAssociation(const TopoDS_Shape& the RETURN_BAD_RESULT(" Face1 not found"); // get 2 faces sharing edge2 (one of them is F2) + TopoDS_Shape FF2[2]; TopTools_ListIteratorOfListOfShape ancestIt2( edgeToFace2.FindFromKey( edge2 )); for ( int i = 0; FF2[1].IsNull() && ancestIt2.More(); ancestIt2.Next() ) if ( ancestIt2.Value().ShapeType() == TopAbs_FACE ) diff --git a/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx b/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx index 3b36e0058..5ef61aab9 100644 --- a/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx +++ b/src/StdMeshers/StdMeshers_RadialPrism_3D.cxx @@ -179,13 +179,13 @@ bool StdMeshers_RadialPrism_3D::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& a // ---------------------------------- ProjectionUtils::TShapeShapeMap shape2ShapeMaps[2]; - if ( !ProjectionUtils::FindSubShapeAssociation( innerShell, &aMesh, - outerShell, &aMesh, - shape2ShapeMaps[0]) - && - !ProjectionUtils::FindSubShapeAssociation( innerShell.Reversed(), &aMesh, - outerShell, &aMesh, - shape2ShapeMaps[1])) + bool mapOk1 = ProjectionUtils::FindSubShapeAssociation( innerShell, &aMesh, + outerShell, &aMesh, + shape2ShapeMaps[0]); + bool mapOk2 = ProjectionUtils::FindSubShapeAssociation( innerShell.Reversed(), &aMesh, + outerShell, &aMesh, + shape2ShapeMaps[1]); + if ( !mapOk1 && !mapOk2 ) return error(COMPERR_BAD_SHAPE,"Topology of inner and outer shells seems different" ); int iMap;