[Bf-blender-cvs] [521358428da] greasepencil-object: GPencil: Attenuate translate effect in Transform UV operator
Antonio Vazquez
noreply at git.blender.org
Sat Nov 9 12:28:35 CET 2019
Commit: 521358428da293684f5dfc14020dbea9139abb39
Author: Antonio Vazquez
Date: Sat Nov 9 12:28:26 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rB521358428da293684f5dfc14020dbea9139abb39
GPencil: Attenuate translate effect in Transform UV operator
The old attenuate value makes the transform too hard.
===================================================================
M source/blender/editors/gpencil/gpencil_uv.c
===================================================================
diff --git a/source/blender/editors/gpencil/gpencil_uv.c b/source/blender/editors/gpencil/gpencil_uv.c
index fb97d6afb48..18a3216d979 100644
--- a/source/blender/editors/gpencil/gpencil_uv.c
+++ b/source/blender/editors/gpencil/gpencil_uv.c
@@ -60,7 +60,6 @@ typedef struct GpUvData {
float initial_length;
float pixel_size; /* use when mouse input is interpreted as spatial distance */
bool is_modal;
- bool is_shift;
/* Arrays of original loc/rot/scale by stroke. */
float (*array_loc)[2];
@@ -160,7 +159,6 @@ static bool gpencil_uv_transform_init(bContext *C, wmOperator *op, const bool is
opdata->array_rot = NULL;
opdata->array_scale = NULL;
opdata->ob_scale = mat4_to_scale(opdata->ob->obmat);
- opdata->is_shift = false;
opdata->vinit_rotation[0] = 1.0f;
opdata->vinit_rotation[1] = 0.0f;
@@ -267,9 +265,8 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op)
float uv_rotation = (opdata->is_modal) ? angle_signed_v2v2(opdata->vinit_rotation, vr) :
RNA_float_get(op->ptr, "rotation");
- if (opdata->is_shift) {
- uv_rotation *= SMOOTH_FACTOR;
- }
+ uv_rotation *= SMOOTH_FACTOR;
+
if (opdata->is_modal) {
RNA_float_set(op->ptr, "rotation", uv_rotation);
}
@@ -281,9 +278,9 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op)
float mdiff[2];
mdiff[0] = opdata->mcenter[0] - opdata->mouse[0];
mdiff[1] = opdata->mcenter[1] - opdata->mouse[1];
- if (opdata->is_shift) {
- mul_v2_fl(mdiff, SMOOTH_FACTOR);
- }
+
+ /* Apply a big amount of smooth always for translate to get smooth result. */
+ mul_v2_fl(mdiff, 0.006f);
/* Apply angle in translation. */
mdiff[0] *= cos(uv_rotation);
@@ -332,9 +329,8 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op)
((len_v2(mdiff) - opdata->initial_length) * opdata->pixel_size) /
opdata->ob_scale :
RNA_float_get(op->ptr, "scale");
- if (opdata->is_shift) {
- scale *= SMOOTH_FACTOR;
- }
+ scale *= SMOOTH_FACTOR;
+
if (opdata->is_modal) {
RNA_float_set(op->ptr, "scale", scale);
}
@@ -411,7 +407,6 @@ static int gpencil_uv_transform_invoke(bContext *C, wmOperator *op, const wmEven
/* initialize mouse values */
opdata->mouse[0] = event->mval[0];
opdata->mouse[1] = event->mval[1];
- opdata->is_shift = event->shift;
copy_v3_v3(center_3d, opdata->ob->loc);
mlen[0] = opdata->mcenter[0] - event->mval[0];
@@ -447,7 +442,6 @@ static int gpencil_uv_transform_modal(bContext *C, wmOperator *op, const wmEvent
case MOUSEMOVE: {
opdata->mouse[0] = event->mval[0];
opdata->mouse[1] = event->mval[1];
- opdata->is_shift = event->shift;
if (gpencil_uv_transform_calc(C, op)) {
gpencil_uv_transform_update_header(op, C);
More information about the Bf-blender-cvs
mailing list