[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16802] trunk/blender/source/blender: Adding last view feature for PAD0
Joilnen Leite
vma_bad_list at yahoo.com
Mon Sep 29 02:44:33 CEST 2008
Revision: 16802
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16802
Author: pidhash
Date: 2008-09-29 02:44:33 +0200 (Mon, 29 Sep 2008)
Log Message:
-----------
Adding last view feature for PAD0
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_view3d_types.h
trunk/blender/source/blender/src/space.c
trunk/blender/source/blender/src/toets.c
Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2008-09-28 23:40:36 UTC (rev 16801)
+++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h 2008-09-29 00:44:33 UTC (rev 16802)
@@ -144,6 +144,11 @@
void *properties_storage; /* Nkey panel stores stuff here, not in file */
struct bGPdata *gpd; /* Grease-Pencil Data (annotation layers) */
+
+ /* last view */
+ float lviewquat[4];
+ short lpersp, pad4;
+ int pad5;
} View3D;
Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c 2008-09-28 23:40:36 UTC (rev 16801)
+++ trunk/blender/source/blender/src/space.c 2008-09-29 00:44:33 UTC (rev 16802)
@@ -1709,6 +1709,7 @@
break;
case MIDDLEMOUSE:
handle_view_middlemouse();
+ G.vd->view = -1;
break;
case RIGHTMOUSE:
if((G.obedit) && (G.qual & LR_CTRLKEY)==0) {
Modified: trunk/blender/source/blender/src/toets.c
===================================================================
--- trunk/blender/source/blender/src/toets.c 2008-09-28 23:40:36 UTC (rev 16801)
+++ trunk/blender/source/blender/src/toets.c 2008-09-29 00:44:33 UTC (rev 16802)
@@ -289,6 +289,7 @@
if(G.vd->persp==V3D_PERSP) G.vd->persp=V3D_ORTHO;
else G.vd->persp=V3D_PERSP;
}
+ G.vd->lpersp = G.vd->persp;
}
else if(event==PAD0) {
if(G.qual==LR_ALTKEY) {
@@ -317,7 +318,14 @@
G.vd->camera= scene_find_camera(G.scene);
handle_view3d_lock();
}
-
+ if(!G.vd->view) {
+ QUATCOPY(G.vd->viewquat, G.vd->lviewquat);
+ G.vd->persp = G.vd->lpersp;
+ }
+ else {
+ QUATCOPY(G.vd->lviewquat, G.vd->viewquat);
+ G.vd->lpersp = G.vd->persp;
+ }
if(G.vd->camera && (G.vd->camera != act_cam_orig)) {
G.vd->persp= V3D_CAMOB;
G.vd->view= 0;
@@ -362,7 +370,7 @@
q1[1]= q1[2]= 0.0;
q1[3]= si;
QuatMul(G.vd->viewquat, G.vd->viewquat, q1);
- G.vd->view= 0;
+ G.vd->view= -1;
}
if(event==PAD2 || event==PAD8) {
/* horizontal axis */
@@ -377,7 +385,7 @@
q1[2]*= si;
q1[3]*= si;
QuatMul(G.vd->viewquat, G.vd->viewquat, q1);
- G.vd->view= 0;
+ G.vd->view= -1;
}
}
More information about the Bf-blender-cvs
mailing list