3bea4c16 |
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 | |