File: bug16119

package info (click to toggle)
oce 0.17.2-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 297,992 kB
  • ctags: 203,291
  • sloc: cpp: 1,176,369; ansic: 67,206; sh: 11,647; tcl: 6,890; cs: 5,221; python: 2,867; java: 1,522; makefile: 338; xml: 292; perl: 37
file content (60 lines) | stat: -rw-r--r-- 1,844 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
puts "============"
puts "OCC16119"
puts "============"
puts ""
#######################################################################
# Bug in GeomFill_Coons algorithm
#######################################################################

set BugNumber OCC16119

proc GetPercent {Value GoodValue} {
   set Percent 0.
   if {${GoodValue} != 0.} {
      set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
   } elseif {${Value} != 0.} {
      set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
   } else {
      set Percent 0.
   }
   return ${Percent}
}

restore [locate_data_file OCC16119-c1.draw] c1
restore [locate_data_file OCC16119-c2.draw] c2
restore [locate_data_file OCC16119-c31.draw] c31
restore [locate_data_file OCC16119-c32.draw] c32
restore [locate_data_file OCC16119-c41.draw] c41
restore [locate_data_file OCC16119-c42.draw] c42
restore [locate_data_file OCC16119-cv.draw] cv

fillcurves s11 c1 c41 cv c31
fillcurves s12 cv c42 c2 c32

svalue s11 .5 .5 x1 y1 z1 dux1 duy1 duz1 dvx1 dvy1 dvz1
svalue s12 .5 .5 x2 y2 z2 dux2 duy2 duz2 dvx2 dvy2 dvz2

set deltaX [dval dvx1-dvx2]
set deltaY [dval dvy1-dvy2]
set deltaZ [dval dvz1-dvz2]

set percent_max 0.1
set good_deltaX 4.4408920985006262e-015
set good_deltaY -4.6629367034256575e-015
set good_deltaZ -2.6645352591003757e-015

set deltaX_percent [GetPercent ${deltaX} ${good_deltaX}]
puts "deltaX_percent = ${deltaX_percent}"

set deltaY_percent [GetPercent ${deltaY} ${good_deltaY}]
puts "deltaY_percent = ${deltaY_percent}"

set deltaZ_percent [GetPercent ${deltaZ} ${good_deltaZ}]
puts "deltaZ_percent = ${deltaZ_percent}"

if {${deltaX_percent} > ${percent_max} || ${deltaY_percent} > ${percent_max} || ${deltaZ_percent} > ${percent_max} } {
   puts "${BugNumber}: Faulty"
} else {
   puts "${BugNumber}: OK"
}