diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-12-16 03:59:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-12-16 03:59:02 +0400 |
commit | 862dc635ed98c6d1ffc7c755058c682021da4c6b (patch) | |
tree | 11de5533aaae2da3eab2ab63c5d5977aea73dbc4 /source/blender/modifiers/intern/MOD_meshdeform.c | |
parent | d0b70cffaf99321c57045d8dc8ec197b1542395c (diff) | |
parent | 0dbd9ea73f7f86e02d9aae6c65c3ce5e3c4ecd4b (diff) |
svn merge ^/trunk/blender -r42617:42655
Diffstat (limited to 'source/blender/modifiers/intern/MOD_meshdeform.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_meshdeform.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 966591a3e56..12ccbe1a848 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -189,7 +189,6 @@ static void meshdeformModifier_do( BMEditMesh *em = me ? me->edit_btmesh : NULL; DerivedMesh *tmpdm, *cagedm; MDeformVert *dvert = NULL; - MDeformWeight *dw; MDefInfluence *influences; int *offsets; float imat[4][4], cagemat[4][4], iobmat[4][4], icagemat[3][3], cmat[4][4]; @@ -293,21 +292,14 @@ static void meshdeformModifier_do( continue; if(dvert) { - for(dw=NULL, a=0; a<dvert[b].totweight; a++) { - if(dvert[b].dw[a].def_nr == defgrp_index) { - dw = &dvert[b].dw[a]; - break; - } - } + fac= defvert_find_weight(&dvert[b], defgrp_index); - if(mmd->flag & MOD_MDEF_INVERT_VGROUP) { - if(!dw) fac= 1.0f; - else if(dw->weight == 1.0f) continue; - else fac=1.0f-dw->weight; + if (mmd->flag & MOD_MDEF_INVERT_VGROUP) { + fac= 1.0f - fac; } - else { - if(!dw) continue; - else fac= dw->weight; + + if (fac <= 0.0) { + continue; } } |