mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-07 18:30:55 +03:00
SelectMgr_RectangularFrustum now handles degenerated triangle as a segment or a point. Triangle orthogonal to view direction is now handled as a segment. myViewRayDir field is now defined as normalized vector to avoid confusing math. For the case when the segment and myViewRayDir are almost parallel, the segmentSegmentDistance function may set the depth to zero, although this will not be the correct value, therefore it is better to pass a segment that will not be parallel to myViewRayDir as an argument to the function. vpoint command has been extended by arguments -2d and -nosel for displaying picking mouse position as on-screen point in pixels. Fixed double-binding-map error in case of displaying point with already used name. bugs/vis/bug31412: test case added.
87 lines
2.1 KiB
Plaintext
87 lines
2.1 KiB
Plaintext
puts "==============================================="
|
|
puts "AIS_Manipulator - check zoom persistence option"
|
|
puts "==============================================="
|
|
|
|
set anImage1 $imagedir/${casename}_1.png
|
|
set anImage2 $imagedir/${casename}_2.png
|
|
set anImage3 $imagedir/${casename}_3.png
|
|
set anImage4 $imagedir/${casename}_4.png
|
|
set anImage5 $imagedir/${casename}_5.png
|
|
set anImage6 $imagedir/${casename}_6.png
|
|
|
|
# -------------------------------------
|
|
# create manipulated and helper objects
|
|
# -------------------------------------
|
|
|
|
box b1 0 0 0 20 20 20
|
|
box b2 80 0 0 20 20 20
|
|
vdisplay b1
|
|
vdisplay b2
|
|
vtrihedron tri
|
|
vsetdispmode 1
|
|
vaxo
|
|
vfit
|
|
|
|
# --------------------------------------------------------
|
|
# create and test non-zoom persistent manipulator (test 1)
|
|
# --------------------------------------------------------
|
|
|
|
vmanipulator m1 -attach b1 -adjustPosition 1 -adjustSize 1 -enableModes 1 -zoomable 1
|
|
|
|
set mouse_pick_1 {84 133}
|
|
set mouse_pick_2 {29 103}
|
|
set mouse_pick_3 {29 103}
|
|
set mouse_drag_3 {121 126}
|
|
|
|
# pick at default zoom
|
|
vmoveto 0 0
|
|
vmoveto {*}$mouse_pick_1
|
|
vdump $anImage1
|
|
|
|
# pick at changed zoom
|
|
vzoom 1.5
|
|
vmoveto 0 0
|
|
vmoveto {*}$mouse_pick_2
|
|
vdump $anImage2
|
|
|
|
# drag object
|
|
vselect {*}$mouse_pick_3
|
|
vmanipulator m1 -startTransform {*}$mouse_pick_3
|
|
vmanipulator m1 -transform {*}$mouse_drag_3
|
|
vmanipulator m1 -stopTransform
|
|
vselect 0 0
|
|
vdump $anImage3
|
|
|
|
# ----------------------------------------------------
|
|
# create and test zoom persistent manipulator (test 2)
|
|
# ----------------------------------------------------
|
|
|
|
vfit
|
|
|
|
vmanipulator m2 -attach b2 -adjustPosition 1 -adjustSize 0 -enableModes 1 -zoomable 0 -size 40
|
|
|
|
set mouse_pick_1 {341 282}
|
|
set mouse_pick_2 {277 245}
|
|
set mouse_pick_3 {277 245}
|
|
set mouse_drag_3 {210 210}
|
|
|
|
# pick at default zoom
|
|
vmoveto 0 0
|
|
vmoveto {*}$mouse_pick_1
|
|
vdump $anImage4
|
|
|
|
# pick at changed zoom
|
|
vzoom 0.5
|
|
vmoveto 0 0
|
|
vmoveto {*}$mouse_pick_2
|
|
vdump $anImage5
|
|
|
|
# drag object
|
|
vselect {*}$mouse_pick_3
|
|
vmanipulator m2 -startTransform {*}$mouse_pick_3
|
|
vmanipulator m2 -transform {*}$mouse_drag_3
|
|
vmanipulator m2 -stopTransform
|
|
vselect 0 0
|
|
vdump $anImage6
|
|
|
|
set to_dump_screen 0 |