0024122: Hang-up during a topological operation.
[occt.git] / tests / bugs / modalg_2 / bug23218
1 puts "============"
2 puts "OCC23218"
3 puts "============"
4 puts ""
5 #######################################################################
6 # Wrong value of tolerance for the intersection curve.
7 #######################################################################
8
9 set BugNumber OCC23218
10
11 puts "Load first shape ..."
12 restore [locate_data_file bug23218_b1] b1 
13
14 puts "Load second shape ..."
15 restore [locate_data_file bug23218_b4] b2 
16
17 puts "Start project operation ..."
18 set result [bopcurves b1 b2]
19 puts $result
20 puts "Finish project operation ..."
21
22 set GoodToleranceReached 8.9651741230950248e-06
23 regexp {Tolerance Reached=([-0-9.+eE]+)} $result full ToleranceReached
24
25 proc GetPercent {Value GoodValue} {
26     set Percent 0.
27     if {${GoodValue} != 0.} {
28         set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
29     } elseif {${Value} != 0.} {
30         set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
31     } else {
32         set Percent 0.
33     }
34     return ${Percent}
35 }
36                                     
37                                     
38 set percent_max 0.1
39 set ToleranceReached_percent [expr abs ( [GetPercent ${ToleranceReached} ${GoodToleranceReached}] ) ]
40
41 if {${ToleranceReached_percent} > ${percent_max}} {
42    puts "${BugNumber}: Faulty"
43 } else {
44    puts "OK ${BugNumber}"
45 }
46
47 set 3dviewer 0
48