0025624: Visualization - selection is incorrect in perspective mode in a specific...
[occt.git] / tests / bugs / moddata_1 / bug14782
1 puts "========================"
2 puts "OCC14782"
3 puts "========================"
4 puts ""
5 #######################################################################
6 # Method segment works wrongly for periodical BSpline curve
7 #######################################################################
8
9 set BugNumber OCC14782
10
11 proc 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
24 restore [locate_data_file OCC14782.draw] res
25
26 bounds res t1 t2
27 set bounds_list [dump res]
28
29 puts ""
30 if { [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
43 set ll1 [lindex [length res] end]
44 puts "length1=${ll1}"
45
46 segment res t3 t4
47 set segment_list [dump res]
48
49 puts ""
50 if { [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
63 set ll2 [lindex [length res] end]
64 puts "length2=${ll2}"
65
66 set percent_max 0.1
67 set length_percent [GetPercent ${ll1} ${ll2}]
68 puts "length_percent = ${length_percent}"
69
70 puts ""
71 if { ${length_percent} > ${percent_max} } {
72    puts "3. Faulty ${BugNumber}"
73 } else {
74    puts "3. OK ${BugNumber}"
75 }
76