From: skv Date: Fri, 11 Apr 2014 06:54:04 +0000 (+0400) Subject: 0022512: Fix for regression after fix for 0022514 X-Git-Tag: V7_4_0b1~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=239fd07e4d7253ee1114595396088a3e3b51f316;p=modules%2Fgeom.git 0022512: Fix for regression after fix for 0022514 --- diff --git a/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx b/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx index 61b902d17..360b94c83 100644 --- a/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx @@ -990,9 +990,23 @@ TopoDS_Edge GEOMImpl_ShapeDriver::MakeEdgeFromWire(const TopoDS_Shape& aWire, Handle(Geom_Curve)::DownCast(CurveSeq(1)->Copy()); aNewCurve->Transform(LocSeq(1).Location().Transformation()); + + if (LocSeq(1).Orientation() == TopAbs_REVERSED) { + const TopoDS_Vertex aVtxTmp = FirstVertex; + + FirstVertex = LastVertex; + LastVertex = aVtxTmp; + FirstVertex.Orientation(TopAbs_FORWARD); + LastVertex.Orientation(TopAbs_REVERSED); + } + ResEdge = BRepLib_MakeEdge(aNewCurve, FirstVertex, LastVertex, FparSeq(1), LparSeq(1)); + + if (LocSeq(1).Orientation() == TopAbs_REVERSED) { + ResEdge.Reverse(); + } } }