Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert_tracking.c
| Show First 20 Lines • Show All 512 Lines • ▼ Show 20 Lines | if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_LOCKED) == 0) { | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| track = track->next; | track = track->next; | ||||
| } | } | ||||
| } | } | ||||
| void createTransTrackingData(bContext *C, TransInfo *t) | static void createTransTrackingData(bContext *C, TransInfo *t) | ||||
| { | { | ||||
| ARegion *region = CTX_wm_region(C); | ARegion *region = CTX_wm_region(C); | ||||
| SpaceClip *sc = CTX_wm_space_clip(C); | SpaceClip *sc = CTX_wm_space_clip(C); | ||||
| MovieClip *clip = ED_space_clip_get_clip(sc); | MovieClip *clip = ED_space_clip_get_clip(sc); | ||||
| int width, height; | int width, height; | ||||
| TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); | TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t); | ||||
| ▲ Show 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | for (td_index = 0, td = tc->data, td2d = tc->data_2d, tdt = tc->custom.type.data; | ||||
| } | } | ||||
| else if (tdt->mode == transDataTracking_ModePlaneTracks) { | else if (tdt->mode == transDataTracking_ModePlaneTracks) { | ||||
| td2d->loc2d[0] = td2d->loc[0] / t->aspect[0]; | td2d->loc2d[0] = td2d->loc[0] / t->aspect[0]; | ||||
| td2d->loc2d[1] = td2d->loc[1] / t->aspect[1]; | td2d->loc2d[1] = td2d->loc[1] / t->aspect[1]; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| void recalcData_tracking(TransInfo *t) | static void recalcData_tracking(TransInfo *t) | ||||
| { | { | ||||
| SpaceClip *sc = t->area->spacedata.first; | SpaceClip *sc = t->area->spacedata.first; | ||||
| if (ED_space_clip_check_show_trackedit(sc)) { | if (ED_space_clip_check_show_trackedit(sc)) { | ||||
| MovieClip *clip = ED_space_clip_get_clip(sc); | MovieClip *clip = ED_space_clip_get_clip(sc); | ||||
| ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking); | ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking); | ||||
| MovieTrackingTrack *track; | MovieTrackingTrack *track; | ||||
| int framenr = ED_space_clip_get_clip_frame_number(sc); | int framenr = ED_space_clip_get_clip_frame_number(sc); | ||||
| Show All 36 Lines | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Special After Transform Tracking | /** \name Special After Transform Tracking | ||||
| * \{ */ | * \{ */ | ||||
| void special_aftertrans_update__movieclip(bContext *C, TransInfo *t) | static void special_aftertrans_update__movieclip(bContext *C, TransInfo *t) | ||||
| { | { | ||||
| SpaceClip *sc = t->area->spacedata.first; | SpaceClip *sc = t->area->spacedata.first; | ||||
| MovieClip *clip = ED_space_clip_get_clip(sc); | MovieClip *clip = ED_space_clip_get_clip(sc); | ||||
| ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(&clip->tracking); | ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(&clip->tracking); | ||||
| const int framenr = ED_space_clip_get_clip_frame_number(sc); | const int framenr = ED_space_clip_get_clip_frame_number(sc); | ||||
| /* Update coordinates of modified plane tracks. */ | /* Update coordinates of modified plane tracks. */ | ||||
| LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, plane_tracks_base) { | LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, plane_tracks_base) { | ||||
| bool do_update = false; | bool do_update = false; | ||||
| Show All 26 Lines | if (t->context != NULL) { | ||||
| BKE_ntree_update_tag_id_changed(bmain, &clip->id); | BKE_ntree_update_tag_id_changed(bmain, &clip->id); | ||||
| BKE_ntree_update_main(bmain, NULL); | BKE_ntree_update_main(bmain, NULL); | ||||
| WM_event_add_notifier(C, NC_SCENE | ND_NODES, NULL); | WM_event_add_notifier(C, NC_SCENE | ND_NODES, NULL); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| TransConvertTypeInfo TransConvertType_Tracking = { | |||||
| /* flags */ (T_POINTS | T_2D_EDIT), | |||||
| /* createTransData */ createTransTrackingData, | |||||
| /* recalcData */ recalcData_tracking, | |||||
| /* special_aftertrans_update */ special_aftertrans_update__movieclip, | |||||
| }; | |||||