Adding test cases from chl grid
[occt.git] / tests / bugs / modalg / bug12661
1 puts "================"
2 puts "OCC12661"
3 puts "================"
4 puts ""
5 #######################################################################################
6 # Wrong calculation of bnd box for edge if edge has polygon of triangulation
7 #######################################################################################
8
9 proc GetPercent {Value GoodValue} {
10    set Percent 0.
11    if {${GoodValue} != 0.} {
12       set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
13    } elseif {${Value} != 0.} {
14       set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
15    } else {
16       set Percent 0.
17    }
18    return ${Percent}
19 }
20
21 set BugNumber OCC12661
22
23 restore [locate_data_file OCC12661.brep] result
24 set res [bounding result]
25
26 set x1 [lindex ${res} 0]
27 set y1 [lindex ${res} 1]
28 set z1 [lindex ${res} 2]
29 set x2 [lindex ${res} 3]
30 set y2 [lindex ${res} 4]
31 set z2 [lindex ${res} 5]
32
33 set good_x1 -6.3659273065258741
34 set good_y1 0.7051405053395956
35 set good_z1 -2.5792617865186296
36 set good_x2 6.3659273065258795
37 set good_y2 7.6599592236605769
38 set good_z2 3.0815250146676485
39
40 set percent_max 0.1
41 set status 0
42
43 set x1_percent [GetPercent ${x1} ${good_x1}]
44 set y1_percent [GetPercent ${y1} ${good_y1}]
45 set z1_percent [GetPercent ${z1} ${good_z1}]
46 set x2_percent [GetPercent ${x2} ${good_x2}]
47 set y2_percent [GetPercent ${y2} ${good_y2}]
48 set z2_percent [GetPercent ${z2} ${good_z2}]
49
50 if {${x1_percent} > ${percent_max}} {
51     puts "Faulty ${BugNumber} : x1 is wrong"
52     set status 1
53 }
54 if {${y1_percent} > ${percent_max}} {
55     puts "Faulty ${BugNumber} : y1 is wrong"
56     set status 1
57 }
58 if {${z1_percent} > ${percent_max}} {
59     puts "Faulty ${BugNumber} : z1 is wrong"
60     set status 1
61 }
62 if {${x2_percent} > ${percent_max}} {
63     puts "Faulty ${BugNumber} : x2 is wrong"
64     set status 1
65 }
66 if {${y2_percent} > ${percent_max}} {
67     puts "Faulty ${BugNumber} : y2 is wrong"
68     set status 1
69 }
70 if {${z2_percent} > ${percent_max}} {
71     puts "Faulty ${BugNumber} : z2 is wrong"
72     set status 1
73 }
74
75 if { ${status} == 0 } {
76     puts "${BugNumber}: OK"
77 } else {
78     puts "${BugNumber}: Faulty"
79 }
80
81 set 2dviewer 0
82