[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37461] trunk/blender/source/blender/ modifiers/intern/MOD_mask.c: mask modifier was taking into account zero weighted verts.

Campbell Barton ideasman42 at gmail.com
Tue Jun 14 03:54:05 CEST 2011


Revision: 37461
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37461
Author:   campbellbarton
Date:     2011-06-14 01:54:03 +0000 (Tue, 14 Jun 2011)
Log Message:
-----------
mask modifier was taking into account zero weighted verts.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_mask.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_mask.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_mask.c	2011-06-14 01:04:11 UTC (rev 37460)
+++ trunk/blender/source/blender/modifiers/intern/MOD_mask.c	2011-06-14 01:54:03 UTC (rev 37461)
@@ -202,7 +202,9 @@
 				if (BLI_ghash_haskey(boneHash, SET_INT_IN_POINTER(dvert[i].dw[j].def_nr))) 
 				{
 					def_weight = &dvert[i].dw[j];
-					break;
+					if(def_weight->weight != 0.0f) {
+						break;
+					}
 				}
 			}
 			
@@ -243,26 +245,16 @@
 		/* add vertices which exist in vertexgroup into ghash for filtering */
 		for (i = 0; i < maxVerts; i++) 
 		{
-			MDeformWeight *def_weight = NULL;
-			int j;
+			const int weight_set= defvert_find_weight(dvert + i, defgrp_index) != 0.0f;
 			
-			for (j= 0; j < dvert[i].totweight; j++) 
-			{
-				if (dvert[i].dw[j].def_nr == defgrp_index) 
-				{
-					def_weight = &dvert[i].dw[j];
-					break;
-				}
-			}
-			
 			/* check if include vert in vertHash */
 			if (mmd->flag & MOD_MASK_INV) {
 				/* if this vert is in the vgroup, don't include it in vertHash */
-				if (def_weight) continue;
+				if (weight_set) continue;
 			}
 			else {
 				/* if this vert isn't in the vgroup, don't include it in vertHash */
-				if (!def_weight) continue;
+				if (!weight_set) continue;
 			}
 			
 			/* add to ghash for verts (numVerts acts as counter for mapping) */




More information about the Bf-blender-cvs mailing list