07dd6e9b |
1 | puts "============" |
2 | puts "OCC25230" |
3 | puts "============" |
4 | puts "" |
5 | #################################################################################### |
6 | # Visualization - Test case for selection in perspective views |
7 | # Test is made using comparison of selected points with expected to be selected points. |
8 | # In case of mismatching test will report about an error of certain type: |
9 | # point selection, rectangle selection or polygon selection is broken. |
10 | #################################################################################### |
11 | vinit View1 |
12 | vsetdispmode 1 |
13 | #draw grid of points 7x7 |
14 | set j 0 |
15 | for {set x 0} {$x<7} {incr x} { |
16 | for {set y 0} {$y<7} {incr y} { |
17 | vpoint $j $x $y 10 |
18 | incr j |
19 | } |
20 | } |
21 | for {set x 0} {$x<7} {incr x} { |
22 | for {set y 0} {$y<7} {incr y} { |
23 | vpoint $j $x $y 0 |
24 | incr j |
25 | } |
26 | } |
27 | |
28 | #prepare view |
29 | vtop |
6b62b2da |
30 | vcamera -persp |
07dd6e9b |
31 | vfit |
27af3052 |
32 | vleft |
07dd6e9b |
33 | vtop |
34 | |
35 | #check rectagle selection |
36 | vselect 200 200 0 0 |
37 | set stat 0 |
38 | set result [vstate] |
39 | set newlist {} |
40 | set ref_selected {55 6 69 18 13 67 54 68 19 12 62 5 53 60 4 61 20 11} |
41 | set asplit [split $result "\n"] |
42 | for {set i 0} {$i < [llength $ref_selected]} {incr i} { |
43 | lappend newlist [lindex [lindex $asplit $i] 0] |
44 | } |
45 | set newsorted [lsort $newlist] |
46 | set refsorted [lsort $ref_selected] |
47 | for {set i 0} {$i < [llength $refsorted]} {incr i} { |
48 | if {[lindex $refsorted $i] != [lindex $newsorted $i]} { |
49 | set stat 1 |
50 | break |
51 | } |
52 | } |
53 | |
54 | #check point selection |
55 | vselect 0 0 |
56 | vselect 27 28 |
57 | set stat1 0 |
58 | set result [vstate] |
59 | if {[lindex $result 0] != 6} { |
60 | set stat1 1 |
61 | } |
62 | |
63 | #check polygon selection |
64 | vselect 70 70 0 600 200 600 200 200 600 200 600 70 |
65 | set stat2 0 |
66 | set result [vstate] |
67 | set newlist {} |
68 | set ref_selected {67 97 47 32 12 33 49 74 54 8 50 19\ |
69 | 9 63 83 56 39 26 66 75 18 95 81 15 89 51 46 76 57 90\ |
70 | 82 58 65 10 11 25 62 59 14 52 40 60 68 16 55 7 64 61\ |
71 | 88 69 53 17 96} |
72 | set asplit [split $result "\n"] |
73 | for {set i 0} {$i < [llength $ref_selected]} {incr i} { |
74 | lappend newlist [lindex [lindex $asplit $i] 0] |
75 | } |
76 | set newsorted [lsort $newlist] |
77 | set refsorted [lsort $ref_selected] |
78 | for {set i 0} {$i < [llength $refsorted]} {incr i} { |
79 | if {[lindex $refsorted $i] != [lindex $newsorted $i]} { |
80 | set stat2 1 |
81 | break |
82 | } |
83 | } |
84 | |
85 | if {$stat == 1} { |
86 | puts "Error : Perspective selection by rectangle is broken." |
87 | } |
88 | if {$stat1 == 1} { |
89 | puts "Error : Perspective selection by point is broken." |
90 | } |
91 | if {$stat2 == 1} { |
92 | puts "Error : Perspective selection by polygon is broken." |
93 | } |