0029380: Delete "checknbshapes" from bugs/modalg_6/bug27341* test cases
[occt.git] / tests / bugs / modalg_6 / bug26576_4
1 puts "============"
2 puts "OCC26576"
3 puts "============"
4 puts ""
5 ###############################
6 ## Wrong result obtained by intersection algorithm.
7 ###############################
8
9 set GoodNbCurv 2
10
11 circle cc 1.5 3.125 0 0 0 1 1 0 0 0.25
12 trim cc cc 0 3.14159265358979
13 revsurf ss1 cc 1.5 3.125 0 -1 0 0
14
15 plane ss2 3.48352775473762 1.7282347013387 0 0 0 -1 -1 0 0
16
17 set IntCurv [intersect intres ss1 ss2]
18 set NbIntCurv [llength ${IntCurv}]
19
20 if { ${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
27 mkface b1 ss1
28 mkface b2 ss2
29 donly b1
30
31 set log [bopcurves b1 b2 -2d]
32 regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
33
34 set expected_Tolerance_Reached 1.9321146113460029e-008
35 set tol_abs_Tolerance_Reached 1.0e-7
36 set tol_rel_Tolerance_Reached 0.0
37 checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
38
39 if {${NbCurv} != ${GoodNbCurv}} {
40   puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
41 }
42
43 #Overlapping intersection curves.
44
45 if { $Tolerance_Reached < 1.0e-7 } { set Tolerance_Reached 1.0e-7 }
46
47 for {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
72 smallview
73 fit
74 checkview -screenshot -2d -path ${imagedir}/${test_image}.png