diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2021-12-08 20:20:03 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-12-08 20:21:57 +0300 |
commit | f32b63ec583ce70081a1998b31470dbb74450a0f (patch) | |
tree | d9daeecf905b02bb329ddd0cfbdbd12d7d9487e4 /source | |
parent | 6ebc581b52e9e5721833a528f6a536a80b615db2 (diff) |
Fix T93642: value used as transform offset is ignored in some modes
If a transform operator is executed as modal and has a "value" set, that value works as an offset.
However few transform modes were supporting this.
Include more transform modes as supported.
Diffstat (limited to 'source')
18 files changed, 18 insertions, 16 deletions
diff --git a/source/blender/editors/transform/transform_mode_bbone_resize.c b/source/blender/editors/transform/transform_mode_bbone_resize.c index 95e2d944b9b..53908564fe5 100644 --- a/source/blender/editors/transform/transform_mode_bbone_resize.c +++ b/source/blender/editors/transform/transform_mode_bbone_resize.c @@ -123,6 +123,7 @@ static void applyBoneSize(TransInfo *t, const int UNUSED(mval[2])) float ratio = t->values[0]; copy_v3_fl(t->values_final, ratio); + add_v3_v3(t->values_final, t->values_modal_offset); transform_snap_increment(t, t->values_final); diff --git a/source/blender/editors/transform/transform_mode_boneenvelope.c b/source/blender/editors/transform/transform_mode_boneenvelope.c index da7393ab42e..bb7bd81f7bd 100644 --- a/source/blender/editors/transform/transform_mode_boneenvelope.c +++ b/source/blender/editors/transform/transform_mode_boneenvelope.c @@ -51,7 +51,7 @@ static void applyBoneEnvelope(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_boneroll.c b/source/blender/editors/transform/transform_mode_boneroll.c index cd04ca2b844..237a8a0719a 100644 --- a/source/blender/editors/transform/transform_mode_boneroll.c +++ b/source/blender/editors/transform/transform_mode_boneroll.c @@ -52,7 +52,7 @@ static void applyBoneRoll(TransInfo *t, const int UNUSED(mval[2])) float final; - final = t->values[0]; + final = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &final); diff --git a/source/blender/editors/transform/transform_mode_curveshrinkfatten.c b/source/blender/editors/transform/transform_mode_curveshrinkfatten.c index 9433502ef55..f6d0eb49576 100644 --- a/source/blender/editors/transform/transform_mode_curveshrinkfatten.c +++ b/source/blender/editors/transform/transform_mode_curveshrinkfatten.c @@ -51,7 +51,7 @@ static void applyCurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_edge_bevelweight.c b/source/blender/editors/transform/transform_mode_edge_bevelweight.c index 5466ba3e91f..56613a9d3be 100644 --- a/source/blender/editors/transform/transform_mode_edge_bevelweight.c +++ b/source/blender/editors/transform/transform_mode_edge_bevelweight.c @@ -96,7 +96,7 @@ static void applyBevelWeight(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - weight = t->values[0]; + weight = t->values[0] + t->values_modal_offset[0]; CLAMP_MAX(weight, 1.0f); diff --git a/source/blender/editors/transform/transform_mode_edge_crease.c b/source/blender/editors/transform/transform_mode_edge_crease.c index 1d3b4dbb4f0..debc2a1be3e 100644 --- a/source/blender/editors/transform/transform_mode_edge_crease.c +++ b/source/blender/editors/transform/transform_mode_edge_crease.c @@ -97,7 +97,7 @@ static void applyCrease(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - crease = t->values[0]; + crease = t->values[0] + t->values_modal_offset[0]; CLAMP_MAX(crease, 1.0f); diff --git a/source/blender/editors/transform/transform_mode_edge_rotate_normal.c b/source/blender/editors/transform/transform_mode_edge_rotate_normal.c index 1f57bacf78f..16263adb223 100644 --- a/source/blender/editors/transform/transform_mode_edge_rotate_normal.c +++ b/source/blender/editors/transform/transform_mode_edge_rotate_normal.c @@ -95,7 +95,7 @@ static void applyNormalRotation(TransInfo *t, const int UNUSED(mval[2])) float axis[3]; float mat[3][3]; - float angle = t->values[0]; + float angle = t->values[0] + t->values_modal_offset[0]; copy_v3_v3(axis, axis_final); transform_snap_increment(t, &angle); diff --git a/source/blender/editors/transform/transform_mode_edge_slide.c b/source/blender/editors/transform/transform_mode_edge_slide.c index cfcb17b8da0..c7a42b0cd64 100644 --- a/source/blender/editors/transform/transform_mode_edge_slide.c +++ b/source/blender/editors/transform/transform_mode_edge_slide.c @@ -1458,7 +1458,7 @@ static void applyEdgeSlide(TransInfo *t, const int UNUSED(mval[2])) const bool is_clamp = !(t->flag & T_ALT_TRANSFORM); const bool is_constrained = !(is_clamp == false || hasNumInput(&t->num)); - final = t->values[0]; + final = t->values[0] + t->values_modal_offset[0]; applySnapping(t, &final); if (!validSnap(t)) { diff --git a/source/blender/editors/transform/transform_mode_gpopacity.c b/source/blender/editors/transform/transform_mode_gpopacity.c index 748769491f1..b5a4b5d285e 100644 --- a/source/blender/editors/transform/transform_mode_gpopacity.c +++ b/source/blender/editors/transform/transform_mode_gpopacity.c @@ -53,7 +53,7 @@ static void applyGPOpacity(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_gpshrinkfatten.c b/source/blender/editors/transform/transform_mode_gpshrinkfatten.c index bc081edd597..3be7dde56a1 100644 --- a/source/blender/editors/transform/transform_mode_gpshrinkfatten.c +++ b/source/blender/editors/transform/transform_mode_gpshrinkfatten.c @@ -53,7 +53,7 @@ static void applyGPShrinkFatten(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_maskshrinkfatten.c b/source/blender/editors/transform/transform_mode_maskshrinkfatten.c index 327a639773c..9788b14e321 100644 --- a/source/blender/editors/transform/transform_mode_maskshrinkfatten.c +++ b/source/blender/editors/transform/transform_mode_maskshrinkfatten.c @@ -52,7 +52,7 @@ static void applyMaskShrinkFatten(TransInfo *t, const int UNUSED(mval[2])) bool initial_feather = false; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_push_pull.c b/source/blender/editors/transform/transform_mode_push_pull.c index 0527d1bc08e..bf6037572b9 100644 --- a/source/blender/editors/transform/transform_mode_push_pull.c +++ b/source/blender/editors/transform/transform_mode_push_pull.c @@ -124,7 +124,7 @@ static void applyPushPull(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - distance = t->values[0]; + distance = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &distance); diff --git a/source/blender/editors/transform/transform_mode_shear.c b/source/blender/editors/transform/transform_mode_shear.c index 018725ec6dd..819a1e321f4 100644 --- a/source/blender/editors/transform/transform_mode_shear.c +++ b/source/blender/editors/transform/transform_mode_shear.c @@ -199,7 +199,7 @@ static void applyShear(TransInfo *t, const int UNUSED(mval[2])) char str[UI_MAX_DRAW_STR]; const bool is_local_center = transdata_check_local_center(t, t->around); - value = t->values[0]; + value = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &value); diff --git a/source/blender/editors/transform/transform_mode_shrink_fatten.c b/source/blender/editors/transform/transform_mode_shrink_fatten.c index b18e0aa0c7f..032188e7115 100644 --- a/source/blender/editors/transform/transform_mode_shrink_fatten.c +++ b/source/blender/editors/transform/transform_mode_shrink_fatten.c @@ -110,7 +110,7 @@ static void applyShrinkFatten(TransInfo *t, const int UNUSED(mval[2])) size_t ofs = 0; UnitSettings *unit = &t->scene->unit; - distance = t->values[0]; + distance = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &distance); diff --git a/source/blender/editors/transform/transform_mode_skin_resize.c b/source/blender/editors/transform/transform_mode_skin_resize.c index 236c9024201..d4ecaf1a27f 100644 --- a/source/blender/editors/transform/transform_mode_skin_resize.c +++ b/source/blender/editors/transform/transform_mode_skin_resize.c @@ -107,6 +107,7 @@ static void applySkinResize(TransInfo *t, const int UNUSED(mval[2])) } else { copy_v3_fl(t->values_final, t->values[0]); + add_v3_v3(t->values_final, t->values_modal_offset); transform_snap_increment(t, t->values_final); diff --git a/source/blender/editors/transform/transform_mode_tilt.c b/source/blender/editors/transform/transform_mode_tilt.c index b48f474e16e..6b470177a12 100644 --- a/source/blender/editors/transform/transform_mode_tilt.c +++ b/source/blender/editors/transform/transform_mode_tilt.c @@ -52,7 +52,7 @@ static void applyTilt(TransInfo *t, const int UNUSED(mval[2])) float final; - final = t->values[0]; + final = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &final); diff --git a/source/blender/editors/transform/transform_mode_tosphere.c b/source/blender/editors/transform/transform_mode_tosphere.c index bfc85b2fe44..e3feaab5f20 100644 --- a/source/blender/editors/transform/transform_mode_tosphere.c +++ b/source/blender/editors/transform/transform_mode_tosphere.c @@ -194,7 +194,7 @@ static void applyToSphere(TransInfo *t, const int UNUSED(mval[2])) int i; char str[UI_MAX_DRAW_STR]; - ratio = t->values[0]; + ratio = t->values[0] + t->values_modal_offset[0]; transform_snap_increment(t, &ratio); diff --git a/source/blender/editors/transform/transform_mode_vert_slide.c b/source/blender/editors/transform/transform_mode_vert_slide.c index def5f911c6f..efc4c73fbee 100644 --- a/source/blender/editors/transform/transform_mode_vert_slide.c +++ b/source/blender/editors/transform/transform_mode_vert_slide.c @@ -582,7 +582,7 @@ static void applyVertSlide(TransInfo *t, const int UNUSED(mval[2])) const bool is_clamp = !(t->flag & T_ALT_TRANSFORM); const bool is_constrained = !(is_clamp == false || hasNumInput(&t->num)); - final = t->values[0]; + final = t->values[0] + t->values_modal_offset[0]; applySnapping(t, &final); if (!validSnap(t)) { |