[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14281] trunk/blender/source/blender/src/ view.c: [#7289] Orbit around selected in edit mode goes crazy with no verts selected

Martin Poirier theeth at yahoo.com
Sun Mar 30 03:47:10 CEST 2008


Revision: 14281
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14281
Author:   theeth
Date:     2008-03-30 03:47:06 +0200 (Sun, 30 Mar 2008)

Log Message:
-----------
[#7289] Orbit around selected in edit mode goes crazy with no verts selected
[#8784] orbiting around selection bug + a few kind of a must features (partial fix)

As suggested by Ton, keep last center and use that when nothing selected.

I don't really like it though as it wouldn't work ok when changing scene  or when using a different 3D view and is somewhat non trivial to explain (it's not the last selection, it's the last used orbiting center).

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

Modified: trunk/blender/source/blender/src/view.c
===================================================================
--- trunk/blender/source/blender/src/view.c	2008-03-29 15:20:41 UTC (rev 14280)
+++ trunk/blender/source/blender/src/view.c	2008-03-30 01:47:06 UTC (rev 14281)
@@ -722,6 +722,7 @@
 
 void viewmove(int mode)
 {
+	static float lastofs[3] = {0,0,0};
 	Object *ob = OBACT;
 	float firstvec[3], newvec[3], dvec[3];
 	float reverse, oldquat[4], q1[4], si, phi, dist0;
@@ -783,13 +784,15 @@
 		obofs[1]= -obofs[1];
 		obofs[2]= -obofs[2];
 	}
-	else if (ob && (U.uiflag & USER_ORBIT_SELECTION)) {
+	else if (U.uiflag & USER_ORBIT_SELECTION) {
 		use_sel = 1;
 		
 		VECCOPY(ofs, G.vd->ofs);
 		
-		/* If there's no selection, obofs is unmodified, so <0,0,0> */
-		calculateTransformCenter(V3D_CENTROID, obofs);
+		/* If there's no selection, lastofs is unmodified and last value since static */
+		calculateTransformCenter(V3D_CENTROID, lastofs);
+		
+		VECCOPY(obofs, lastofs);
 		VecMulf(obofs, -1.0f);
 	}
 	else





More information about the Bf-blender-cvs mailing list