diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2012-01-21 13:41:21 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2012-01-21 13:41:21 +0400 |
commit | 56fae37b2ab33228a09444bbe0685ab0a7af1eab (patch) | |
tree | 47604cb66de736b1fa548d58b8f51c9daeb1abe9 /source/blender/blenkernel/intern/constraint.c | |
parent | 030649cf37697eed8f030e29da512b3d660cb307 (diff) |
Fix [#29940] Stretch To constraint breaks scaling in Transform constraint.
Compute of dist between ob/bone and target was quite odd and causing that bug.
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 77a4a6a429c..2bda3066af0 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -2775,13 +2775,14 @@ static void stretchto_evaluate (bConstraint *con, bConstraintOb *cob, ListBase * /* store Z orientation before destroying obmat */ normalize_v3_v3(zz, cob->matrix[2]); - sub_v3_v3v3(vec, cob->matrix[3], ct->matrix[3]); - vec[0] /= size[0]; - vec[1] /= size[1]; - vec[2] /= size[2]; - - dist = normalize_v3(vec); - //dist = len_v3v3( ob->obmat[3], targetmat[3]); + dist = len_v3v3(cob->matrix[3], ct->matrix[3]); + /* XXX What was all that for??? Makes the constraint buggy with scaled objects, see #29940. */ +/* sub_v3_v3v3(vec, cob->matrix[3], ct->matrix[3]);*/ +/* vec[0] /= size[0];*/ +/* vec[1] /= size[1];*/ +/* vec[2] /= size[2];*/ + +/* dist = normalize_v3(vec);*/ /* data->orglength==0 occurs on first run, and after 'R' button is clicked */ if (data->orglength == 0) |