File: bug23201

package info (click to toggle)
oce 0.15-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 302,472 kB
  • ctags: 210,903
  • sloc: cpp: 1,165,052; ansic: 75,256; sh: 11,901; tcl: 4,488; python: 2,867; makefile: 337; perl: 37; csh: 12
file content (79 lines) | stat: -rwxr-xr-x 1,751 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
puts "============"
puts "OCC23201"
puts "============"
puts ""
#######################################################################
# Projection algorithm produces wrong results.
#######################################################################

set BugNumber OCC23201

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 bug23201_Tool_1.brep] b2
restore [locate_data_file bug23201_Tool_2.brep] b3

explode b2 f
mksurface s2 b2_1

explode b3 f
mksurface s3 b3_1

explode b2 e
mkcurve c2 b2_2

explode b3 e
mkcurve c3 b3_2

set BugStatus 0

set percent_max 0.1
set good_c23 3.1415926535897922
set good_c32 3.1415926535897922

if [catch { project c23 c2 s3 } ] {
    set BugStatus 1
} else {
    set c23_length [lindex [length c23] end]
    set length_percent [GetPercent ${c23_length} ${good_c23}]
    puts "length_percent = ${length_percent}"
    if {${length_percent} > ${percent_max}} {
	puts "c23: Faulty"
	set BugStatus 1
    } else {
	puts "c23: OK"
    }
}

if [catch { project c32 c3 s2 } ] {
    set BugStatus 1
} else {
    set c32_length [lindex [length c32] end]
    set length_percent [GetPercent ${c32_length} ${good_c32}]
    puts "length_percent = ${length_percent}"
    if {${length_percent} > ${percent_max}} {
	puts "c32: Faulty"
	set BugStatus 1
    } else {
	puts "c32: OK"
    }
}

# Resume
puts ""
if { ${BugStatus} != 0 } {
    puts "Faulty ${BugNumber}"
} else {
    puts "OK ${BugNumber}"
}