1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-09 18:50:54 +03:00
occt/tests/v3d/manipulator/zoom_persistence
apl 625e195819 0027038: Visualization - add new presentation for object manipulation
AIS_Manipulator class has been created to provide interactive services for manipulating with mouse local transformations of other interactive objects.

The class features three kinds of transformation modes for attached objects:
- translation of through axis
- scaling within axis
- rotation around axis

For more details please have a look at description of the class in reference manual or in header file.

The patch includes DRAW test workbench for evaluating the AIS_Manipulator features.

Clang warning (override)
2016-06-02 14:23:22 +03:00

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 135}
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 100
set mouse_pick_1 {341 283}
set mouse_pick_2 {277 246}
set mouse_pick_3 {277 246}
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