diff options
author | mano-wii <germano.costa@ig.com.br> | 2020-02-15 18:09:23 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2020-02-15 18:09:23 +0300 |
commit | de9ea94fc6f810b101742a4c2b839fb748e95be0 (patch) | |
tree | 0a8fcca4e459fff0614332d415b557ca9cd3c1bf | |
parent | f0c991a380e9d449ebc02cc91649ef3728848070 (diff) |
Transform: Deduplicate time snap code
3 files changed, 5 insertions, 43 deletions
diff --git a/source/blender/editors/transform/transform_mode.c b/source/blender/editors/transform/transform_mode.c index 2368e0f0dc4..e681b649451 100644 --- a/source/blender/editors/transform/transform_mode.c +++ b/source/blender/editors/transform/transform_mode.c @@ -1063,11 +1063,11 @@ short getAnimEdit_SnapMode(TransInfo *t) void doAnimEdit_SnapFrame( TransInfo *t, TransData *td, TransData2D *td2d, AnimData *adt, short autosnap) { - if (ELEM(autosnap, SACTSNAP_FRAME, SACTSNAP_SECOND, SACTSNAP_MARKER)) { + if (autosnap != SACTSNAP_OFF) { float val; /* convert frame to nla-action time (if needed) */ - if (adt) { + if (adt && (t->spacetype != SPACE_SEQ)) { val = BKE_nla_tweakedit_remap(adt, *(td->val), NLATIME_CONVERT_MAP); } else { @@ -1077,7 +1077,7 @@ void doAnimEdit_SnapFrame( snapFrameTransform(t, autosnap, true, val, &val); /* convert frame out of nla-action time */ - if (adt) { + if (adt && (t->spacetype != SPACE_SEQ)) { *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP); } else { diff --git a/source/blender/editors/transform/transform_mode_timescale.c b/source/blender/editors/transform/transform_mode_timescale.c index 2e6d0a59a05..6af5dc3033c 100644 --- a/source/blender/editors/transform/transform_mode_timescale.c +++ b/source/blender/editors/transform/transform_mode_timescale.c @@ -81,13 +81,6 @@ static void applyTimeScaleValue(TransInfo *t, float value) float startx = CFRA; float fac = value; - if (autosnap == SACTSNAP_TSTEP) { - fac = (float)(floor((double)fac / secf + 0.5) * secf); - } - else if (autosnap == SACTSNAP_STEP) { - fac = floorf(fac + 0.5f); - } - /* take proportional editing into account */ fac = ((fac - 1.0f) * td->factor) + 1; diff --git a/source/blender/editors/transform/transform_mode_timetranslate.c b/source/blender/editors/transform/transform_mode_timetranslate.c index 16e2b3c633d..7887c17f537 100644 --- a/source/blender/editors/transform/transform_mode_timetranslate.c +++ b/source/blender/editors/transform/transform_mode_timetranslate.c @@ -87,7 +87,7 @@ static void headerTimeTranslate(TransInfo *t, char str[UI_MAX_DRAW_STR]) } } -static void applyTimeTranslateValue(TransInfo *t, float value) +static void applyTimeTranslateValue(TransInfo *t, const float deltax) { Scene *scene = t->scene; int i; @@ -95,8 +95,6 @@ static void applyTimeTranslateValue(TransInfo *t, float value) const short autosnap = getAnimEdit_SnapMode(t); const double secf = FPS; - float deltax, val /* , valprev */; - FOREACH_TRANS_DATA_CONTAINER (t, tc) { TransData *td = tc->data; TransData2D *td2d = tc->data_2d; @@ -110,37 +108,8 @@ static void applyTimeTranslateValue(TransInfo *t, float value) */ AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL; - /* valprev = *td->val; */ /* UNUSED */ - - /* check if any need to apply nla-mapping */ - if (adt && (t->spacetype != SPACE_SEQ)) { - deltax = value; - - if (autosnap == SACTSNAP_TSTEP) { - deltax = (float)(floor(((double)deltax / secf) + 0.5) * secf); - } - else if (autosnap == SACTSNAP_STEP) { - deltax = floorf(deltax + 0.5f); - } - - val = BKE_nla_tweakedit_remap(adt, td->ival, NLATIME_CONVERT_MAP); - val += deltax * td->factor; - *(td->val) = BKE_nla_tweakedit_remap(adt, val, NLATIME_CONVERT_UNMAP); - } - else { - deltax = val = t->values_final[0]; - - if (autosnap == SACTSNAP_TSTEP) { - val = (float)(floor(((double)deltax / secf) + 0.5) * secf); - } - else if (autosnap == SACTSNAP_STEP) { - val = floorf(val + 0.5f); - } - - *(td->val) = td->ival + val * td->factor; - } - /* apply nearest snapping */ + *(td->val) = td->ival + deltax * td->factor; doAnimEdit_SnapFrame(t, td, td2d, adt, autosnap); } } |