diff options
author | Andrew Hale <TrumanBlending@gmail.com> | 2018-08-22 02:45:11 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-08-22 02:45:11 +0300 |
commit | e8e89c135f56d05d04ae6db7e876725738539291 (patch) | |
tree | 8c633c25a528acb9cb78db01300558033041f3b9 | |
parent | a63e5d20583bdd34254bfe289bbed94d8694371c (diff) |
Transform: factor out matrix multiply w/ snapping
-rw-r--r-- | source/blender/editors/transform/transform_snap.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 54253e36351..8188cb3f51c 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -1095,17 +1095,18 @@ static void TargetSnapMedian(TransInfo *t) FOREACH_TRANS_DATA_CONTAINER (t, tc) { TransData *td = tc->data; int i; + float v[3]; + zero_v3(v); + for (i = 0; i < tc->data_len && td->flag & TD_SELECTED; i++, td++) { - /* TODO(campbell): perform the global transformation once per TransDataContainer */ - if (tc->use_local_mat) { - float v[3]; - mul_v3_m4v3(v, tc->mat, td->center); - add_v3_v3(t->tsnap.snapTarget, v); - } - else { - add_v3_v3(t->tsnap.snapTarget, td->center); - } + add_v3_v3(v, td->center); } + + if (tc->use_local_mat) { + mul_m4_v3(tc->mat, v); + } + + add_v3_v3(t->tsnap.snapTarget, v); i_accum += i; } |