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.
This commit is contained in:
Germano Cavalcante 2021-12-08 14:20:03 -03:00
parent 6ebc581b52
commit f32b63ec58
Notes: blender-bot 2023-02-14 05:50:03 +01:00
Referenced by issue #93642, transform.edge_crease ignores Factor when used as with hotkey
18 changed files with 18 additions and 16 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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)) {

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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)) {