BRepFill_ListOfOffsetWire& myAlgos,
GeomAbs_JoinType myJoin,
Standard_Boolean myIsOpenResult,
- Standard_Boolean isPositive)
+ Standard_Boolean isPositive,
+ Standard_Boolean& isWasReversed)
{
BRepAlgo_FaceRestrictor FR;
TopoDS_Vertex VF,VL;
const TopoDS_Shape& W = itl.Value();
LWires.Append(W.Reversed());
}
+ isWasReversed = Standard_True;
WorkWires = LWires;
}
}
BRep_Builder B;
B.MakeCompound (Res);
myLastIsLeft = (Offset <= 0);
-
+ Standard_Boolean isWasReversed = Standard_False;
if( Offset <= 0. )
{
if( myLeft.IsEmpty() )
{
// Modified by Sergey KHROMOV - Fri Apr 27 14:35:26 2001 Begin
- BuildDomains(myFace,myWires,myLeft,myJoin,myIsOpenResult, Standard_False);
+ BuildDomains(myFace,myWires,myLeft,myJoin,myIsOpenResult, Standard_False, isWasReversed);
// Modified by Sergey KHROMOV - Fri Apr 27 14:35:26 2001 End
}
Algo.Perform(Abs(Offset),Alt);
if (Algo.IsDone() && !Algo.Shape().IsNull())
{
- B.Add(Res,Algo.Shape());
+ B.Add(Res,isWasReversed ? Algo.Shape().Reversed() : Algo.Shape());
if (i == 1)
- myShape = Algo.Shape();
+ myShape = isWasReversed ? Algo.Shape().Reversed() : Algo.Shape();
i++;
}
if (myRight.IsEmpty())
{
// Modified by Sergey KHROMOV - Fri Apr 27 14:35:28 2001 Begin
- BuildDomains(myFace,myWires,myRight,myJoin,myIsOpenResult, Standard_True);
+ BuildDomains(myFace,myWires,myRight,myJoin,myIsOpenResult, Standard_True, isWasReversed);
// Modified by Sergey KHROMOV - Fri Apr 27 14:35:35 2001 End
}
if (Algo.IsDone() && !Algo.Shape().IsNull())
{
- B.Add(Res,Algo.Shape());
+ B.Add(Res, isWasReversed ? Algo.Shape().Reversed() : Algo.Shape());
if (i == 1)
- myShape = Algo.Shape();
+ myShape = isWasReversed ? Algo.Shape().Reversed() : Algo.Shape();
i++;
}