[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