puts "====================================="
puts "AIS_Manipulator - drag an object"
puts "====================================="

pload MODELING VISUALIZATION

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 261}
set mouse_drag {281 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
