0020184: EDF SMESH 952: Projection 2D does not work

use ShapeAnalysis::OuterWire() insead of BRepTools::OuterWire()
This commit is contained in:
eap 2009-03-03 08:38:05 +00:00
parent 2bd83d5b0b
commit d27067784a

View File

@ -36,6 +36,7 @@
#include <Extrema_ExtPC.hxx> #include <Extrema_ExtPC.hxx>
#include <Extrema_POnCurv.hxx> #include <Extrema_POnCurv.hxx>
#include <Geom2d_Curve.hxx> #include <Geom2d_Curve.hxx>
#include <ShapeAnalysis.hxx>
#include <TopExp_Explorer.hxx> #include <TopExp_Explorer.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx> #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <TopTools_ListIteratorOfListOfShape.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 // put wires in a list, so that an outer wire comes first
list<TopoDS_Wire> aWireList; list<TopoDS_Wire> aWireList;
TopoDS_Wire anOuterWire = BRepTools::OuterWire( theFace ); //TopoDS_Wire anOuterWire = BRepTools::OuterWire( theFace ); ### issue 0020184
aWireList.push_back( anOuterWire ); TopoDS_Wire anOuterWire = ShapeAnalysis::OuterWire( theFace );
//aWireList.push_back( anOuterWire ); ### issue 0020184
for ( TopoDS_Iterator wIt (theFace); wIt.More(); wIt.Next() ) for ( TopoDS_Iterator wIt (theFace); wIt.More(); wIt.Next() )
if ( !anOuterWire.IsSame( wIt.Value() )) if ( !anOuterWire.IsSame( wIt.Value() ))
aWireList.push_back( TopoDS::Wire( wIt.Value() )); aWireList.push_back( TopoDS::Wire( wIt.Value() ));
else
aWireList.push_front( TopoDS::Wire( wIt.Value() ));// ### issue 0020184
// loop on edges of wires // loop on edges of wires
theNbVertexInWires.clear(); theNbVertexInWires.clear();