Camera tracking integration

===========================

Enable markers on transform
This commit is contained in:
Sergey Sharybin
2011-07-14 13:36:15 +00:00
parent a889ffad1c
commit b50fe8aa9c
3 changed files with 24 additions and 14 deletions

View File

@@ -5249,24 +5249,19 @@ static void trackToTransData(SpaceClip *sc, TransData *td, TransData2D *td2d, Mo
{
MovieTrackingMarker *marker= BKE_tracking_ensure_marker(track, sc->user.framenr);
if((marker->flag&MARKER_DISABLED)==0) {
if(track->flag&SELECT)
markerToTransDataInit(td++, td2d++, marker->pos, NULL);
track->transflag= marker->flag;
if(track->pat_flag&SELECT) {
markerToTransDataInit(td++, td2d++, track->pat_min, marker->pos);
markerToTransDataInit(td++, td2d++, track->pat_max, marker->pos);
}
marker->flag&= ~MARKER_DISABLED;
if(track->flag&SELECT)
markerToTransDataInit(td++, td2d++, marker->pos, NULL);
if(track->pat_flag&SELECT) {
markerToTransDataInit(td++, td2d++, track->pat_min, marker->pos);
markerToTransDataInit(td++, td2d++, track->pat_max, marker->pos);
}
if(track->search_flag&SELECT) {
if(marker->flag&MARKER_DISABLED) {
markerToTransDataInit(td++, td2d++, marker->pos, NULL);
markerToTransDataInit(td++, td2d++, track->pat_min, marker->pos);
markerToTransDataInit(td++, td2d++, track->pat_max, marker->pos);
}
markerToTransDataInit(td++, td2d++, track->search_min, marker->pos);
markerToTransDataInit(td++, td2d++, track->search_max, marker->pos);
}

View File

@@ -848,6 +848,18 @@ void recalcData(TransInfo *t)
SpaceClip *sc= t->sa->spacedata.first;
MovieClip *clip= ED_space_clip(sc);
MovieTrackingTrack *track;
if(t->state == TRANS_CANCEL) {
track= clip->tracking.tracks.first;
while(track) {
MovieTrackingMarker *marker= BKE_tracking_ensure_marker(track, sc->user.framenr);
marker->flag= track->transflag;
track= track->next;
}
}
flushTransTracking(t);
track= clip->tracking.tracks.first;

View File

@@ -93,6 +93,9 @@ typedef struct MovieTrackingTrack {
/* ** UI editing ** */
int flag, pat_flag, search_flag; /* flags (selection, ...) */
short transflag; /* transform flags */
char pad3[6];
} MovieTrackingTrack;
typedef struct MovieTrackingSettings {