[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