0027802: [Regression to 7.0] Solid classifier raises exception ConstructionError
[occt.git] / tests / bugs / modalg_6 / bug26576_4
CommitLineData
77dbd1f1 1puts "============"
2puts "OCC26576"
3puts "============"
4puts ""
5###############################
6## Wrong result obtained by intersection algorithm.
7###############################
8
9set GoodNbCurv 2
10
11circle cc 1.5 3.125 0 0 0 1 1 0 0 0.25
12trim cc cc 0 3.14159265358979
13revsurf ss1 cc 1.5 3.125 0 -1 0 0
14
15plane ss2 3.48352775473762 1.7282347013387 0 0 0 -1 -1 0 0
16
17set IntCurv [intersect intres ss1 ss2]
18set NbIntCurv [llength ${IntCurv}]
19
20if { ${NbIntCurv} != ${GoodNbCurv} } {
21 puts "Error in geometric intersection: ${GoodNbCurv} curves are expected but ${NbIntCurv} are found!"
22} else {
23 puts "OK : Geometric intersection is good."
24}
25
26# For getting tolerance value
27mkface b1 ss1
28mkface b2 ss2
29donly b1
30
31set log [bopcurves b1 b2 -2d]
32regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
33
34set expected_Tolerance_Reached 1.9321146113460029e-008
35set tol_abs_Tolerance_Reached 1.0e-7
36set tol_rel_Tolerance_Reached 0.0
37checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
38
39if {${NbCurv} != ${GoodNbCurv}} {
40 puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
41}
42
43#Overlapping intersection curves.
44
45if { $Tolerance_Reached < 1.0e-7 } { set Tolerance_Reached 1.0e-7 }
46
47for {set i 1} {$i < ${NbCurv}} {incr i} {
48 for {set j [expr $i+1]} {$j <= $NbCurv} {incr j} {
49 mkedge eb1 c_$i
50 mkedge eb2 c_$j
51
52 mkedge ei1 intres_$i
53 mkedge ei2 intres_$j
54
55 set coeb [checkoverlapedges eb1 eb2 $Tolerance_Reached]
56 set coei [checkoverlapedges ei1 ei2 $Tolerance_Reached]
57
58 puts "$i<->$j: $coeb"
59 puts "$i<->$j: $coei"
60 if { [regexp "Edges is not overlaped" $coeb] != 1 } {
61 puts "Error: c_$i and c_$j are overlaped"
62 }
63
64 if { [regexp "Edges is not overlaped" $coei] != 1 } {
65 puts "Error: intres_$i and intres_$j are overlaped"
66 }
67
68 erase eb1 eb2 ei1 ei2
69 }
70}
71
72smallview
73fit
5747059b 74checkview -screenshot -2d -path ${imagedir}/${test_image}.png