Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_clip/tracking_ops.c')
-rw-r--r--source/blender/editors/space_clip/tracking_ops.c625
1 files changed, 321 insertions, 304 deletions
diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c
index f1ce73a8ab0..6cb7536b1ae 100644
--- a/source/blender/editors/space_clip/tracking_ops.c
+++ b/source/blender/editors/space_clip/tracking_ops.c
@@ -82,10 +82,10 @@ static int space_clip_frame_poll(bContext *C)
{
SpaceClip *sc= CTX_wm_space_clip(C);
- if(sc) {
+ if (sc) {
MovieClip *clip= ED_space_clip(sc);
- if(clip)
+ if (clip)
return BKE_movieclip_has_frame(clip, &sc->user);
}
@@ -119,7 +119,7 @@ static int add_marker_exec(bContext *C, wmOperator *op)
int width, height;
ED_space_clip_size(sc, &width, &height);
- if(!width || !height)
+ if (!width || !height)
return OPERATOR_CANCELLED;
RNA_float_get_array(op->ptr, "location", pos);
@@ -176,10 +176,10 @@ static int delete_track_exec(bContext *C, wmOperator *UNUSED(op))
ListBase *tracksbase= BKE_tracking_get_tracks(tracking);
MovieTrackingTrack *track= tracksbase->first, *next;
- while(track) {
+ while (track) {
next= track->next;
- if(TRACK_VIEW_SELECTED(sc, track))
+ if (TRACK_VIEW_SELECTED(sc, track))
clip_delete_track(C, clip, tracksbase, track);
track= next;
@@ -218,13 +218,13 @@ static int delete_marker_exec(bContext *C, wmOperator *UNUSED(op))
int framenr= sc->user.framenr;
int has_selection= 0;
- while(track) {
+ while (track) {
next= track->next;
- if(TRACK_VIEW_SELECTED(sc, track)) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
MovieTrackingMarker *marker= BKE_tracking_exact_marker(track, framenr);
- if(marker) {
+ if (marker) {
has_selection|= track->markersnr>1;
clip_delete_marker(C, clip, tracksbase, track, marker);
@@ -234,7 +234,7 @@ static int delete_marker_exec(bContext *C, wmOperator *UNUSED(op))
track= next;
}
- if(!has_selection) {
+ if (!has_selection) {
/* nothing selected now, unlock view so it can be scrolled nice again */
sc->flag&= ~SC_LOCK_SELECTION;
}
@@ -290,16 +290,18 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTra
data->track= track;
data->marker= marker;
- if(area==TRACK_AREA_POINT) {
+ if (area==TRACK_AREA_POINT) {
data->pos= marker->pos;
data->offset= track->offset;
copy_v2_v2(data->spos, marker->pos);
copy_v2_v2(data->soff, track->offset);
- } else if(area==TRACK_AREA_PAT) {
- if(action==SLIDE_ACTION_SIZE) {
+ }
+ else if (area==TRACK_AREA_PAT) {
+ if (action==SLIDE_ACTION_SIZE) {
data->min= track->pat_min;
data->max= track->pat_max;
- } else {
+ }
+ else {
int a;
data->pos= marker->pos;
@@ -308,15 +310,16 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTra
copy_v2_v2(data->soff, track->offset);
data->smarkers= MEM_callocN(sizeof(*data->smarkers)*track->markersnr, "slide marekrs");
- for(a= 0; a<track->markersnr; a++)
+ for (a= 0; a<track->markersnr; a++)
copy_v2_v2(data->smarkers[a], track->markers[a].pos);
}
- } else if(area==TRACK_AREA_SEARCH) {
+ }
+ else if (area==TRACK_AREA_SEARCH) {
data->min= track->search_min;
data->max= track->search_max;
}
- if(area==TRACK_AREA_SEARCH || (area==TRACK_AREA_PAT && action!=SLIDE_ACTION_OFFSET)) {
+ if (area==TRACK_AREA_SEARCH || (area==TRACK_AREA_PAT && action!=SLIDE_ACTION_OFFSET)) {
copy_v2_v2(data->smin, data->min);
copy_v2_v2(data->smax, data->max);
}
@@ -327,7 +330,7 @@ static SlideMarkerData *create_slide_marker_data(SpaceClip *sc, MovieTrackingTra
data->width= width;
data->height= height;
- if(action==SLIDE_ACTION_SIZE)
+ if (action==SLIDE_ACTION_SIZE)
data->lock= 1;
return data;
@@ -343,10 +346,11 @@ static int mouse_on_corner(SpaceClip *sc, MovieTrackingTrack *track, MovieTracki
float min[2], max[2];
float crn[2], dx, dy, tdx, tdy;
- if(area==TRACK_AREA_SEARCH) {
+ if (area==TRACK_AREA_SEARCH) {
copy_v2_v2(min, track->search_min);
copy_v2_v2(max, track->search_max);
- } else {
+ }
+ else {
copy_v2_v2(min, track->pat_min);
copy_v2_v2(max, track->pat_max);
}
@@ -360,12 +364,13 @@ static int mouse_on_corner(SpaceClip *sc, MovieTrackingTrack *track, MovieTracki
dx= MIN2(dx, (max[0]-min[0])/6.0f) + tdx;
dy= MIN2(dy, (max[1]-min[1])/6.0f) + tdy;
- if(corner==0) {
+ if (corner==0) {
crn[0]= marker->pos[0]+max[0];
crn[1]= marker->pos[1]+min[1];
inside= co[0]>=crn[0]-dx && co[0]<=crn[0]+tdx && co[1]>=crn[1]-tdy && co[1]<=crn[1]+dy;
- } else {
+ }
+ else {
crn[0]= marker->pos[0]+min[0];
crn[1]= marker->pos[1]+max[1];
@@ -417,37 +422,37 @@ static void *slide_marker_customdata(bContext *C, wmEvent *event)
ED_space_clip_size(sc, &width, &height);
- if(width==0 || height==0)
+ if (width==0 || height==0)
return NULL;
ED_clip_mouse_pos(C, event, co);
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(track, sc->user.framenr);
- if((marker->flag&MARKER_DISABLED)==0) {
- if(!customdata)
- if(mouse_on_offset(sc, track, marker, co, width, height))
+ if ((marker->flag&MARKER_DISABLED)==0) {
+ if (!customdata)
+ if (mouse_on_offset(sc, track, marker, co, width, height))
customdata= create_slide_marker_data(sc, track, marker, event, TRACK_AREA_POINT, SLIDE_ACTION_POS, width, height);
- if(sc->flag&SC_SHOW_MARKER_SEARCH) {
- if(mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 1, width, height))
+ if (sc->flag&SC_SHOW_MARKER_SEARCH) {
+ if (mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 1, width, height))
customdata= create_slide_marker_data(sc, track, marker, event, TRACK_AREA_SEARCH, SLIDE_ACTION_OFFSET, width, height);
- else if(mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 0, width, height))
+ else if (mouse_on_corner(sc, track, marker, TRACK_AREA_SEARCH, co, 0, width, height))
customdata= create_slide_marker_data(sc, track, marker, event, TRACK_AREA_SEARCH, SLIDE_ACTION_SIZE, width, height);
}
- if(!customdata && sc->flag&SC_SHOW_MARKER_PATTERN) {
- if(mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 1, width, height))
+ if (!customdata && sc->flag&SC_SHOW_MARKER_PATTERN) {
+ if (mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 1, width, height))
customdata= create_slide_marker_data(sc, track, marker, event, TRACK_AREA_PAT, SLIDE_ACTION_OFFSET, width, height);
- if(!customdata && mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 0, width, height))
+ if (!customdata && mouse_on_corner(sc, track, marker, TRACK_AREA_PAT, co, 0, width, height))
customdata= create_slide_marker_data(sc, track, marker, event, TRACK_AREA_PAT, SLIDE_ACTION_SIZE, width, height);
}
- if(customdata)
+ if (customdata)
break;
}
}
@@ -462,7 +467,7 @@ static int slide_marker_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
SlideMarkerData *slidedata= slide_marker_customdata(C, event);
- if(slidedata) {
+ if (slidedata) {
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
MovieTracking *tracking= &clip->tracking;
@@ -485,19 +490,21 @@ static int slide_marker_invoke(bContext *C, wmOperator *op, wmEvent *event)
static void cancel_mouse_slide(SlideMarkerData *data)
{
/* cancel sliding */
- if(data->area == TRACK_AREA_POINT) {
- if(data->action==SLIDE_ACTION_OFFSET)
+ if (data->area == TRACK_AREA_POINT) {
+ if (data->action==SLIDE_ACTION_OFFSET)
copy_v2_v2(data->offset, data->soff);
else
copy_v2_v2(data->pos, data->spos);
- } else {
- if(data->action==SLIDE_ACTION_SIZE) {
+ }
+ else {
+ if (data->action==SLIDE_ACTION_SIZE) {
copy_v2_v2(data->min, data->smin);
copy_v2_v2(data->max, data->smax);
- } else {
+ }
+ else {
int a;
- for(a= 0; a<data->track->markersnr; a++)
+ for (a= 0; a<data->track->markersnr; a++)
copy_v2_v2(data->track->markers[a].pos, data->smarkers[a]);
copy_v2_v2(data->offset, data->soff);
@@ -507,7 +514,7 @@ static void cancel_mouse_slide(SlideMarkerData *data)
static void free_slide_data(SlideMarkerData *data)
{
- if(data->smarkers) MEM_freeN(data->smarkers);
+ if (data->smarkers) MEM_freeN(data->smarkers);
MEM_freeN(data);
}
@@ -522,11 +529,11 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
case RIGHTCTRLKEY:
case LEFTSHIFTKEY:
case RIGHTSHIFTKEY:
- if(data->action==SLIDE_ACTION_SIZE)
- if(ELEM(event->type, LEFTCTRLKEY, RIGHTCTRLKEY))
+ if (data->action==SLIDE_ACTION_SIZE)
+ if (ELEM(event->type, LEFTCTRLKEY, RIGHTCTRLKEY))
data->lock= event->val==KM_RELEASE;
- if(ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
+ if (ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
data->accurate= event->val==KM_PRESS;
/* no break! update area size */
@@ -537,19 +544,20 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
dx= mdelta[0]/data->width/sc->zoom;
- if(data->lock) dy= -dx/data->height*data->width;
+ if (data->lock) dy= -dx/data->height*data->width;
else dy= mdelta[1]/data->height/sc->zoom;
- if(data->accurate) {
+ if (data->accurate) {
dx/= 5;
dy/= 5;
}
- if(data->area==TRACK_AREA_POINT) {
- if(data->action==SLIDE_ACTION_OFFSET) {
+ if (data->area==TRACK_AREA_POINT) {
+ if (data->action==SLIDE_ACTION_OFFSET) {
data->offset[0]= data->soff[0]+dx;
data->offset[1]= data->soff[1]+dy;
- } else {
+ }
+ else {
data->pos[0]= data->spos[0]+dx;
data->pos[1]= data->spos[1]+dy;
@@ -558,32 +566,35 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
DAG_id_tag_update(&sc->clip->id, 0);
- } else {
- if(data->action==SLIDE_ACTION_SIZE) {
+ }
+ else {
+ if (data->action==SLIDE_ACTION_SIZE) {
data->min[0]= data->smin[0]-dx;
data->max[0]= data->smax[0]+dx;
data->min[1]= data->smin[1]+dy;
data->max[1]= data->smax[1]-dy;
- if(data->area==TRACK_AREA_SEARCH) BKE_tracking_clamp_track(data->track, CLAMP_SEARCH_DIM);
+ if (data->area==TRACK_AREA_SEARCH) BKE_tracking_clamp_track(data->track, CLAMP_SEARCH_DIM);
else BKE_tracking_clamp_track(data->track, CLAMP_PAT_DIM);
- } else {
+ }
+ else {
float d[2]={dx, dy};
- if(data->area==TRACK_AREA_SEARCH) {
+ if (data->area==TRACK_AREA_SEARCH) {
add_v2_v2v2(data->min, data->smin, d);
add_v2_v2v2(data->max, data->smax, d);
- } else {
+ }
+ else {
int a;
- for(a= 0; a<data->track->markersnr; a++)
+ for (a= 0; a<data->track->markersnr; a++)
add_v2_v2v2(data->track->markers[a].pos, data->smarkers[a], d);
sub_v2_v2v2(data->offset, data->soff, d);
}
- if(data->area==TRACK_AREA_SEARCH)
+ if (data->area==TRACK_AREA_SEARCH)
BKE_tracking_clamp_track(data->track, CLAMP_SEARCH_POS);
}
}
@@ -593,7 +604,7 @@ static int slide_marker_modal(bContext *C, wmOperator *op, wmEvent *event)
break;
case LEFTMOUSE:
- if(event->val==KM_RELEASE) {
+ if (event->val==KM_RELEASE) {
free_slide_data(op->customdata);
show_cursor(C);
@@ -642,8 +653,8 @@ void CLIP_OT_slide_marker(wmOperatorType *ot)
static int mouse_on_side(float co[2], float x1, float y1, float x2, float y2, float epsx, float epsy)
{
- if(x1>x2) SWAP(float, x1, x2);
- if(y1>y2) SWAP(float, y1, y2);
+ if (x1>x2) SWAP(float, x1, x2);
+ if (y1>y2) SWAP(float, y1, y2);
return (co[0]>=x1-epsx && co[0]<=x2+epsx) && (co[1]>=y1-epsy && co[1]<=y2+epsy);
}
@@ -672,19 +683,19 @@ static int track_mouse_area(SpaceClip *sc, float co[2], MovieTrackingTrack *trac
epsx= MAX2(epsx, 2.0f / width);
epsy= MAX2(epsy, 2.0f / height);
- if(sc->flag&SC_SHOW_MARKER_SEARCH)
- if(mouse_on_rect(co, marker->pos, track->search_min, track->search_max, epsx, epsy))
+ if (sc->flag&SC_SHOW_MARKER_SEARCH)
+ if (mouse_on_rect(co, marker->pos, track->search_min, track->search_max, epsx, epsy))
return TRACK_AREA_SEARCH;
- if((marker->flag&MARKER_DISABLED)==0) {
- if(sc->flag&SC_SHOW_MARKER_PATTERN)
- if(mouse_on_rect(co, marker->pos, track->pat_min, track->pat_max, epsx, epsy))
+ if ((marker->flag&MARKER_DISABLED)==0) {
+ if (sc->flag&SC_SHOW_MARKER_PATTERN)
+ if (mouse_on_rect(co, marker->pos, track->pat_min, track->pat_max, epsx, epsy))
return TRACK_AREA_PAT;
epsx= 12.0f/width;
epsy= 12.0f/height;
- if(fabsf(co[0]-marker->pos[0]-track->offset[0])< epsx && fabsf(co[1]-marker->pos[1]-track->offset[1])<=epsy)
+ if (fabsf(co[0]-marker->pos[0]-track->offset[0])< epsx && fabsf(co[1]-marker->pos[1]-track->offset[1])<=epsy)
return TRACK_AREA_POINT;
}
@@ -712,27 +723,27 @@ static MovieTrackingTrack *find_nearest_track(SpaceClip *sc, ListBase *tracksbas
float mindist= 0.0f;
cur= tracksbase->first;
- while(cur) {
+ while (cur) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(cur, sc->user.framenr);
- if(((cur->flag&TRACK_HIDDEN)==0) && MARKER_VISIBLE(sc, marker)) {
+ if (((cur->flag&TRACK_HIDDEN)==0) && MARKER_VISIBLE(sc, marker)) {
float dist, d1, d2=FLT_MAX, d3=FLT_MAX;
d1= sqrtf((co[0]-marker->pos[0]-cur->offset[0])*(co[0]-marker->pos[0]-cur->offset[0])+
(co[1]-marker->pos[1]-cur->offset[1])*(co[1]-marker->pos[1]-cur->offset[1])); /* distance to marker point */
/* distance to pattern boundbox */
- if(sc->flag&SC_SHOW_MARKER_PATTERN)
+ if (sc->flag&SC_SHOW_MARKER_PATTERN)
d2= dist_to_rect(co, marker->pos, cur->pat_min, cur->pat_max);
/* distance to search boundbox */
- if(sc->flag&SC_SHOW_MARKER_SEARCH && TRACK_VIEW_SELECTED(sc, cur))
+ if (sc->flag&SC_SHOW_MARKER_SEARCH && TRACK_VIEW_SELECTED(sc, cur))
d3= dist_to_rect(co, marker->pos, cur->search_min, cur->search_max);
/* choose minimal distance. useful for cases of overlapped markers. */
dist= MIN3(d1, d2, d3);
- if(track==NULL || dist<mindist) {
+ if (track==NULL || dist<mindist) {
track= cur;
mindist= dist;
}
@@ -755,19 +766,20 @@ static int mouse_select(bContext *C, float co[2], int extend)
track= find_nearest_track(sc, tracksbase, co);
- if(track) {
+ if (track) {
int area= track_mouse_area(sc, co, track);
- if(!extend || !TRACK_VIEW_SELECTED(sc, track))
+ if (!extend || !TRACK_VIEW_SELECTED(sc, track))
area= TRACK_AREA_ALL;
- if(extend && TRACK_AREA_SELECTED(track, area)) {
- if(track==act_track)
+ if (extend && TRACK_AREA_SELECTED(track, area)) {
+ if (track==act_track)
BKE_tracking_deselect_track(track, area);
else
clip->tracking.act_track= track;
- } else {
- if(area==TRACK_AREA_POINT)
+ }
+ else {
+ if (area==TRACK_AREA_POINT)
area= TRACK_AREA_ALL;
BKE_tracking_select_track(tracksbase, track, area, extend);
@@ -775,7 +787,7 @@ static int mouse_select(bContext *C, float co[2], int extend)
}
}
- if(!extend) {
+ if (!extend) {
sc->xlockof= 0.0f;
sc->ylockof= 0.0f;
}
@@ -801,10 +813,10 @@ static int select_invoke(bContext *C, wmOperator *op, wmEvent *event)
float co[2];
int extend= RNA_boolean_get(op->ptr, "extend");
- if(!extend) {
+ if (!extend) {
SlideMarkerData *slidedata= slide_marker_customdata(C, event);
- if(slidedata) {
+ if (slidedata) {
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
@@ -872,15 +884,15 @@ static int border_select_exec(bContext *C, wmOperator *op)
/* do actual selection */
track= tracksbase->first;
- while(track) {
- if((track->flag&TRACK_HIDDEN)==0) {
+ while (track) {
+ if ((track->flag&TRACK_HIDDEN)==0) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(track, sc->user.framenr);
- if(MARKER_VISIBLE(sc, marker)) {
- if(BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) {
+ if (MARKER_VISIBLE(sc, marker)) {
+ if (BLI_in_rctf(&rectf, marker->pos[0], marker->pos[1])) {
BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, mode!=GESTURE_MODAL_SELECT);
}
- else if(!extend) {
+ else if (!extend) {
BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 1);
}
@@ -891,7 +903,7 @@ static int border_select_exec(bContext *C, wmOperator *op)
track= track->next;
}
- if(change) {
+ if (change) {
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, NULL);
return OPERATOR_FINISHED;
@@ -961,11 +973,11 @@ static int circle_select_exec(bContext *C, wmOperator *op)
/* do selection */
track= tracksbase->first;
- while(track) {
- if((track->flag&TRACK_HIDDEN)==0) {
+ while (track) {
+ if ((track->flag&TRACK_HIDDEN)==0) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(track, sc->user.framenr);
- if(MARKER_VISIBLE(sc, marker) && marker_inside_ellipse(marker, offset, ellipse)) {
+ if (MARKER_VISIBLE(sc, marker) && marker_inside_ellipse(marker, offset, ellipse)) {
BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, mode!=GESTURE_MODAL_SELECT);
change= 1;
@@ -975,7 +987,7 @@ static int circle_select_exec(bContext *C, wmOperator *op)
track= track->next;
}
- if(change) {
+ if (change) {
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, NULL);
return OPERATOR_FINISHED;
@@ -1020,14 +1032,14 @@ static int select_all_exec(bContext *C, wmOperator *op)
int framenr= sc->user.framenr;
int has_selection= 0;
- if(action == SEL_TOGGLE){
+ if (action == SEL_TOGGLE) {
action= SEL_SELECT;
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track)) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
marker= BKE_tracking_get_marker(track, framenr);
- if(MARKER_VISIBLE(sc, marker)) {
+ if (MARKER_VISIBLE(sc, marker)) {
action= SEL_DESELECT;
break;
}
@@ -1038,11 +1050,11 @@ static int select_all_exec(bContext *C, wmOperator *op)
}
track= tracksbase->first;
- while(track) {
- if((track->flag&TRACK_HIDDEN)==0) {
+ while (track) {
+ if ((track->flag&TRACK_HIDDEN)==0) {
marker= BKE_tracking_get_marker(track, framenr);
- if(MARKER_VISIBLE(sc, marker)) {
+ if (MARKER_VISIBLE(sc, marker)) {
switch (action) {
case SEL_SELECT:
track->flag|= SELECT;
@@ -1063,13 +1075,13 @@ static int select_all_exec(bContext *C, wmOperator *op)
}
}
- if(TRACK_VIEW_SELECTED(sc, track))
+ if (TRACK_VIEW_SELECTED(sc, track))
has_selection= 1;
track= track->next;
}
- if(!has_selection)
+ if (!has_selection)
sc->flag&= ~SC_LOCK_SELECTION;
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, NULL);
@@ -1107,44 +1119,44 @@ static int select_groped_exec(bContext *C, wmOperator *op)
int group= RNA_enum_get(op->ptr, "group");
track= tracksbase->first;
- while(track) {
+ while (track) {
int ok= 0;
marker= BKE_tracking_get_marker(track, sc->user.framenr);
- if(group==0) { /* Keyframed */
+ if (group==0) { /* Keyframed */
ok= marker->framenr==sc->user.framenr && (marker->flag&MARKER_TRACKED)==0;
}
- else if(group==1) { /* Estimated */
+ else if (group==1) { /* Estimated */
ok= marker->framenr!=sc->user.framenr;
}
- else if(group==2) { /* tracked */
+ else if (group==2) { /* tracked */
ok= marker->framenr==sc->user.framenr && (marker->flag&MARKER_TRACKED);
}
- else if(group==3) { /* locked */
+ else if (group==3) { /* locked */
ok= track->flag&TRACK_LOCKED;
}
- else if(group==4) { /* disabled */
+ else if (group==4) { /* disabled */
ok= marker->flag&MARKER_DISABLED;
}
- else if(group==5) { /* color */
+ else if (group==5) { /* color */
MovieTrackingTrack *act_track= BKE_tracking_active_track(tracking);
- if(act_track) {
+ if (act_track) {
ok= (track->flag&TRACK_CUSTOMCOLOR) == (act_track->flag&TRACK_CUSTOMCOLOR);
- if(ok && track->flag&TRACK_CUSTOMCOLOR)
+ if (ok && track->flag&TRACK_CUSTOMCOLOR)
ok= equals_v3v3(track->color, act_track->color);
}
}
- else if(group==6) { /* failed */
+ else if (group==6) { /* failed */
ok= (track->flag&TRACK_HAS_BUNDLE) == 0;
}
- if(ok) {
+ if (ok) {
track->flag|= SELECT;
- if(sc->flag&SC_SHOW_MARKER_PATTERN) track->pat_flag|= SELECT;
- if(sc->flag&SC_SHOW_MARKER_SEARCH) track->search_flag|= SELECT;
+ if (sc->flag&SC_SHOW_MARKER_PATTERN) track->pat_flag|= SELECT;
+ if (sc->flag&SC_SHOW_MARKER_SEARCH) track->search_flag|= SELECT;
}
track= track->next;
@@ -1211,8 +1223,8 @@ static int track_count_markers(SpaceClip *sc, MovieClip *clip)
int framenr= sc->user.framenr;
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
MovieTrackingMarker *marker= BKE_tracking_get_marker(track, framenr);
if (!marker || (marker->flag&MARKER_DISABLED) == 0)
@@ -1239,7 +1251,7 @@ static void clear_invisible_track_selection(SpaceClip *sc, MovieClip *clip)
if (hidden) {
MovieTrackingTrack *track = tracksbase->first;
- while(track) {
+ while (track) {
if ((track->flag & TRACK_HIDDEN) == 0)
BKE_tracking_track_flag(track, hidden, SELECT, 1);
@@ -1258,13 +1270,13 @@ static void track_init_markers(SpaceClip *sc, MovieClip *clip, int *frames_limit
clear_invisible_track_selection(sc, clip);
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track)) {
- if((track->flag&TRACK_HIDDEN)==0 && (track->flag&TRACK_LOCKED)==0) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
+ if ((track->flag&TRACK_HIDDEN)==0 && (track->flag&TRACK_LOCKED)==0) {
BKE_tracking_ensure_marker(track, framenr);
- if(track->frames_limit) {
- if(frames_limit==0)
+ if (track->frames_limit) {
+ if (frames_limit==0)
frames_limit= track->frames_limit;
else
frames_limit= MIN2(frames_limit, track->frames_limit);
@@ -1280,11 +1292,11 @@ static void track_init_markers(SpaceClip *sc, MovieClip *clip, int *frames_limit
static int track_markers_check_direction(int backwards, int curfra, int efra)
{
- if(backwards) {
- if(curfra<efra) return 0;
+ if (backwards) {
+ if (curfra<efra) return 0;
}
else {
- if(curfra>efra) return 0;
+ if (curfra>efra) return 0;
}
return 1;
@@ -1304,21 +1316,21 @@ static int track_markers_initjob(bContext *C, TrackMarkersJob *tmj, int backward
tmj->clip= clip;
tmj->backwards= backwards;
- if(backwards) tmj->efra= SFRA;
+ if (backwards) tmj->efra= SFRA;
else tmj->efra= EFRA;
/* limit frames to be tracked by user setting */
- if(frames_limit) {
- if(backwards) tmj->efra= MAX2(tmj->efra, tmj->sfra-frames_limit);
+ if (frames_limit) {
+ if (backwards) tmj->efra= MAX2(tmj->efra, tmj->sfra-frames_limit);
else tmj->efra= MIN2(tmj->efra, tmj->sfra+frames_limit);
}
- if(settings->speed!=TRACKING_SPEED_FASTEST) {
+ if (settings->speed!=TRACKING_SPEED_FASTEST) {
tmj->delay= 1.0f/scene->r.frs_sec*1000.0f;
- if(settings->speed==TRACKING_SPEED_HALF) tmj->delay*= 2;
- else if(settings->speed==TRACKING_SPEED_QUARTER) tmj->delay*= 4;
- else if(settings->speed==TRACKING_SPEED_DOUBLE) tmj->delay/= 2;
+ if (settings->speed==TRACKING_SPEED_HALF) tmj->delay*= 2;
+ else if (settings->speed==TRACKING_SPEED_QUARTER) tmj->delay*= 4;
+ else if (settings->speed==TRACKING_SPEED_DOUBLE) tmj->delay/= 2;
}
tmj->context= BKE_tracking_context_new(clip, &sc->user, backwards, 1);
@@ -1345,8 +1357,8 @@ static void track_markers_startjob(void *tmv, short *stop, short *do_update, flo
int framenr= tmj->sfra;
//double t= PIL_check_seconds_timer();
- while(framenr != tmj->efra) {
- if(tmj->delay>0) {
+ while (framenr != tmj->efra) {
+ if (tmj->delay>0) {
/* tracking should happen with fixed fps. Calculate time
* using current timer value before tracking frame and after.
*
@@ -1355,24 +1367,25 @@ static void track_markers_startjob(void *tmv, short *stop, short *do_update, flo
double start_time= PIL_check_seconds_timer(), exec_time;
- if(!BKE_tracking_next(tmj->context))
+ if (!BKE_tracking_next(tmj->context))
break;
exec_time= PIL_check_seconds_timer()-start_time;
- if(tmj->delay > (float)exec_time)
+ if (tmj->delay > (float)exec_time)
PIL_sleep_ms(tmj->delay-(float)exec_time);
- } else if(!BKE_tracking_next(tmj->context))
+ }
+ else if (!BKE_tracking_next(tmj->context))
break;
*do_update= 1;
*progress=(float)(framenr-tmj->sfra) / (tmj->efra-tmj->sfra);
- if(tmj->backwards) framenr--;
+ if (tmj->backwards) framenr--;
else framenr++;
tmj->lastfra= framenr;
- if(*stop || track_markers_testbreak())
+ if (*stop || track_markers_testbreak())
break;
}
@@ -1414,34 +1427,34 @@ static int track_markers_exec(bContext *C, wmOperator *op)
int sequence= RNA_boolean_get(op->ptr, "sequence");
int frames_limit;
- if(track_count_markers(sc, clip)==0)
+ if (track_count_markers(sc, clip)==0)
return OPERATOR_CANCELLED;
track_init_markers(sc, clip, &frames_limit);
- if(backwards) efra= SFRA;
+ if (backwards) efra= SFRA;
else efra= EFRA;
/* limit frames to be tracked by user setting */
- if(frames_limit) {
- if(backwards) efra= MAX2(efra, sfra-frames_limit);
+ if (frames_limit) {
+ if (backwards) efra= MAX2(efra, sfra-frames_limit);
else efra= MIN2(efra, sfra+frames_limit);
}
- if(!track_markers_check_direction(backwards, framenr, efra))
+ if (!track_markers_check_direction(backwards, framenr, efra))
return OPERATOR_CANCELLED;
/* do not disable tracks due to threshold when tracking frame-by-frame */
context= BKE_tracking_context_new(clip, &sc->user, backwards, sequence);
- while(framenr != efra) {
- if(!BKE_tracking_next(context))
+ while (framenr != efra) {
+ if (!BKE_tracking_next(context))
break;
- if(backwards) framenr--;
+ if (backwards) framenr--;
else framenr++;
- if(!sequence)
+ if (!sequence)
break;
}
@@ -1467,22 +1480,22 @@ static int track_markers_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(eve
int backwards= RNA_boolean_get(op->ptr, "backwards");
int sequence= RNA_boolean_get(op->ptr, "sequence");
- if(WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C))) {
+ if (WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C))) {
/* only one tracking is allowed at a time */
return OPERATOR_CANCELLED;
}
- if(clip->tracking_context)
+ if (clip->tracking_context)
return OPERATOR_CANCELLED;
- if(track_count_markers(sc, clip)==0)
+ if (track_count_markers(sc, clip)==0)
return OPERATOR_CANCELLED;
- if(!sequence)
+ if (!sequence)
return track_markers_exec(C, op);
tmj= MEM_callocN(sizeof(TrackMarkersJob), "TrackMarkersJob data");
- if(!track_markers_initjob(C, tmj, backwards)) {
+ if (!track_markers_initjob(C, tmj, backwards)) {
track_markers_freejob(tmj);
return OPERATOR_CANCELLED;
@@ -1496,7 +1509,7 @@ static int track_markers_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(eve
* with fixed FPS. To deal with editor refresh we have to synchronize
* tracks from job and tracks in clip. Do this in timer callback
* to prevent threading conflicts. */
- if(tmj->delay>0) WM_jobs_timer(steve, tmj->delay/1000.0f, NC_MOVIECLIP|NA_EVALUATED, 0);
+ if (tmj->delay>0) WM_jobs_timer(steve, tmj->delay/1000.0f, NC_MOVIECLIP|NA_EVALUATED, 0);
else WM_jobs_timer(steve, 0.2, NC_MOVIECLIP|NA_EVALUATED, 0);
WM_jobs_callbacks(steve, track_markers_startjob, NULL, track_markers_updatejob, NULL);
@@ -1515,7 +1528,7 @@ static int track_markers_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(eve
static int track_markers_modal(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
{
/* no running tracking, remove handler and pass through */
- if(0==WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C)))
+ if (0==WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C)))
return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH;
/* running tracking */
@@ -1573,7 +1586,7 @@ static int solve_camera_initjob(bContext *C, SolveCameraJob *scj, wmOperator *op
MovieTrackingObject *object= BKE_tracking_active_object(tracking);
int width, height;
- if(!BKE_tracking_can_reconstruct(tracking, object, error_msg, max_error))
+ if (!BKE_tracking_can_reconstruct(tracking, object, error_msg, max_error))
return 0;
/* could fail if footage uses images with different sizes */
@@ -1616,7 +1629,7 @@ static void solve_camera_freejob(void *scv)
MovieClip *clip= scj->clip;
int solved;
- if(!scj->context) {
+ if (!scj->context) {
/* job weren't fully initialized due to some error */
MEM_freeN(scj);
return;
@@ -1624,20 +1637,20 @@ static void solve_camera_freejob(void *scv)
solved= BKE_tracking_finish_reconstruction(scj->context, tracking);
- if(!solved)
+ if (!solved)
BKE_report(scj->reports, RPT_WARNING, "Some data failed to reconstruct, see console for details");
else
BKE_reportf(scj->reports, RPT_INFO, "Average re-projection error %.3f", tracking->reconstruction.error);
/* set currently solved clip as active for scene */
- if(scene->clip)
+ if (scene->clip)
id_us_min(&clip->id);
scene->clip= clip;
id_us_plus(&clip->id);
/* set blender camera focal length so result would look fine there */
- if(scene->camera) {
+ if (scene->camera) {
Camera *camera= (Camera*)scene->camera->data;
int width, height;
@@ -1669,8 +1682,8 @@ static int solve_camera_exec(bContext *C, wmOperator *op)
char error_msg[256]= "\0";
scj= MEM_callocN(sizeof(SolveCameraJob), "SolveCameraJob data");
- if(!solve_camera_initjob(C, scj, op, error_msg, sizeof(error_msg))) {
- if(error_msg[0])
+ if (!solve_camera_initjob(C, scj, op, error_msg, sizeof(error_msg))) {
+ if (error_msg[0])
BKE_report(op->reports, RPT_ERROR, error_msg);
solve_camera_freejob(scj);
@@ -1696,14 +1709,14 @@ static int solve_camera_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
wmJob *steve;
char error_msg[256]= "\0";
- if(WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C))) {
+ if (WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C))) {
/* only one solve is allowed at a time */
return OPERATOR_CANCELLED;
}
scj= MEM_callocN(sizeof(SolveCameraJob), "SolveCameraJob data");
- if(!solve_camera_initjob(C, scj, op, error_msg, sizeof(error_msg))) {
- if(error_msg[0])
+ if (!solve_camera_initjob(C, scj, op, error_msg, sizeof(error_msg))) {
+ if (error_msg[0])
BKE_report(op->reports, RPT_ERROR, error_msg);
solve_camera_freejob(scj);
@@ -1737,7 +1750,7 @@ static int solve_camera_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
static int solve_camera_modal(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
{
/* no running solver, remove handler and pass through */
- if(0==WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C)))
+ if (0==WM_jobs_test(CTX_wm_manager(C), CTX_wm_area(C)))
return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH;
/* running tracking */
@@ -1778,13 +1791,13 @@ static int clear_solution_exec(bContext *C, wmOperator *UNUSED(op))
MovieTrackingReconstruction *reconstruction= BKE_tracking_get_reconstruction(tracking);
MovieTrackingTrack *track= tracksbase->first;
- while(track) {
+ while (track) {
track->flag&= ~TRACK_HAS_BUNDLE;
track= track->next;
}
- if(reconstruction->cameras)
+ if (reconstruction->cameras)
MEM_freeN(reconstruction->cameras);
reconstruction->cameras= NULL;
@@ -1832,8 +1845,8 @@ static int clear_track_path_exec(bContext *C, wmOperator *op)
}
else {
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track))
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track))
BKE_tracking_clear_path(track, sc->user.framenr, action);
track= track->next;
@@ -1882,12 +1895,12 @@ static int disable_markers_exec(bContext *C, wmOperator *op)
MovieTrackingTrack *track= tracksbase->first;
int action= RNA_enum_get(op->ptr, "action");
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_LOCKED)==0) {
MovieTrackingMarker *marker= BKE_tracking_ensure_marker(track, sc->user.framenr);
- if(action==0) marker->flag|= MARKER_DISABLED;
- else if(action==1) marker->flag&= ~MARKER_DISABLED;
+ if (action==0) marker->flag|= MARKER_DISABLED;
+ else if (action==1) marker->flag&= ~MARKER_DISABLED;
else marker->flag^= MARKER_DISABLED;
}
@@ -1933,13 +1946,13 @@ static Object *get_camera_with_movieclip(Scene *scene, MovieClip *clip)
Object *camera= scene->camera;
Base *base;
- if(camera && object_get_movieclip(scene, camera, 0)==clip)
+ if (camera && object_get_movieclip(scene, camera, 0)==clip)
return camera;
base= scene->base.first;
- while(base) {
- if(base->object->type == OB_CAMERA) {
- if(object_get_movieclip(scene, base->object, 0)==clip) {
+ while (base) {
+ if (base->object->type == OB_CAMERA) {
+ if (object_get_movieclip(scene, base->object, 0)==clip) {
camera= base->object;
break;
}
@@ -1960,14 +1973,14 @@ static Object *get_orientation_object(bContext *C)
MovieTrackingObject *tracking_object= BKE_tracking_active_object(tracking);
Object *object= NULL;
- if(tracking_object->flag&TRACKING_OBJECT_CAMERA) {
+ if (tracking_object->flag&TRACKING_OBJECT_CAMERA) {
object= get_camera_with_movieclip(scene, clip);
}
else {
object= OBACT;
}
- if(object && object->parent)
+ if (object && object->parent)
object= object->parent;
return object;
@@ -1975,14 +1988,14 @@ static Object *get_orientation_object(bContext *C)
static int set_orientation_poll(bContext *C)
{
- if(space_clip_frame_poll(C)) {
+ if (space_clip_frame_poll(C)) {
Scene *scene= CTX_data_scene(C);
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
MovieTracking *tracking= &clip->tracking;
MovieTrackingObject *tracking_object= BKE_tracking_active_object(tracking);
- if(tracking_object->flag&TRACKING_OBJECT_CAMERA) {
+ if (tracking_object->flag&TRACKING_OBJECT_CAMERA) {
return 1;
}
else {
@@ -2002,8 +2015,8 @@ static int count_selected_bundles(bContext *C)
int tot= 0;
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_HAS_BUNDLE))
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_HAS_BUNDLE))
tot++;
track= track->next;
@@ -2020,13 +2033,13 @@ static void object_solver_inverted_matrix(Scene *scene, Object *ob, float invmat
for (con= ob->constraints.first; con; con=con->next) {
bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
- if(!cti)
+ if (!cti)
continue;
- if(cti->type==CONSTRAINT_TYPE_OBJECTSOLVER) {
+ if (cti->type==CONSTRAINT_TYPE_OBJECTSOLVER) {
bObjectSolverConstraint *data= (bObjectSolverConstraint *)con->data;
- if(!found) {
+ if (!found) {
Object *cam= data->camera ? data->camera : scene->camera;
where_is_object_mat(scene, cam, invmat);
@@ -2038,7 +2051,7 @@ static void object_solver_inverted_matrix(Scene *scene, Object *ob, float invmat
}
}
- if(found)
+ if (found)
invert_m4(invmat);
else
unit_m4(invmat);
@@ -2051,10 +2064,10 @@ static Object *object_solver_camera(Scene *scene, Object *ob)
for (con= ob->constraints.first; con; con=con->next) {
bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
- if(!cti)
+ if (!cti)
continue;
- if(cti->type==CONSTRAINT_TYPE_OBJECTSOLVER) {
+ if (cti->type==CONSTRAINT_TYPE_OBJECTSOLVER) {
bObjectSolverConstraint *data= (bObjectSolverConstraint *)con->data;
return data->camera ? data->camera : scene->camera;
@@ -2078,14 +2091,14 @@ static int set_origin_exec(bContext *C, wmOperator *op)
float mat[4][4], vec[3], median[3];
int selected_count= count_selected_bundles(C);
- if(selected_count==0) {
+ if (selected_count==0) {
BKE_report(op->reports, RPT_ERROR, "At least one track with bundle should be selected to define origin position");
return OPERATOR_CANCELLED;
}
object= get_orientation_object(C);
- if(!object) {
+ if (!object) {
BKE_report(op->reports, RPT_ERROR, "No object to apply orientation on");
return OPERATOR_CANCELLED;
@@ -2097,8 +2110,8 @@ static int set_origin_exec(bContext *C, wmOperator *op)
track= tracksbase->first;
zero_v3(median);
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_HAS_BUNDLE)) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_HAS_BUNDLE)) {
add_v3_v3(median, track->bundle_pos);
}
@@ -2110,7 +2123,7 @@ static int set_origin_exec(bContext *C, wmOperator *op)
mul_v3_m4v3(vec, mat, median);
- if(tracking_object->flag&TRACKING_OBJECT_CAMERA) {
+ if (tracking_object->flag&TRACKING_OBJECT_CAMERA) {
sub_v3_v3(object->loc, vec);
}
else {
@@ -2162,7 +2175,7 @@ static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingOb
mul_v3_m4v3(vec, mat, track->bundle_pos);
copy_v3_v3(dvec, vec);
- if(!is_camera) {
+ if (!is_camera) {
float imat[4][4];
object_solver_inverted_matrix(scene, ob, imat);
@@ -2174,22 +2187,23 @@ static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingOb
sub_v3_v3(vec, obmat[3]);
}
- if(len_v2(vec) < 1e-3f)
+ if (len_v2(vec) < 1e-3f)
return;
unit_m4(mat);
- if(axis=='X') {
- if(fabsf(dvec[1])<1e-3f) {
+ if (axis=='X') {
+ if (fabsf(dvec[1])<1e-3f) {
flip= 1;
mat[0][0]= -1.0f; mat[0][1]= 0.0f; mat[0][2]= 0.0f;
mat[1][0]= 0.0f; mat[1][1]= -1.0f; mat[1][2]= 0.0f;
mat[2][0]= 0.0f; mat[2][1]= 0.0f; mat[2][2]= 1.0f;
- } else {
+ }
+ else {
copy_v3_v3(mat[0], vec);
- if(is_camera || fabsf(vec[2])<1e-3f) {
+ if (is_camera || fabsf(vec[2])<1e-3f) {
mat[0][2]= 0.0f;
mat[2][0]= 0.0f; mat[2][1]= 0.0f; mat[2][2]= 1.0f;
cross_v3_v3v3(mat[1], mat[2], mat[0]);
@@ -2201,17 +2215,19 @@ static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingOb
cross_v3_v3v3(mat[2], mat[0], mat[1]);
}
}
- } else {
- if(fabsf(dvec[0])<1e-3f) {
+ }
+ else {
+ if (fabsf(dvec[0])<1e-3f) {
flip= 1;
mat[0][0]= -1.0f; mat[0][1]= 0.0f; mat[0][2]= 0.0f;
mat[1][0]= 0.0f; mat[1][1]= -1.0f; mat[1][2]= 0.0f;
mat[2][0]= 0.0f; mat[2][1]= 0.0f; mat[2][2]= 1.0f;
- } else {
+ }
+ else {
copy_v3_v3(mat[1], vec);
- if(is_camera || fabsf(vec[2])<1e-3f) {
+ if (is_camera || fabsf(vec[2])<1e-3f) {
mat[1][2]= 0.0f;
mat[2][0]= 0.0f; mat[2][1]= 0.0f; mat[2][2]= 1.0f;
cross_v3_v3v3(mat[0], mat[1], mat[2]);
@@ -2229,13 +2245,13 @@ static void set_axis(Scene *scene, Object *ob, MovieClip *clip, MovieTrackingOb
normalize_v3(mat[1]);
normalize_v3(mat[2]);
- if(is_camera) {
+ if (is_camera) {
invert_m4(mat);
mult_m4_m4m4(mat, mat, obmat);
}
else {
- if(!flip) {
+ if (!flip) {
float lmat[4][4], ilmat[4][4], rmat[3][3];
object_rot_to_mat3(ob, rmat);
@@ -2275,7 +2291,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
{1.0f, 0.0f, 0.0f, 0.0f},
{0.0f, 0.0f, 0.0f, 1.0f}}; /* 90 degrees Y-axis rotation matrix */
- if(count_selected_bundles(C)!=3) {
+ if (count_selected_bundles(C)!=3) {
BKE_report(op->reports, RPT_ERROR, "Three tracks with bundles are needed to orient the floor");
return OPERATOR_CANCELLED;
@@ -2286,7 +2302,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
act_track= BKE_tracking_active_track(tracking);
object= get_orientation_object(C);
- if(!object) {
+ if (!object) {
BKE_report(op->reports, RPT_ERROR, "No object to apply orientation on");
return OPERATOR_CANCELLED;
@@ -2296,11 +2312,11 @@ static int set_plane_exec(bContext *C, wmOperator *op)
/* get 3 bundles to use as reference */
track= tracksbase->first;
- while(track && tot<3) {
- if(track->flag&TRACK_HAS_BUNDLE && TRACK_VIEW_SELECTED(sc, track)) {
+ while (track && tot<3) {
+ if (track->flag&TRACK_HAS_BUNDLE && TRACK_VIEW_SELECTED(sc, track)) {
mul_v3_m4v3(vec[tot], mat, track->bundle_pos);
- if(tot==0 || track==act_track)
+ if (tot==0 || track==act_track)
copy_v3_v3(orig, vec[tot]);
else
axis_track= track;
@@ -2337,7 +2353,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
mat[3][1]= orig[1];
mat[3][2]= orig[2];
- if(tracking_object->flag&TRACKING_OBJECT_CAMERA) {
+ if (tracking_object->flag&TRACKING_OBJECT_CAMERA) {
invert_m4(mat);
object_to_mat4(object, obmat);
@@ -2346,7 +2362,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
object_apply_mat4(object, newmat, 0, 0);
/* make camera have positive z-coordinate */
- if(object->loc[2]<0) {
+ if (object->loc[2]<0) {
invert_m4(rot);
mult_m4_m4m4(newmat, rot, mat);
object_apply_mat4(object, newmat, 0, 0);
@@ -2406,14 +2422,14 @@ static int set_axis_exec(bContext *C, wmOperator *op)
ListBase *tracksbase;
int axis= RNA_enum_get(op->ptr, "axis");
- if(count_selected_bundles(C)!=1) {
+ if (count_selected_bundles(C)!=1) {
BKE_report(op->reports, RPT_ERROR, "Single track with bundle should be selected to define axis");
return OPERATOR_CANCELLED;
}
object= get_orientation_object(C);
- if(!object) {
+ if (!object) {
BKE_report(op->reports, RPT_ERROR, "No object to apply orientation on");
return OPERATOR_CANCELLED;
@@ -2422,8 +2438,8 @@ static int set_axis_exec(bContext *C, wmOperator *op)
tracksbase= BKE_tracking_object_tracks(tracking, tracking_object);
track=tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track))
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track))
break;
track= track->next;
@@ -2481,14 +2497,14 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
float vec[2][3], mat[4][4], scale;
float dist= RNA_float_get(op->ptr, "distance");
- if(count_selected_bundles(C)!=2) {
+ if (count_selected_bundles(C)!=2) {
BKE_report(op->reports, RPT_ERROR, "Two tracks with bundles should be selected to set scale");
return OPERATOR_CANCELLED;
}
object= get_orientation_object(C);
- if(!object) {
+ if (!object) {
BKE_report(op->reports, RPT_ERROR, "No object to apply orientation on");
return OPERATOR_CANCELLED;
@@ -2497,8 +2513,8 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
BKE_get_tracking_mat(scene, camera, mat);
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track)) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
mul_v3_m4v3(vec[tot], mat, track->bundle_pos);
tot++;
}
@@ -2508,19 +2524,19 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
sub_v3_v3(vec[0], vec[1]);
- if(len_v3(vec[0])>1e-5f) {
+ if (len_v3(vec[0])>1e-5f) {
scale= dist / len_v3(vec[0]);
- if(tracking_object->flag&TRACKING_OBJECT_CAMERA) {
+ if (tracking_object->flag&TRACKING_OBJECT_CAMERA) {
mul_v3_fl(object->size, scale);
mul_v3_fl(object->loc, scale);
}
- else if(!scale_solution){
+ else if (!scale_solution) {
Object *solver_camera= object_solver_camera(scene, object);
object->size[0]= object->size[1]= object->size[2]= 1.0f/scale;
- if(solver_camera) {
+ if (solver_camera) {
object->size[0]/= solver_camera->size[0];
object->size[1]/= solver_camera->size[1];
object->size[2]/= solver_camera->size[2];
@@ -2532,7 +2548,7 @@ static int do_set_scale(bContext *C, wmOperator *op, int scale_solution)
DAG_id_tag_update(&clip->id, 0);
- if(object)
+ if (object)
DAG_id_tag_update(&object->id, OB_RECALC_OB);
WM_event_add_notifier(C, NC_MOVIECLIP|NA_EVALUATED, clip);
@@ -2552,7 +2568,7 @@ static int set_scale_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
- if(!RNA_struct_property_is_set(op->ptr, "distance"))
+ if (!RNA_struct_property_is_set(op->ptr, "distance"))
RNA_float_set(op->ptr, "distance", clip->tracking.settings.dist);
return set_scale_exec(C, op);
@@ -2582,7 +2598,7 @@ void CLIP_OT_set_scale(wmOperatorType *ot)
static int set_solution_scale_poll(bContext *C)
{
- if(space_clip_frame_poll(C)) {
+ if (space_clip_frame_poll(C)) {
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
MovieTracking *tracking= &clip->tracking;
@@ -2604,7 +2620,7 @@ static int set_solution_scale_invoke(bContext *C, wmOperator *op, wmEvent *UNUSE
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
- if(!RNA_struct_property_is_set(op->ptr, "distance"))
+ if (!RNA_struct_property_is_set(op->ptr, "distance"))
RNA_float_set(op->ptr, "distance", clip->tracking.settings.object_distance);
return set_solution_scale_exec(C, op);
@@ -2640,7 +2656,7 @@ static int set_center_principal_exec(bContext *C, wmOperator *UNUSED(op))
BKE_movieclip_get_size(clip, &sc->user, &width, &height);
- if(width==0 || height==0)
+ if (width==0 || height==0)
return OPERATOR_CANCELLED;
clip->tracking.camera.principal[0]= ((float)width)/2.0f;
@@ -2681,20 +2697,21 @@ static int hide_tracks_exec(bContext *C, wmOperator *op)
unselected= RNA_boolean_get(op->ptr, "unselected");
track= tracksbase->first;
- while(track) {
- if(unselected==0 && TRACK_VIEW_SELECTED(sc, track)) {
+ while (track) {
+ if (unselected==0 && TRACK_VIEW_SELECTED(sc, track)) {
track->flag|= TRACK_HIDDEN;
- } else if(unselected==1 && !TRACK_VIEW_SELECTED(sc, track)) {
+ }
+ else if (unselected==1 && !TRACK_VIEW_SELECTED(sc, track)) {
track->flag|= TRACK_HIDDEN;
}
track= track->next;
}
- if(act_track && act_track->flag&TRACK_HIDDEN)
+ if (act_track && act_track->flag&TRACK_HIDDEN)
clip->tracking.act_track= NULL;
- if(unselected==0) {
+ if (unselected==0) {
/* no selection on screen now, unlock view so it can be scrolled nice again */
sc->flag&= ~SC_LOCK_SELECTION;
}
@@ -2732,7 +2749,7 @@ static int hide_tracks_clear_exec(bContext *C, wmOperator *UNUSED(op))
MovieTrackingTrack *track;
track= tracksbase->first;
- while(track) {
+ while (track) {
track->flag&= ~TRACK_HIDDEN;
track= track->next;
@@ -2764,12 +2781,12 @@ static bGPDlayer *detect_get_layer(MovieClip *clip)
{
bGPDlayer *layer;
- if(!clip->gpd)
+ if (!clip->gpd)
return NULL;
layer= clip->gpd->layers.first;
- while(layer) {
- if(layer->flag&GP_LAYER_ACTIVE)
+ while (layer) {
+ if (layer->flag&GP_LAYER_ACTIVE)
return layer;
layer= layer->next;
@@ -2794,13 +2811,13 @@ static int detect_features_exec(bContext *C, wmOperator *op)
int place_outside_layer= 0;
bGPDlayer *layer= NULL;
- if(placement!=0) {
+ if (placement!=0) {
layer= detect_get_layer(clip);
place_outside_layer= placement==2;
}
/* deselect existing tracks */
- while(track) {
+ while (track) {
track->flag&= ~SELECT;
track->pat_flag&= ~SELECT;
track->search_flag&= ~SELECT;
@@ -2857,25 +2874,25 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
int pos= RNA_enum_get(op->ptr, "position");
int delta;
- if(pos<=1) { /* jump to path */
+ if (pos<=1) { /* jump to path */
track= BKE_tracking_active_track(&clip->tracking);
- if(!track)
+ if (!track)
return OPERATOR_CANCELLED;
delta= pos == 1 ? 1 : -1;
- while(sc->user.framenr+delta >= SFRA && sc->user.framenr+delta <= EFRA) {
+ while (sc->user.framenr+delta >= SFRA && sc->user.framenr+delta <= EFRA) {
MovieTrackingMarker *marker= BKE_tracking_exact_marker(track, sc->user.framenr+delta);
- if(!marker || marker->flag&MARKER_DISABLED)
+ if (!marker || marker->flag&MARKER_DISABLED)
break;
sc->user.framenr+= delta;
}
}
else { /* to to failed frame */
- if(clip->tracking.reconstruction.flag&TRACKING_RECONSTRUCTED) {
+ if (clip->tracking.reconstruction.flag&TRACKING_RECONSTRUCTED) {
int a= sc->user.framenr;
MovieTracking *tracking= &clip->tracking;
MovieTrackingObject *object= BKE_tracking_active_object(tracking);
@@ -2884,12 +2901,12 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
a+= delta;
- while(a+delta >= SFRA && a+delta <= EFRA) {
+ while (a+delta >= SFRA && a+delta <= EFRA) {
MovieReconstructedCamera *cam;
cam= BKE_tracking_get_reconstructed_camera(tracking, object, a);
- if(!cam) {
+ if (!cam) {
sc->user.framenr= a;
break;
@@ -2900,7 +2917,7 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
}
}
- if(CFRA!=sc->user.framenr) {
+ if (CFRA!=sc->user.framenr) {
CFRA= sc->user.framenr;
sound_seek_scene(CTX_data_main(C), CTX_data_scene(C));
@@ -2950,19 +2967,19 @@ static int join_tracks_exec(bContext *C, wmOperator *op)
act_track= BKE_tracking_active_track(tracking);
- if(!act_track) {
+ if (!act_track) {
BKE_report(op->reports, RPT_ERROR, "No active track to join to");
return OPERATOR_CANCELLED;
}
track= tracksbase->first;
- while(track) {
+ while (track) {
next= track->next;
- if(TRACK_VIEW_SELECTED(sc, track) && track!=act_track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && track!=act_track) {
BKE_tracking_join_tracks(act_track, track);
- if(tracking->stabilization.rot_track == track)
+ if (tracking->stabilization.rot_track == track)
tracking->stabilization.rot_track= act_track;
BKE_tracking_free_track(track);
@@ -3003,10 +3020,10 @@ static int lock_tracks_exec(bContext *C, wmOperator *op)
MovieTrackingTrack *track= tracksbase->first;
int action= RNA_enum_get(op->ptr, "action");
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track)) {
- if(action==0) track->flag|= TRACK_LOCKED;
- else if(action==1) track->flag&= ~TRACK_LOCKED;
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track)) {
+ if (action==0) track->flag|= TRACK_LOCKED;
+ else if (action==1) track->flag&= ~TRACK_LOCKED;
else track->flag^= TRACK_LOCKED;
}
@@ -3053,15 +3070,15 @@ static int track_copy_color_exec(bContext *C, wmOperator *UNUSED(op))
ListBase *tracksbase= BKE_tracking_get_tracks(tracking);
MovieTrackingTrack *track, *act_track= BKE_tracking_active_track(tracking);
- if(!act_track)
+ if (!act_track)
return OPERATOR_CANCELLED;
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && track!=act_track) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && track!=act_track) {
track->flag&= ~TRACK_CUSTOMCOLOR;
- if(act_track->flag&TRACK_CUSTOMCOLOR) {
+ if (act_track->flag&TRACK_CUSTOMCOLOR) {
copy_v3_v3(track->color, act_track->color);
track->flag|= TRACK_CUSTOMCOLOR;
}
@@ -3103,8 +3120,8 @@ static int stabilize_2d_add_exec(bContext *C, wmOperator *UNUSED(op))
int update= 0;
track= tracksbase->first;
- while(track) {
- if(TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_USE_2D_STAB)==0) {
+ while (track) {
+ if (TRACK_VIEW_SELECTED(sc, track) && (track->flag&TRACK_USE_2D_STAB)==0) {
track->flag|= TRACK_USE_2D_STAB;
stab->tot_track++;
@@ -3114,7 +3131,7 @@ static int stabilize_2d_add_exec(bContext *C, wmOperator *UNUSED(op))
track= track->next;
}
- if(update) {
+ if (update) {
stab->ok= 0;
DAG_id_tag_update(&clip->id, 0);
@@ -3152,15 +3169,15 @@ static int stabilize_2d_remove_exec(bContext *C, wmOperator *UNUSED(op))
int a= 0, update= 0;
track= tracksbase->first;
- while(track) {
- if(track->flag&TRACK_USE_2D_STAB) {
- if(a==stab->act_track) {
+ while (track) {
+ if (track->flag&TRACK_USE_2D_STAB) {
+ if (a==stab->act_track) {
track->flag&= ~TRACK_USE_2D_STAB;
stab->act_track--;
stab->tot_track--;
- if(stab->act_track<0)
+ if (stab->act_track<0)
stab->act_track= 0;
update= 1;
@@ -3174,7 +3191,7 @@ static int stabilize_2d_remove_exec(bContext *C, wmOperator *UNUSED(op))
track= track->next;
}
- if(update) {
+ if (update) {
stab->ok= 0;
DAG_id_tag_update(&clip->id, 0);
@@ -3211,8 +3228,8 @@ static int stabilize_2d_select_exec(bContext *C, wmOperator *UNUSED(op))
int update= 0;
track= tracksbase->first;
- while(track) {
- if(track->flag&TRACK_USE_2D_STAB) {
+ while (track) {
+ if (track->flag&TRACK_USE_2D_STAB) {
BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 0);
update= 1;
@@ -3221,7 +3238,7 @@ static int stabilize_2d_select_exec(bContext *C, wmOperator *UNUSED(op))
track= track->next;
}
- if(update)
+ if (update)
WM_event_add_notifier(C, NC_MOVIECLIP|ND_SELECT, clip);
return OPERATOR_FINISHED;
@@ -3251,7 +3268,7 @@ static int stabilize_2d_set_rotation_exec(bContext *C, wmOperator *UNUSED(op))
MovieTracking *tracking= &clip->tracking;
MovieTrackingTrack *act_track= BKE_tracking_active_track(tracking);
- if(act_track) {
+ if (act_track) {
MovieTrackingStabilization *stab= &tracking->stabilization;
stab->rot_track= act_track;
@@ -3288,53 +3305,53 @@ static int is_track_clean(MovieTrackingTrack *track, int frames, int del)
int start_disabled= 0;
int markersnr= track->markersnr;
- if(del)
+ if (del)
new_markers= MEM_callocN(markersnr*sizeof(MovieTrackingMarker), "track cleaned markers");
- for(a= 0; a<markersnr; a++) {
+ for (a= 0; a<markersnr; a++) {
int end= 0;
- if(prev==-1) {
- if((markers[a].flag&MARKER_DISABLED)==0)
+ if (prev==-1) {
+ if ((markers[a].flag&MARKER_DISABLED)==0)
prev= a;
else
start_disabled= 1;
}
- if(prev >= 0) {
+ if (prev >= 0) {
end= a == markersnr-1;
end|= (a < markersnr-1) && (markers[a].framenr != markers[a+1].framenr-1 ||
markers[a].flag&MARKER_DISABLED);
}
- if(end) {
+ if (end) {
int segok= 1, len= 0;
- if(a != prev && markers[a].framenr != markers[a-1].framenr+1)
+ if (a != prev && markers[a].framenr != markers[a-1].framenr+1)
len= a-prev;
- else if(markers[a].flag&MARKER_DISABLED)
+ else if (markers[a].flag&MARKER_DISABLED)
len= a-prev;
else len= a-prev+1;
- if(frames) {
- if(len < frames) {
+ if (frames) {
+ if (len < frames) {
segok= 0;
ok= 0;
- if(!del)
+ if (!del)
break;
}
}
- if(del) {
- if(segok) {
+ if (del) {
+ if (segok) {
int t= len;
- if(markers[a].flag&MARKER_DISABLED)
+ if (markers[a].flag&MARKER_DISABLED)
t++;
/* place disabled marker in front of current segment */
- if(start_disabled) {
+ if (start_disabled) {
memcpy(new_markers+count, markers+prev, sizeof(MovieTrackingMarker));
new_markers[count].framenr--;
new_markers[count].flag|= MARKER_DISABLED;
@@ -3346,7 +3363,7 @@ static int is_track_clean(MovieTrackingTrack *track, int frames, int del)
memcpy(new_markers+count, markers+prev, t*sizeof(MovieTrackingMarker));
count+= t;
}
- else if(markers[a].flag&MARKER_DISABLED) {
+ else if (markers[a].flag&MARKER_DISABLED) {
/* current segment which would be deleted was finished by disabled marker,
* so next segment should be started from disabled marker */
start_disabled= 1;
@@ -3357,10 +3374,10 @@ static int is_track_clean(MovieTrackingTrack *track, int frames, int del)
}
}
- if(del) {
+ if (del) {
MEM_freeN(track->markers);
- if(count) {
+ if (count) {
track->markers= new_markers;
}
else {
@@ -3385,25 +3402,25 @@ static int clean_tracks_exec(bContext *C, wmOperator *op)
int action= RNA_enum_get(op->ptr, "action");
float error= RNA_float_get(op->ptr, "error");
- if(error && action==TRACKING_CLEAN_DELETE_SEGMENT)
+ if (error && action==TRACKING_CLEAN_DELETE_SEGMENT)
action= TRACKING_CLEAN_DELETE_TRACK;
track= tracksbase->first;
- while(track) {
+ while (track) {
next= track->next;
- if((track->flag&TRACK_HIDDEN)==0 && (track->flag&TRACK_LOCKED)==0) {
+ if ((track->flag&TRACK_HIDDEN)==0 && (track->flag&TRACK_LOCKED)==0) {
int ok= 1;
ok= (is_track_clean(track, frames, action==TRACKING_CLEAN_DELETE_SEGMENT)) &&
(error == 0.0f || (track->flag&TRACK_HAS_BUNDLE)==0 || track->error < error);
- if(!ok) {
- if(action==TRACKING_CLEAN_SELECT) {
+ if (!ok) {
+ if (action==TRACKING_CLEAN_SELECT) {
BKE_tracking_track_flag(track, TRACK_AREA_ALL, SELECT, 0);
}
- else if(action==TRACKING_CLEAN_DELETE_TRACK) {
- if(track==act_track)
+ else if (action==TRACKING_CLEAN_DELETE_TRACK) {
+ if (track==act_track)
clip->tracking.act_track= NULL;
BKE_tracking_free_track(track);
@@ -3412,8 +3429,8 @@ static int clean_tracks_exec(bContext *C, wmOperator *op)
}
/* happens when all tracking segments are not long enough */
- if(track && track->markersnr==0) {
- if(track==act_track)
+ if (track && track->markersnr==0) {
+ if (track==act_track)
clip->tracking.act_track= NULL;
BKE_tracking_free_track(track);
@@ -3435,13 +3452,13 @@ static int clean_tracks_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(even
SpaceClip *sc= CTX_wm_space_clip(C);
MovieClip *clip= ED_space_clip(sc);
- if(!RNA_struct_property_is_set(op->ptr, "frames"))
+ if (!RNA_struct_property_is_set(op->ptr, "frames"))
RNA_int_set(op->ptr, "frames", clip->tracking.settings.clean_frames);
- if(!RNA_struct_property_is_set(op->ptr, "error"))
+ if (!RNA_struct_property_is_set(op->ptr, "error"))
RNA_float_set(op->ptr, "error", clip->tracking.settings.clean_error);
- if(!RNA_struct_property_is_set(op->ptr, "action"))
+ if (!RNA_struct_property_is_set(op->ptr, "action"))
RNA_enum_set(op->ptr, "action", clip->tracking.settings.clean_action);
return clean_tracks_exec(C, op);
@@ -3516,7 +3533,7 @@ static int tracking_object_remove_exec(bContext *C, wmOperator *op)
object= BKE_tracking_active_object(tracking);
- if(object->flag&TRACKING_OBJECT_CAMERA) {
+ if (object->flag&TRACKING_OBJECT_CAMERA) {
BKE_report(op->reports, RPT_WARNING, "Object used for camera tracking can't be deleted");
return OPERATOR_CANCELLED;
}