[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25165] trunk/blender/source/blender/ editors/space_view3d/view3d_edit.c: Fix for [#20159] Orthographic camera + viewport
Matt Ebb
matt at mke3.net
Mon Dec 7 11:40:55 CET 2009
Revision: 25165
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25165
Author: broken
Date: 2009-12-07 11:40:55 +0100 (Mon, 07 Dec 2009)
Log Message:
-----------
Fix for [#20159] Orthographic camera + viewport
Patch provided by Aurel W. Thanks!
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 2009-12-07 10:28:36 UTC (rev 25164)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-12-07 10:40:55 UTC (rev 25165)
@@ -1628,36 +1628,43 @@
RegionView3D *rv3d= CTX_wm_region_view3d(C);
Scene *scene= CTX_data_scene(C);
static int perspo=RV3D_PERSP;
- int viewnum, align_active;
+ int viewnum, align_active, nextperspo;
viewnum = RNA_enum_get(op->ptr, "type");
align_active = RNA_boolean_get(op->ptr, "align_active");
+
/* Use this to test if we started out with a camera */
+ if (rv3d->persp == RV3D_CAMOB) {
+ nextperspo= rv3d->lpersp;
+ } else {
+ nextperspo= perspo;
+ }
+
switch (viewnum) {
case RV3D_VIEW_BOTTOM :
- axis_set_view(C, 0.0, -1.0, 0.0, 0.0, viewnum, perspo, align_active);
+ axis_set_view(C, 0.0, -1.0, 0.0, 0.0, viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_BACK:
- axis_set_view(C, 0.0, 0.0, (float)-cos(M_PI/4.0), (float)-cos(M_PI/4.0), viewnum, perspo, align_active);
+ axis_set_view(C, 0.0, 0.0, (float)-cos(M_PI/4.0), (float)-cos(M_PI/4.0), viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_LEFT:
- axis_set_view(C, 0.5, -0.5, 0.5, 0.5, viewnum, perspo, align_active);
+ axis_set_view(C, 0.5, -0.5, 0.5, 0.5, viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_TOP:
- axis_set_view(C, 1.0, 0.0, 0.0, 0.0, viewnum, perspo, align_active);
+ axis_set_view(C, 1.0, 0.0, 0.0, 0.0, viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_FRONT:
- axis_set_view(C, (float)cos(M_PI/4.0), (float)-sin(M_PI/4.0), 0.0, 0.0, viewnum, perspo, align_active);
+ axis_set_view(C, (float)cos(M_PI/4.0), (float)-sin(M_PI/4.0), 0.0, 0.0, viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_RIGHT:
- axis_set_view(C, 0.5, -0.5, -0.5, -0.5, viewnum, perspo, align_active);
+ axis_set_view(C, 0.5, -0.5, -0.5, -0.5, viewnum, nextperspo, align_active);
break;
case RV3D_VIEW_CAMERA:
More information about the Bf-blender-cvs
mailing list