BRepFill_IndexedDataMapOfOrientedShapeListOfShape& myMap,
Standard_Boolean& myIsDone)
{
- // The only contour which is a closed circle
TopExp_Explorer exp(mySpine,TopAbs_EDGE);
Standard_Integer NbEdges = 0;
TopoDS_Edge E;
Handle(Geom2d_Curve) OC;
if (AHC->GetType() == GeomAbs_Line)
{
- if (E.Orientation() == TopAbs_REVERSED) anOffset *= -1;
+ if (E.Orientation() == TopAbs_REVERSED)
+ anOffset *= -1;
Adaptor3d_OffsetCurve Off(AHC,anOffset);
OC = new Geom2d_Line(Off.Line());
}
else if (AHC->GetType() == GeomAbs_Circle)
{
- if (E.Orientation() == TopAbs_FORWARD) anOffset *= -1;
+ if (E.Orientation() == TopAbs_FORWARD)
+ anOffset *= -1;
gp_Circ2d theCirc = AHC->Circle();
if (anOffset > 0. || Abs(anOffset) < theCirc.Radius())
OC = new Geom2d_Circle (theCirc.Position(), theCirc.Radius() + anOffset);
}
else
{
- if (E.Orientation() == TopAbs_REVERSED) anOffset *= -1;
+ if (E.Orientation() == TopAbs_FORWARD)
+ anOffset *= -1;
Handle(Geom2d_TrimmedCurve) G2dT = new Geom2d_TrimmedCurve(aPCurve, f, l);
OC = new Geom2d_OffsetCurve( G2dT, anOffset);
}
--- /dev/null
+puts "========"
+puts "OCC25858"
+puts "========"
+puts ""
+##########################################################################################################
+# Incorrect result of open offset on single edge based on BSpline curve
+##########################################################################################################
+
+restore [locate_data_file bug25858_hf2d.brep] ff
+
+explode ff
+
+smallview
+donly ff_1
+fit
+display ff
+
+openoffset res ff 1 0.1
+renamevar res_1 result
+
+set length 0.879164
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 2
+ EDGE : 1
+ WIRE : 1
+ FACE : 0
+ SHELL : 0
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 0
+ SHAPE : 4
+"
+checknbshapes result ${nbshapes_expected} 1 "Result of open offset on single edge based on BSpline curve"
+
+set only_screen_axo 1
--- /dev/null
+puts "========"
+puts "OCC25858"
+puts "========"
+puts ""
+##########################################################################################################
+# Incorrect result of open offset on single edge based on BSpline curve
+##########################################################################################################
+
+restore [locate_data_file bug25858_hf2d.brep] ff
+
+invert ff
+explode ff
+
+smallview
+donly ff_1
+fit
+display ff
+
+openoffset res ff 1 0.1
+renamevar res_1 result
+
+set length 0.879164
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 2
+ EDGE : 1
+ WIRE : 1
+ FACE : 0
+ SHELL : 0
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 0
+ SHAPE : 4
+"
+checknbshapes result ${nbshapes_expected} 1 "Result of open offset on single edge based on BSpline curve"
+
+set only_screen_axo 1