svn merge ^/trunk/blender -r42290:42292

This commit is contained in:
Campbell Barton 2011-11-30 10:07:04 +00:00
commit df5af02dec
2 changed files with 9 additions and 22 deletions

@ -561,7 +561,7 @@ MDeformWeight *defvert_verify_index(MDeformVert *dvert, const int defgroup)
if (dw_new)
return dw_new;
dw_new= BLI_cellalloc_calloc(sizeof(MDeformWeight)*(dv->totweight+1), "deformWeight");
dw_new= BLI_cellalloc_calloc(sizeof(MDeformWeight)*(dvert->totweight+1), "deformWeight");
if (dvert->dw) {
memcpy(dw_new, dvert->dw, sizeof(MDeformWeight)*dvert->totweight);
BLI_cellalloc_free(dvert->dw);

@ -1703,25 +1703,16 @@ static struct DerivedMesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData
MDeformWeight *def_weight = defvert_find_index(dv, defgrp_index);
/* skip if weight value is 0 and no existing weight is found */
if (!def_weight && !weight[i])
continue;
if ((def_weight != NULL) || (weight[i] != 0.0f)) {
/* if not found, add a weight for it */
if (!def_weight) {
MDeformWeight *newdw = MEM_callocN(sizeof(MDeformWeight)*(dv->totweight+1),
"deformWeight");
if(dv->dw){
memcpy(newdw, dv->dw, sizeof(MDeformWeight)*dv->totweight);
MEM_freeN(dv->dw);
/* if not found, add a weight for it */
if (def_weight == NULL) {
def_weight= defvert_verify_index(dv, defgrp_index);
}
dv->dw=newdw;
dv->dw[dv->totweight].def_nr=defgrp_index;
def_weight = &dv->dw[dv->totweight];
dv->totweight++;
}
/* set weight value */
def_weight->weight = weight[i];
/* set weight value */
def_weight->weight = weight[i];
}
}
}
}
@ -1735,11 +1726,7 @@ static struct DerivedMesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData
for (i=0; i<sData->total_points; i++) {
float normal[3];
normal_short_to_float_v3(normal, mvert[i].no);
normalize_v3(normal);
mvert[i].co[0] += normal[0]*wPoint[i].height;
mvert[i].co[1] += normal[1]*wPoint[i].height;
mvert[i].co[2] += normal[2]*wPoint[i].height;
madd_v3_v3fl(mvert[i].co, normal, wPoint[i].height);
}
CDDM_calc_normals(result);
}