1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
mzernova b0afa94d10 0027848: Visualization - sensitivity of lines is too high
Improved objects sorting by depth.

The sensitivity calculation for the manipulator has been changed.
Now the sensitivity of the elements of the manipulator depends on its size.

Also fixed the problem of erroneous selection of unfilled circles (SelectMgr_Frustum<N>::hasCircleOverlap() function).

Test case vselect/bugs/bug27848 added.
2023-02-04 09:17:58 +00:00

157 lines
4.0 KiB
Plaintext

puts "====================================="
puts "AIS_Manipulator - translate 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 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
vmanipulator m -part 0 4 0
vmanipulator m -part 1 4 0
vmanipulator m -part 2 4 0
# ----------------------------------------------------
# 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
vmanipulator m -part 0 4 0
vmanipulator m -part 1 4 0
vmanipulator m -part 2 4 0
set mouse_pick {223 144}
set mouse_drag {181 140}
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 176}
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