]> OCCT Git - occt-copy.git/commitdiff
0026224: Wrong result obtained by Common operator. V6_9_0p1
authorpkv <pkv@opencascade.com>
Thu, 14 May 2015 06:21:13 +0000 (09:21 +0300)
committervsr <vsr@opencascade.com>
Mon, 18 May 2015 08:45:36 +0000 (11:45 +0300)
I. New features:
No new features.

II. Changes:
II.1. 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

III. Modified entities:
packages:
BOPTools

src/BOPTools/BOPTools_AlgoTools2D_1.cxx
tests/bugs/modalg_6/bug26224 [new file with mode: 0755]

index 028a64a67a6b99f90584815df2acdca7cd5a8a19..86390a2355470474fa8ad77ec683dccc14659cf7 100644 (file)
@@ -85,13 +85,14 @@ Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
   //
   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);
diff --git a/tests/bugs/modalg_6/bug26224 b/tests/bugs/modalg_6/bug26224
new file mode 100755 (executable)
index 0000000..564f6ba
--- /dev/null
@@ -0,0 +1,37 @@
+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