diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2020-06-08 00:48:33 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2020-06-08 14:23:37 +0300 |
commit | e54fb1b8191ee41ce537c8e1d6bbf81fa5e0302d (patch) | |
tree | f09e64c3a7f94925f0729153e1eef707e5d8112d /source/blender/editors/transform/transform_convert_tracking.c | |
parent | 826769d1c7b5b56124b45512feb70d2e8607c0f5 (diff) |
Cleanup: Move each recalcData to their respective TransData file
Diffstat (limited to 'source/blender/editors/transform/transform_convert_tracking.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert_tracking.c | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_convert_tracking.c b/source/blender/editors/transform/transform_convert_tracking.c index 6704567a76b..0f00f5bc318 100644 --- a/source/blender/editors/transform/transform_convert_tracking.c +++ b/source/blender/editors/transform/transform_convert_tracking.c @@ -608,11 +608,11 @@ void cancelTransTracking(TransInfo *t) /** \} */ /* -------------------------------------------------------------------- */ -/** \name Clip Editor Motion Tracking Transform Creation +/** \name recalc Motion Tracking TransData * * \{ */ -void flushTransTracking(TransInfo *t) +static void flushTransTracking(TransInfo *t) { TransData *td; TransData2D *td2d; @@ -689,4 +689,52 @@ void flushTransTracking(TransInfo *t) } } +/* helper for recalcData() - for Movie Clip transforms */ +void recalcData_tracking(TransInfo *t) +{ + SpaceClip *sc = t->area->spacedata.first; + + if (ED_space_clip_check_show_trackedit(sc)) { + MovieClip *clip = ED_space_clip_get_clip(sc); + ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking); + MovieTrackingTrack *track; + int framenr = ED_space_clip_get_clip_frame_number(sc); + + flushTransTracking(t); + + track = tracksbase->first; + while (track) { + if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) { + MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr); + + if (t->mode == TFM_TRANSLATION) { + if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT)) { + BKE_tracking_marker_clamp(marker, CLAMP_PAT_POS); + } + if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH)) { + BKE_tracking_marker_clamp(marker, CLAMP_SEARCH_POS); + } + } + else if (t->mode == TFM_RESIZE) { + if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT)) { + BKE_tracking_marker_clamp(marker, CLAMP_PAT_DIM); + } + if (TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH)) { + BKE_tracking_marker_clamp(marker, CLAMP_SEARCH_DIM); + } + } + else if (t->mode == TFM_ROTATION) { + if (TRACK_AREA_SELECTED(track, TRACK_AREA_PAT)) { + BKE_tracking_marker_clamp(marker, CLAMP_PAT_POS); + } + } + } + + track = track->next; + } + + DEG_id_tag_update(&clip->id, 0); + } +} + /** \} */ |