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:
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
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue