[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25680] trunk/blender/source/blender/ editors/space_view3d/view3d_edit.c: fix for [#20499] Smoot view doesn' t work for all view keys.
Campbell Barton
ideasman42 at gmail.com
Sun Jan 3 04:01:47 CET 2010
Revision: 25680
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25680
Author: campbellbarton
Date: 2010-01-03 04:01:46 +0100 (Sun, 03 Jan 2010)
Log Message:
-----------
fix for [#20499] Smoot view doesn't work for all view keys.
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 2010-01-03 02:53:01 UTC (rev 25679)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2010-01-03 03:01:46 UTC (rev 25680)
@@ -1836,9 +1836,8 @@
static int vieworbit_exec(bContext *C, wmOperator *op)
{
- ARegion *ar= CTX_wm_region(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
- float phi, si, q1[4];
+ float phi, si, q1[4], new_quat[4];
int orbitdir;
orbitdir = RNA_enum_get(op->ptr, "type");
@@ -1854,10 +1853,10 @@
q1[0]= (float)cos(phi);
q1[1]= q1[2]= 0.0;
q1[3]= si;
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
+ mul_qt_qtqt(new_quat, rv3d->viewquat, q1);
rv3d->view= 0;
}
- if(orbitdir == V3D_VIEW_STEPDOWN || orbitdir == V3D_VIEW_STEPUP) {
+ else if(orbitdir == V3D_VIEW_STEPDOWN || orbitdir == V3D_VIEW_STEPUP) {
/* horizontal axis */
VECCOPY(q1+1, rv3d->viewinv[0]);
@@ -1869,10 +1868,11 @@
q1[1]*= si;
q1[2]*= si;
q1[3]*= si;
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
+ mul_qt_qtqt(new_quat, rv3d->viewquat, q1);
rv3d->view= 0;
}
- ED_region_tag_redraw(ar);
+
+ smooth_view(C, NULL, NULL, NULL, new_quat, NULL, NULL);
}
}
More information about the Bf-blender-cvs
mailing list