[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12242] trunk/blender/source/blender/src/ transform.c: Bugfix #7482:

Joshua Leung aligorith at gmail.com
Tue Oct 9 08:21:27 CEST 2007


Revision: 12242
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12242
Author:   aligorith
Date:     2007-10-09 08:21:26 +0200 (Tue, 09 Oct 2007)

Log Message:
-----------
Bugfix #7482:

Trackball transform did not work correctly for "individual centers" pivot mode in face-select mode. It was missing a case that would allow this happen.

Modified Paths:
--------------
    trunk/blender/source/blender/src/transform.c

Modified: trunk/blender/source/blender/src/transform.c
===================================================================
--- trunk/blender/source/blender/src/transform.c	2007-10-09 05:54:31 UTC (rev 12241)
+++ trunk/blender/source/blender/src/transform.c	2007-10-09 06:21:26 UTC (rev 12242)
@@ -2242,6 +2242,7 @@
 {
 	TransData *td = t->data;
 	float mat[3][3], smat[3][3], totmat[3][3];
+	float center[3];
 	int i;
 
 	VecRotToMat3(axis1, angles[0], smat);
@@ -2253,9 +2254,18 @@
 		if (td->flag & TD_NOACTION)
 			break;
 		
+		VECCOPY(center, t->center);
+		
 		if (t->around == V3D_LOCAL) {
-			if (t->flag & T_OBJECT)
-				VECCOPY(t->center, td->center);	// not supported in editmode yet
+			/* local-mode shouldn't change center */
+			if (t->flag & (T_OBJECT|T_POSE)) {
+				VECCOPY(t->center, td->center);
+			}
+			else {
+				if(G.vd->around==V3D_LOCAL && (G.scene->selectmode & SCE_SELECT_FACE)) {
+					VECCOPY(t->center, td->center);
+				}
+			}
 		}
 		
 		if (t->flag & T_PROP_EDIT) {
@@ -2264,8 +2274,10 @@
 			
 			Mat3MulMat3(mat, smat, totmat);
 		}
-
+		
 		ElementRotation(t, td, mat);
+		
+		VECCOPY(t->center, center);
 	}
 }
 





More information about the Bf-blender-cvs mailing list