mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
75 lines
1.6 KiB
Plaintext
75 lines
1.6 KiB
Plaintext
puts "============"
|
|
puts "OCC25265"
|
|
puts "============"
|
|
puts ""
|
|
####################################################################################
|
|
# Perspective projection - selecting front point of two.
|
|
# When trying to select front point of two (lying on Z-coordinate) in a perspective
|
|
# view, the back one is snapped and selected.
|
|
####################################################################################
|
|
|
|
set select_x 204
|
|
set select_y 204
|
|
|
|
vinit View1
|
|
vsetdispmode 1
|
|
vcamera -persp
|
|
|
|
# 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
|
|
vfit
|
|
|
|
vselect $select_x $select_y
|
|
|
|
set stat 0
|
|
set result [vstate]
|
|
set newlist {}
|
|
set ref_selected {24}
|
|
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
|
|
}
|
|
}
|
|
|
|
if {$stat == 1} {
|
|
puts "Error : Perspective selection is broken."
|
|
}
|
|
|
|
# Dump view.
|
|
set scale 48.20
|
|
set up_x -0.09
|
|
set up_y 0.94
|
|
set up_z -0.33
|
|
set at_x 3.03
|
|
set at_y 2.70
|
|
set at_z 5.10
|
|
set eye_x 16.40
|
|
set eye_y 10.98
|
|
set eye_z 24.59
|
|
|
|
vviewparams -scale $scale -up $up_x $up_y $up_z -at $at_x $at_y $at_z -eye $eye_x $eye_y $eye_z
|
|
|
|
checkview -screenshot -3d -path ${imagedir}/${test_image}.png
|