Changes:
class BOPTools_AlgoTools2D
- method:
Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
(const TopoDS_Edge& aE2,
const TopoDS_Edge& aE1,
const TopoDS_Face& aF,
const Handle(IntTools_Context)& aCtx)
has been changed.
The treatment of the curves that need to be reversed has been modified
taking into account reversed parameter
Test case for issue CR26224
//
bIsToReverse=IsToReverse(aE2, aE1, aCtx);
if (bIsToReverse) {
- aC2DoldC->Reverse();
+ Standard_Real aT21r, aT22r;
//
- gp_Pnt2d aP1, aP2;
+ aC2DoldC->Reverse();
//
- aC2Dold->D0(aT22, aP2);
- aC2DoldC->D0(aT21, aP1);
- aC2DoldC->Translate(aP1, aP2);
+ aT21r=aC2DoldC->ReversedParameter(aT21);
+ aT22r=aC2DoldC->ReversedParameter(aT22);
+ aT21=aT22r;
+ aT22=aT21r;
}
//
aC2DT=new Geom2d_TrimmedCurve(aC2DoldC, aT21, aT22);
--- /dev/null
+puts "============"
+puts "OCC26224"
+puts "============"
+puts ""
+###############################
+## Wrong result obtained by Common operator.
+###############################
+
+restore [locate_data_file bug26224_b1.brep] b1
+restore [locate_data_file bug26224_b2.brep] b2
+
+bclearobjects
+bcleartools
+baddobjects b1
+baddtools b2
+
+bfillds
+bbop result 0
+
+set square 35006.6
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 9
+ EDGE : 9
+ WIRE : 1
+ FACE : 1
+ SHELL : 1
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 22
+
+"
+checknbshapes result -ref ${nbshapes_expected} -t -m "result obtained by Common operator"
+
+set 3dviewer 1