0026509: Intersection algorithm produces set of curves providing closed contour in...
authornbv <nbv@opencascade.com>
Tue, 23 Oct 2018 13:58:59 +0000 (16:58 +0300)
committerapn <apn@opencascade.com>
Thu, 25 Oct 2018 16:21:16 +0000 (19:21 +0300)
Test cases have been created. No fix is needed because the described problem has not to be cause of failing of high-level OCCT-algorithms.
See the message ~80300 (issue #26509) for detail information.

tests/bugs/modalg_7/bug26509_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug26509_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug26509_3 [new file with mode: 0644]
tests/bugs/modalg_7/bug26509_4 [new file with mode: 0644]
tests/bugs/modalg_7/bug26509_5 [new file with mode: 0644]
tests/bugs/modalg_7/bug26509_6 [new file with mode: 0644]

diff --git a/tests/bugs/modalg_7/bug26509_1 b/tests/bugs/modalg_7/bug26509_1
new file mode 100644 (file)
index 0000000..3398637
--- /dev/null
@@ -0,0 +1,42 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 3} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_2 b/tests/bugs/modalg_7/bug26509_2
new file mode 100644 (file)
index 0000000..3470a53
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_3 b/tests/bugs/modalg_7/bug26509_3
new file mode 100644 (file)
index 0000000..67f4309
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_4 b/tests/bugs/modalg_7/bug26509_4
new file mode 100644 (file)
index 0000000..780af19
--- /dev/null
@@ -0,0 +1,44 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 1.57079632679489655800*180/pi
+tmirror p1_2 0 -500 0 0 1 0
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_5 b/tests/bugs/modalg_7/bug26509_5
new file mode 100644 (file)
index 0000000..c9c6830
--- /dev/null
@@ -0,0 +1,43 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 2} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file
diff --git a/tests/bugs/modalg_7/bug26509_6 b/tests/bugs/modalg_7/bug26509_6
new file mode 100644 (file)
index 0000000..bd6f305
--- /dev/null
@@ -0,0 +1,44 @@
+puts "========"
+puts "0026509: Wrong intersection curve(s) obtained for pair of faces."
+puts "========"
+puts ""
+
+circle c1 0 0 0 0 -1 0 75
+circle c2 0 0 0 0 -1 0 65
+mkedge c1 c1
+mkedge c2 c2
+wire c1 c1
+wire c2 c2
+orientation c2 R
+mkplane f1 c1 1
+add c2 f1
+prism p1 f1 0 1000 0
+trotate p1 0 0 0 0 0 1 180
+circle c3 50 500 -2000 0 0 1 50
+mkedge c3 c3
+wire c3 c3
+mkplane f2 c3 1
+prism p2 f2 0 0 4000
+explode p1 f
+explode p2 f
+trotate p2_1 0 500 0 1 0 0 -77
+trotate p2_1 0 0 0 0 0 1 180
+trotate p1_2 0 0 0 1.22464679914735e-16 1 0 -1.57079632679489655800*180/pi
+trotate p2_1 -49.9999999999998, 1448.74012957047, -449.90210868773 1.19325918102424e-16, 0.974370064785235, -0.224951054343865 -1.26610367277949897868*180/pi
+
+regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} [bopcurves p1_2 p2_1 -2d] full Toler NbCurv
+
+checkreal Tolerance $Toler 3.6430300265667996e-07 0.0 0.1
+
+if {$NbCurv != 1} {
+  puts "Error: Please check NbCurves for intersector"
+}
+
+puts "Check whether the intersection result is closed in 3D"
+bsection result p1_2 p2_1
+
+checksection result -r 0
+checkmaxtol result -ref 4.0e-7
+checkprops result -l 1881.92
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file