[Bf-blender-cvs] [3fb7986] fracture_modifier: fix: clustergroup centroid search didnt take obmat into account

Martin Felke noreply at git.blender.org
Fri Feb 6 21:24:09 CET 2015


Commit: 3fb798666ae172e78867973dc29392ad495749c7
Author: Martin Felke
Date:   Fri Feb 6 21:24:00 2015 +0100
Branches: fracture_modifier
https://developer.blender.org/rB3fb798666ae172e78867973dc29392ad495749c7

fix: clustergroup centroid search didnt take obmat into account

===================================================================

M	source/blender/modifiers/intern/MOD_fracture.c

===================================================================

diff --git a/source/blender/modifiers/intern/MOD_fracture.c b/source/blender/modifiers/intern/MOD_fracture.c
index 5cec596..8f24abe 100644
--- a/source/blender/modifiers/intern/MOD_fracture.c
+++ b/source/blender/modifiers/intern/MOD_fracture.c
@@ -396,7 +396,7 @@ static void freeData(ModifierData *md)
 
 }
 
-static void doClusters(FractureModifierData *fmd)
+static void doClusters(FractureModifierData *fmd, Object* obj)
 {
 	/*grow clusters from all shards */
 	int k = 0;
@@ -437,8 +437,11 @@ static void doClusters(FractureModifierData *fmd)
 			for (s = shardlist.first; s; s = s->next ) {
 				KDTreeNearest n;
 				int index;
+				float co[3];
 
-				index = BLI_kdtree_find_nearest(tree, s->centroid, &n);
+				mul_v3_m4v3(co, obj->obmat, s->centroid);
+
+				index = BLI_kdtree_find_nearest(tree, co, &n);
 				s->cluster_colors[0] = index;
 			}
 
@@ -1051,7 +1054,7 @@ static void do_fracture(FractureModifierData *fracmd, ShardID id, Object *obj, D
 
 		if (fracmd->frac_mesh->shard_count > 0)
 		{
-			doClusters(fracmd);
+			doClusters(fracmd, obj);
 		}
 
 		/* here we REALLY need to fracture so deactivate the shards to islands flag and activate afterwards */




More information about the Bf-blender-cvs mailing list