[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17398] trunk/blender/source/blender/src/ transform_generics.c: Median center didn't use TD_NOCENTER properly, making it work incorrectly with hinge bones (and with chain rotations).

Martin Poirier theeth at yahoo.com
Tue Nov 11 04:12:32 CET 2008


Revision: 17398
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17398
Author:   theeth
Date:     2008-11-11 04:12:31 +0100 (Tue, 11 Nov 2008)

Log Message:
-----------
Median center didn't use TD_NOCENTER properly, making it work incorrectly with hinge bones (and with chain rotations).

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

Modified: trunk/blender/source/blender/src/transform_generics.c
===================================================================
--- trunk/blender/source/blender/src/transform_generics.c	2008-11-11 03:11:19 UTC (rev 17397)
+++ trunk/blender/source/blender/src/transform_generics.c	2008-11-11 03:12:31 UTC (rev 17398)
@@ -876,12 +876,16 @@
 void calculateCenterMedian(TransInfo *t)
 {
 	float partial[3] = {0.0f, 0.0f, 0.0f};
+	int total = 0;
 	int i;
 	
 	for(i = 0; i < t->total; i++) {
 		if (t->data[i].flag & TD_SELECTED) {
 			if (!(t->data[i].flag & TD_NOCENTER))
+			{
 				VecAddf(partial, partial, t->data[i].center);
+				total++;
+			}
 		}
 		else {
 			/* 
@@ -892,7 +896,7 @@
 		}
 	}
 	if(i)
-		VecMulf(partial, 1.0f / i);
+		VecMulf(partial, 1.0f / total);
 	VECCOPY(t->center, partial);
 
 	calculateCenter2D(t);





More information about the Bf-blender-cvs mailing list