warp modifier, using negative strength inverts the transformation matrix but the location it gave wasnt useful when rotation was used too, just negate the translation.

This commit is contained in:
Campbell Barton 2011-05-01 16:07:18 +00:00
parent 6b0d932c0d
commit 7cc98cbb0b

@ -198,8 +198,14 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob,
unit_m4(mat_unit);
if(strength < 0.0f) {
float loc[3];
strength = -strength;
/* inverted location is not useful, just use the negative */
copy_v3_v3(loc, mat_final[3]);
invert_m4(mat_final);
negate_v3_v3(mat_final[3], loc);
}
weight= strength;