Salome HOME
0020128: EDF SMESH 926 : Quadratic conversion of BLSURF mesh
[modules/smesh.git] / src / SMESH / SMESH_Block.cxx
index 0fd49966a84c9af44cb85036dd4805043686ff51..fd4edab3265c9dbc468fc264a3ebe3a363f6be8b 100644 (file)
@@ -36,6 +36,7 @@
 #include <Extrema_ExtPC.hxx>
 #include <Extrema_POnCurv.hxx>
 #include <Geom2d_Curve.hxx>
+#include <ShapeAnalysis.hxx>
 #include <TopExp_Explorer.hxx>
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 #include <TopTools_ListIteratorOfListOfShape.hxx>
@@ -963,11 +964,14 @@ int SMESH_Block::GetOrderedEdges (const TopoDS_Face&   theFace,
 {
   // put wires in a list, so that an outer wire comes first
   list<TopoDS_Wire> aWireList;
-  TopoDS_Wire anOuterWire = BRepTools::OuterWire( theFace );
-  aWireList.push_back( anOuterWire );
+  //TopoDS_Wire anOuterWire = BRepTools::OuterWire( theFace ); ### issue 0020184
+  TopoDS_Wire anOuterWire = ShapeAnalysis::OuterWire( theFace );
+  //aWireList.push_back( anOuterWire ); ### issue 0020184
   for ( TopoDS_Iterator wIt (theFace); wIt.More(); wIt.Next() )
     if ( !anOuterWire.IsSame( wIt.Value() ))
       aWireList.push_back( TopoDS::Wire( wIt.Value() ));
+    else
+      aWireList.push_front( TopoDS::Wire( wIt.Value() ));// ### issue 0020184
 
   // loop on edges of wires
   theNbVertexInWires.clear();