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:
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user