0026855: Draw commands to debug Boolean Operations Algorithm
[occt.git] / tests / bugs / moddata_1 / bug14782
CommitLineData
3bea4c16 1puts "========================"
2puts "OCC14782"
3puts "========================"
4puts ""
5#######################################################################
6# Method segment works wrongly for periodical BSpline curve
7#######################################################################
8
9set BugNumber OCC14782
10
11proc GetPercent {Value GoodValue} {
12 set Percent 0.
13 if {${GoodValue} != 0.} {
14 set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
15 } elseif {${Value} != 0.} {
16 set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
17 } else {
18 set Percent 0.
19 }
20 return ${Percent}
21}
22
23
24restore [locate_data_file OCC14782.draw] res
25
26bounds res t1 t2
27set bounds_list [dump res]
28
29puts ""
30if { [llength ${bounds_list}] < 7 } {
31 puts "Bad bounds_list"
32 puts "Faulty ${BugNumber}"
33} else {
34 set periodic_type [lindex ${bounds_list} 6]
35 puts "periodic_type=${periodic_type}"
36 if { ${periodic_type} != "periodic" } {
37 puts "1. Faulty ${BugNumber}"
38 } else {
39 puts "1. OK ${BugNumber}"
40 }
41}
42
43set ll1 [lindex [length res] end]
44puts "length1=${ll1}"
45
46segment res t3 t4
47set segment_list [dump res]
48
49puts ""
50if { [llength ${segment_list}] < 7 } {
51 puts "Bad segment_list"
52 puts "Faulty ${BugNumber}"
53} else {
54 set periodic_type [lindex ${segment_list} 6]
55 puts "periodic_type=${periodic_type}"
56 if { ${periodic_type} != "periodic" } {
57 puts "2. OK ${BugNumber}"
58 } else {
59 puts "2. Faulty ${BugNumber}"
60 }
61}
62
63set ll2 [lindex [length res] end]
64puts "length2=${ll2}"
65
66set percent_max 0.1
67set length_percent [GetPercent ${ll1} ${ll2}]
68puts "length_percent = ${length_percent}"
69
70puts ""
71if { ${length_percent} > ${percent_max} } {
72 puts "3. Faulty ${BugNumber}"
73} else {
74 puts "3. OK ${BugNumber}"
75}
76