diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-06 10:52:12 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-06-25 18:52:27 +0300 |
commit | 74450265d0ab42e7e4fcadc85796c0d2a215eb18 (patch) | |
tree | 68492a63be34526fd1931cc7e36fdb57812a45ef /source/blender/editors/transform/transform_mode_translate.c | |
parent | 20e68d848e7913237f4bf1c4c01d36ae4a7e3d88 (diff) |
Fix T87185: value assigned to modal Scale does not work properly
`t->values` does not necessarily represent a final value of the
transformation, as each mode treats this value differently.
So, unfortunately, we cannot have a generic offset solution for modal
transform operations. Offset needs to be handled by each mode.
Note: Currently only, `Move`, `Rotate` and `Resize` support this.
Diffstat (limited to 'source/blender/editors/transform/transform_mode_translate.c')
-rw-r--r-- | source/blender/editors/transform/transform_mode_translate.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_mode_translate.c b/source/blender/editors/transform/transform_mode_translate.c index 0e734b3b74b..7ee8834c1fe 100644 --- a/source/blender/editors/transform/transform_mode_translate.c +++ b/source/blender/editors/transform/transform_mode_translate.c @@ -362,6 +362,11 @@ static void applyTranslation(TransInfo *t, const int UNUSED(mval[2])) } else { copy_v3_v3(global_dir, t->values); + if (!is_zero_v3(t->values_modal_offset)) { + float values_ofs[3]; + mul_v3_m3v3(values_ofs, t->spacemtx, t->values_modal_offset); + add_v3_v3(global_dir, values_ofs); + } t->tsnap.snapElem = 0; applySnapping(t, global_dir); |