1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-05 18:16:23 +03:00
anv f522ce50b2 0030532: Visualization - Manipulator for dragging within a plane
Added dragging sectors to Manipulator presentation.
Test added.
2019-03-07 18:06:47 +03:00

104 lines
2.6 KiB
Plaintext

puts "====================================="
puts "AIS_Manipulator - drag an object"
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
# -------------------------------------
# create manipulated and helper objects
# -------------------------------------
pcylinder c1 5 10
pcylinder c2 10 20
ttranslate c1 105 0 20
ttranslate c2 100 0 0
trotate c1 100 0 25 0 1 0 90
trotate c1 100 0 25 0 0 1 10
# -------------------------------------
# display manipulated objects
# -------------------------------------
vdisplay c1
vdisplay c2
vsetdispmode 1
vaxo
vfit
# ------------------
# attach manipulator
# ------------------
vmanipulator m -attach c1 -adjustPosition 1 -adjustSize 0 -enableModes 1 -size 40
vmanipulator m -followRotation 1
vmanipulator m -followTranslation 1
vdump $anImage1
# ----------------------------------------------------
# test xz plane dragging transform (world reference frame)
# ----------------------------------------------------
set mouse_pick {211 129}
set mouse_drag {284 248}
vmoveto {*}$mouse_pick
vselect {*}$mouse_pick
vmanipulator m -startTransform {*}$mouse_pick
vmanipulator m -transform {*}$mouse_drag
vmanipulator m -stopTransform
vselect 0 0
vmoveto {*}$mouse_drag
vdump $anImage2
# -------------------------------------------
# rotate around y axis
# -------------------------------------------
set mouse_pick {316 257}
set mouse_drag {279 286}
vmoveto {*}$mouse_pick
vselect {*}$mouse_pick
vmanipulator m -startTransform {*}$mouse_pick
vmanipulator m -transform {*}$mouse_drag
vmanipulator m -stopTransform
vselect 0 0
vmoveto {*}$mouse_drag
vdump $anImage3
# ----------------------------------------------------
# test xy plane dragging transform (world reference frame)
# ----------------------------------------------------
set mouse_pick {278 267}
set mouse_drag {156 276}
vmoveto {*}$mouse_pick
vselect {*}$mouse_pick
vmanipulator m -startTransform {*}$mouse_pick
vmanipulator m -transform {*}$mouse_drag
vmanipulator m -stopTransform
vselect 0 0
vmoveto {*}$mouse_drag
vdump $anImage4
# ----------------------------------------------------
# test yz plane dragging transform (world reference frame)
# ----------------------------------------------------
set mouse_pick {168 258}
set mouse_drag {166 182}
vmoveto {*}$mouse_pick
vselect {*}$mouse_pick
vmanipulator m -startTransform {*}$mouse_pick
vmanipulator m -transform {*}$mouse_drag
vmanipulator m -stopTransform
vselect 0 0
vmoveto {*}$mouse_drag
vdump $anImage5