Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-02-28 15:07:53 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-28 15:07:53 +0400
commita04c132a7efe09846aad1b68e0f604e9a3ff3156 (patch)
tree8eaee1ee320eb9d7111d610fc648b1768a92c04a
parentf4bf97729a4e83e462f63574a32f5209be8812f6 (diff)
NDOF: minor tweaks based on feedback.
- invert Y axis when swap YZ is enabled. - allow rotating when not in ortho mode.
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c2
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c11
2 files changed, 5 insertions, 8 deletions
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index e8b08f3dd07..cf593a68d77 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -1548,7 +1548,7 @@ static int ndof_orbit_zoom_invoke(bContext *C, wmOperator *op, const wmEvent *ev
if (ndof->progress == P_FINISHING) {
/* pass */
}
- else if (RV3D_VIEW_IS_AXIS(rv3d->view)) {
+ else if ((rv3d->persp == RV3D_ORTHO) && RV3D_VIEW_IS_AXIS(rv3d->view)) {
/* if we can't rotate, fallback to translate (locked axis views) */
const bool has_translate = NDOF_HAS_TRANSLATE;
const bool has_zoom = (ndof->tvec[2] != 0.0f) && ED_view3d_offset_lock_check(v3d, rv3d);
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 6a70be36419..ecf56bcbc3a 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2883,14 +2883,11 @@ static void attach_ndof_data(wmEvent *event, const GHOST_TEventNDOFMotionData *g
mul_v3_v3fl(data->tvec, &ghost->tx, ts);
mul_v3_v3fl(data->rvec, &ghost->rx, rs);
- /**
- * \note
- * - optionally swap Y/Z.
- * - maintain handed-ness? or just do what feels right? not for now.
- * - after testing seems best not to apply this to rotation.
- */
if (U.ndof_flag & NDOF_PAN_YZ_SWAP_AXIS) {
- SWAP(float, data->tvec[1], data->tvec[2]);
+ float t;
+ t = data->tvec[1];
+ data->tvec[1] = -data->tvec[2];
+ data->tvec[2] = t;
}
data->dt = ghost->dt;