3bea4c16 |
1 | puts "TODO ?OCC12345 ALL: OCC16119: Faulty" |
2 | puts "============" |
3 | puts "OCC16119" |
4 | puts "============" |
5 | puts "" |
6 | ####################################################################### |
7 | # Bug in GeomFill_Coons algorithm |
8 | ####################################################################### |
9 | |
10 | set BugNumber OCC16119 |
11 | |
12 | proc GetPercent {Value GoodValue} { |
13 | set Percent 0. |
14 | if {${GoodValue} != 0.} { |
15 | set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] |
16 | } elseif {${Value} != 0.} { |
17 | set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] |
18 | } else { |
19 | set Percent 0. |
20 | } |
21 | return ${Percent} |
22 | } |
23 | |
24 | restore [locate_data_file OCC16119-c1.draw] c1 |
25 | restore [locate_data_file OCC16119-c2.draw] c2 |
26 | restore [locate_data_file OCC16119-c31.draw] c31 |
27 | restore [locate_data_file OCC16119-c32.draw] c32 |
28 | restore [locate_data_file OCC16119-c41.draw] c41 |
29 | restore [locate_data_file OCC16119-c42.draw] c42 |
30 | restore [locate_data_file OCC16119-cv.draw] cv |
31 | |
32 | fillcurves s11 c1 c41 cv c31 |
33 | fillcurves s12 cv c42 c2 c32 |
34 | |
35 | svalue s11 .5 .5 x1 y1 z1 dux1 duy1 duz1 dvx1 dvy1 dvz1 |
36 | svalue s12 .5 .5 x2 y2 z2 dux2 duy2 duz2 dvx2 dvy2 dvz2 |
37 | |
38 | set deltaX [dval dvx1-dvx2] |
39 | set deltaY [dval dvy1-dvy2] |
40 | set deltaZ [dval dvz1-dvz2] |
41 | |
42 | set percent_max 0.1 |
43 | set good_deltaX 4.4408920985006262e-015 |
44 | set good_deltaY -4.6629367034256575e-015 |
45 | set good_deltaZ -2.6645352591003757e-015 |
46 | |
47 | set deltaX_percent [GetPercent ${deltaX} ${good_deltaX}] |
48 | puts "deltaX_percent = ${deltaX_percent}" |
49 | |
50 | set deltaY_percent [GetPercent ${deltaY} ${good_deltaY}] |
51 | puts "deltaY_percent = ${deltaY_percent}" |
52 | |
53 | set deltaZ_percent [GetPercent ${deltaZ} ${good_deltaZ}] |
54 | puts "deltaZ_percent = ${deltaZ_percent}" |
55 | |
56 | if {${deltaX_percent} > ${percent_max} || ${deltaY_percent} > ${percent_max} || ${deltaZ_percent} > ${percent_max} } { |
57 | puts "${BugNumber}: Faulty" |
58 | } else { |
59 | puts "${BugNumber}: OK" |
60 | } |
61 | |