diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-24 20:15:46 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-24 20:15:46 +0400 |
commit | 1fecf8ff31d38655c952a475f0fc5b31fee58469 (patch) | |
tree | 42e08a36366a54f8b50827de118ebae1c9524a56 /source/blender/editors/space_view3d/view3d_view.c | |
parent | f07b291591f1ee3b6075ad28453711a579d6c0c1 (diff) |
Patch #29142: Reduce hopping when switching between perspective and orthographic on 3D view
Patch by Yasuhiro Fujii, thanks!
Original issue was that in vases viewport's lens are different from default
value switching between perspective and orthographic projections will change
viewplane a lot, which is disorienting and annoying.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_view.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 511f2f37de3..840bf50e145 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -161,6 +161,7 @@ void view3d_smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera if (lens) sms.new_lens = *lens; if (camera) { + sms.new_dist = ED_view3d_offset_distance(camera->obmat, ofs); ED_view3d_from_object(camera, sms.new_ofs, sms.new_quat, &sms.new_dist, &sms.new_lens); sms.to_camera = TRUE; /* restore view3d values in end */ } @@ -185,7 +186,7 @@ void view3d_smooth_view(bContext *C, View3D *v3d, ARegion *ar, Object *oldcamera /* original values */ if (oldcamera) { - sms.orig_dist = rv3d->dist; /* below function does weird stuff with it... */ + sms.orig_dist = ED_view3d_offset_distance(oldcamera->obmat, rv3d->ofs); ED_view3d_from_object(oldcamera, sms.orig_ofs, sms.orig_quat, &sms.orig_dist, &sms.orig_lens); } else { |