mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
Old vright equals new vfront, old vfront equals new vright, old vleft equals new vback, old vback equals new vleft.
94 lines
2.3 KiB
Plaintext
94 lines
2.3 KiB
Plaintext
puts "============"
|
|
puts "OCC25230"
|
|
puts "============"
|
|
puts ""
|
|
####################################################################################
|
|
# Visualization - Test case for selection in perspective views
|
|
# Test is made using comparison of selected points with expected to be selected points.
|
|
# In case of mismatching test will report about an error of certain type:
|
|
# point selection, rectangle selection or polygon selection is broken.
|
|
####################################################################################
|
|
vinit View1
|
|
vsetdispmode 1
|
|
#draw grid of points 7x7
|
|
set j 0
|
|
for {set x 0} {$x<7} {incr x} {
|
|
for {set y 0} {$y<7} {incr y} {
|
|
vpoint $j $x $y 10
|
|
incr j
|
|
}
|
|
}
|
|
for {set x 0} {$x<7} {incr x} {
|
|
for {set y 0} {$y<7} {incr y} {
|
|
vpoint $j $x $y 0
|
|
incr j
|
|
}
|
|
}
|
|
|
|
#prepare view
|
|
vtop
|
|
vcamera -persp
|
|
vfit
|
|
vleft
|
|
vtop
|
|
|
|
#check rectagle selection
|
|
vselect 200 200 0 0
|
|
set stat 0
|
|
set result [vstate]
|
|
set newlist {}
|
|
set ref_selected {55 6 69 18 13 67 54 68 19 12 62 5 53 60 4 61 20 11}
|
|
set asplit [split $result "\n"]
|
|
for {set i 0} {$i < [llength $ref_selected]} {incr i} {
|
|
lappend newlist [lindex [lindex $asplit $i] 0]
|
|
}
|
|
set newsorted [lsort $newlist]
|
|
set refsorted [lsort $ref_selected]
|
|
for {set i 0} {$i < [llength $refsorted]} {incr i} {
|
|
if {[lindex $refsorted $i] != [lindex $newsorted $i]} {
|
|
set stat 1
|
|
break
|
|
}
|
|
}
|
|
|
|
#check point selection
|
|
vselect 0 0
|
|
vselect 27 28
|
|
set stat1 0
|
|
set result [vstate]
|
|
if {[lindex $result 0] != 6} {
|
|
set stat1 1
|
|
}
|
|
|
|
#check polygon selection
|
|
vselect 70 70 0 600 200 600 200 200 600 200 600 70
|
|
set stat2 0
|
|
set result [vstate]
|
|
set newlist {}
|
|
set ref_selected {67 97 47 32 12 33 49 74 54 8 50 19\
|
|
9 63 83 56 39 26 66 75 18 95 81 15 89 51 46 76 57 90\
|
|
82 58 65 10 11 25 62 59 14 52 40 60 68 16 55 7 64 61\
|
|
88 69 53 17 96}
|
|
set asplit [split $result "\n"]
|
|
for {set i 0} {$i < [llength $ref_selected]} {incr i} {
|
|
lappend newlist [lindex [lindex $asplit $i] 0]
|
|
}
|
|
set newsorted [lsort $newlist]
|
|
set refsorted [lsort $ref_selected]
|
|
for {set i 0} {$i < [llength $refsorted]} {incr i} {
|
|
if {[lindex $refsorted $i] != [lindex $newsorted $i]} {
|
|
set stat2 1
|
|
break
|
|
}
|
|
}
|
|
|
|
if {$stat == 1} {
|
|
puts "Error : Perspective selection by rectangle is broken."
|
|
}
|
|
if {$stat1 == 1} {
|
|
puts "Error : Perspective selection by point is broken."
|
|
}
|
|
if {$stat2 == 1} {
|
|
puts "Error : Perspective selection by polygon is broken."
|
|
}
|