[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55893] trunk/blender/source/blender/ editors/space_view3d/view3d_edit.c: fix [#34903] Lock Camera to View allows Numpad orbit, but not Numpad pan
Campbell Barton
ideasman42 at gmail.com
Mon Apr 8 06:48:35 CEST 2013
Revision: 55893
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55893
Author: campbellbarton
Date: 2013-04-08 04:48:34 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
fix [#34903] Lock Camera to View allows Numpad orbit, but not Numpad pan
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2013-04-08 04:39:09 UTC (rev 55892)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2013-04-08 04:48:34 UTC (rev 55893)
@@ -3466,8 +3466,10 @@
static int viewpan_exec(bContext *C, wmOperator *op)
{
ARegion *ar = CTX_wm_region(C);
+ View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d = CTX_wm_region_view3d(C);
float vec[3];
+ float ofs[3];
const float co_zero[3] = {0.0f};
float mval_f[2] = {0.0f, 0.0f};
float zfac;
@@ -3475,19 +3477,18 @@
pandir = RNA_enum_get(op->ptr, "type");
+ ED_view3d_camera_lock_init(v3d, rv3d);
+
zfac = ED_view3d_calc_zfac(rv3d, co_zero, NULL);
if (pandir == V3D_VIEW_PANRIGHT) { mval_f[0] = -32.0f; }
else if (pandir == V3D_VIEW_PANLEFT) { mval_f[0] = 32.0f; }
else if (pandir == V3D_VIEW_PANUP) { mval_f[1] = -25.0f; }
else if (pandir == V3D_VIEW_PANDOWN) { mval_f[1] = 25.0f; }
ED_view3d_win_to_delta(ar, mval_f, vec, zfac);
- add_v3_v3(rv3d->ofs, vec);
+ add_v3_v3v3(ofs, rv3d->ofs, vec);
- if (rv3d->viewlock & RV3D_BOXVIEW)
- view3d_boxview_sync(CTX_wm_area(C), ar);
+ view3d_smooth_view(C, v3d, ar, NULL, NULL, ofs, NULL, NULL, NULL);
- ED_region_tag_redraw(ar);
-
return OPERATOR_FINISHED;
}
More information about the Bf-blender-cvs
mailing list