mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
1) Zoom persistence mode now fixes object in pixel coordinates and is independent on view size 2) Used gp_GTrsf instead of gp_Trsf SelectMgr_ViewerSelector to store Graphic3d_Mat4d 3) Zoom persisted objects changed behavior (become bigger) therefore test cases were updated according to new state. 4) Corrected scale for rectangular frustum Updated test for manipulator
150 lines
3.8 KiB
Plaintext
150 lines
3.8 KiB
Plaintext
puts "====================================="
|
|
puts "AIS_Manipulator - translate 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 100 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 (scene 1)
|
|
# -------------------------------------
|
|
|
|
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
|
|
|
|
# ----------------------------------------------------
|
|
# test x translation transform (world reference frame)
|
|
# ----------------------------------------------------
|
|
|
|
set mouse_pick {204 112}
|
|
set mouse_drag {204 156}
|
|
|
|
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 $anImage1
|
|
|
|
# ----------------------------------------------------
|
|
# test y translation transform (world reference frame)
|
|
# ----------------------------------------------------
|
|
|
|
set mouse_pick {215 160}
|
|
set mouse_drag {265 132}
|
|
|
|
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
|
|
|
|
# ----------------------------------------------------
|
|
# test z translation transform (world reference frame)
|
|
# ----------------------------------------------------
|
|
|
|
set mouse_pick {263 145}
|
|
set mouse_drag {127 065}
|
|
|
|
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
|
|
|
|
# -------------------------------------
|
|
# display manipulated objects (scene 2)
|
|
# -------------------------------------
|
|
|
|
vremove -all
|
|
vdisplay c1
|
|
vdisplay c2
|
|
vsetdispmode 1
|
|
vaxo
|
|
vfit
|
|
|
|
# -------------------------------------------
|
|
# attach manipulator and rotate around z axis
|
|
# -------------------------------------------
|
|
|
|
vmanipulator m -attach c1 -adjustPosition 1 -adjustSize 0 -enableModes 1 -size 40
|
|
vmanipulator m -followRotation 1
|
|
vmanipulator m -followTranslation 1
|
|
|
|
set mouse_pick {223 143}
|
|
set mouse_drag {181 141}
|
|
|
|
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
|
|
|
|
# ----------------------------------------------------
|
|
# test x translation transform (object reference frame)
|
|
# ----------------------------------------------------
|
|
|
|
set mouse_pick {199 131}
|
|
set mouse_drag {175 168}
|
|
|
|
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 y translation transform (object reference frame)
|
|
# ----------------------------------------------------
|
|
|
|
set mouse_pick {199 164}
|
|
set mouse_drag {246 177}
|
|
|
|
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
|
|
|
|
set to_dump_screen 0 |