diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-02-22 09:19:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-02-22 09:30:48 +0400 |
commit | 739ae1d80956759767e137fe17286dc360788a1b (patch) | |
tree | 64736e18dccebcc24cc4f96b530eeca1f1f3f775 /source/blender/editors/space_image | |
parent | 3a44e975a9c96521b722d631207b87d0210e1202 (diff) |
NDOF: fix for view3d ignoring lens values when panning
image, mce, view2d and view3d now have matching pan speed.
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r-- | source/blender/editors/space_image/image_ops.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index 29448a2c5cd..bb7a9b9a4ba 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -601,24 +601,13 @@ static int image_view_ndof_invoke(bContext *C, wmOperator *UNUSED(op), const wmE ARegion *ar = CTX_wm_region(C); float pan_vec[3]; - wmNDOFMotionData *ndof = (wmNDOFMotionData *) event->customdata; - - float dt = ndof->dt; - - /* tune these until it feels right */ - const float pan_sensitivity = 300.0f; /* screen pixels per second */ - - /* "mouse zoom" factor = 1 + (dx + dy) / 300 - * what about "ndof zoom" factor? should behave like this: - * at rest -> factor = 1 - * move forward -> factor > 1 - * move backward -> factor < 1 - */ + const wmNDOFMotionData *ndof = event->customdata; + const float speed = NDOF_PIXELS_PER_SECOND; WM_event_ndof_pan_get(ndof, pan_vec, true); - mul_v2_fl(pan_vec, (pan_sensitivity * dt) / sima->zoom); - pan_vec[2] *= -dt; + mul_v2_fl(pan_vec, (speed * ndof->dt) / sima->zoom); + pan_vec[2] *= -ndof->dt; sima_zoom_set_factor(sima, ar, 1.0f + pan_vec[2], NULL); sima->xof += pan_vec[0]; |