Blender V2.61 - r43446
Defines | Functions

BKE_tracking.h File Reference

Go to the source code of this file.

Defines

#define TRACK_SELECTED(track)   ((((track)->flag&TRACK_HIDDEN)==0) && ((track)->flag&SELECT || (track)->pat_flag&SELECT || (track)->search_flag&SELECT))
#define TRACK_AREA_SELECTED(track, area)   ((((track)->flag&TRACK_HIDDEN)==0) && ((area)==TRACK_AREA_POINT?(track)->flag&SELECT : ((area)==TRACK_AREA_PAT?(track)->pat_flag&SELECT:(track)->search_flag&SELECT)))
#define TRACK_VIEW_SELECTED(sc, track)   ((TRACK_AREA_SELECTED(track, TRACK_AREA_POINT) || (((sc)->flag&SC_SHOW_MARKER_PATTERN && TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))) || (((sc)->flag&SC_SHOW_MARKER_SEARCH && TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH)))))
#define MARKER_VISIBLE(sc, marker)   (((marker)->flag&MARKER_DISABLED)==0 || ((sc)->flag&SC_HIDE_DISABLED)==0)
#define TRACK_CLEAR_UPTO   0
#define TRACK_CLEAR_REMAINED   1
#define TRACK_CLEAR_ALL   2
#define CLAMP_PAT_DIM   1
#define CLAMP_PAT_POS   2
#define CLAMP_SEARCH_DIM   3
#define CLAMP_SEARCH_POS   4
#define CLAMP_PYRAMID_LEVELS   5
#define TRACK_AREA_NONE   -1
#define TRACK_AREA_POINT   1
#define TRACK_AREA_PAT   2
#define TRACK_AREA_SEARCH   4
#define TRACK_AREA_ALL   (TRACK_AREA_POINT|TRACK_AREA_PAT|TRACK_AREA_SEARCH)

Functions

void BKE_tracking_init_settings (struct MovieTracking *tracking)
void BKE_tracking_clamp_track (struct MovieTrackingTrack *track, int event)
void BKE_tracking_track_flag (struct MovieTrackingTrack *track, int area, int flag, int clear)
struct MovieTrackingTrackBKE_tracking_add_track (struct MovieTracking *tracking, struct ListBase *tracksbase, float x, float y, int framenr, int width, int height)
struct MovieTrackingMarkerBKE_tracking_insert_marker (struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker)
void BKE_tracking_delete_marker (struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingMarkerBKE_tracking_get_marker (struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingMarkerBKE_tracking_ensure_marker (struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingMarkerBKE_tracking_exact_marker (struct MovieTrackingTrack *track, int framenr)
int BKE_tracking_has_marker (struct MovieTrackingTrack *track, int framenr)
void BKE_tracking_free_track (struct MovieTrackingTrack *track)
void BKE_tracking_clear_path (struct MovieTrackingTrack *track, int ref_frame, int action)
int BKE_tracking_test_join_tracks (struct MovieTrackingTrack *dst_track, struct MovieTrackingTrack *src_track)
void BKE_tracking_join_tracks (struct MovieTrackingTrack *dst_track, struct MovieTrackingTrack *src_track)
void BKE_tracking_free (struct MovieTracking *tracking)
struct ImBufBKE_tracking_get_pattern_imbuf (struct ImBuf *ibuf, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int margin, int anchored, float pos[2], int origin[2])
struct ImBufBKE_tracking_get_search_imbuf (struct ImBuf *ibuf, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int margin, int anchored, float pos[2], int origin[2])
void BKE_track_unique_name (struct ListBase *tracksbase, struct MovieTrackingTrack *track)
struct MovieTrackingTrackBKE_tracking_named_track (struct MovieTracking *tracking, struct MovieTrackingObject *object, const char *name)
struct MovieTrackingTrackBKE_tracking_indexed_track (struct MovieTracking *tracking, int tracknr, struct ListBase **tracksbase_r)
void BKE_tracking_camera_shift (struct MovieTracking *tracking, int winx, int winy, float *shiftx, float *shifty)
void BKE_tracking_camera_to_blender (struct MovieTracking *tracking, struct Scene *scene, struct Camera *camera, int width, int height)
void BKE_get_tracking_mat (struct Scene *scene, struct Object *ob, float mat[4][4])
void BKE_tracking_projection_matrix (struct MovieTracking *tracking, struct MovieTrackingObject *object, int framenr, int winx, int winy, float mat[4][4])
struct ListBaseBKE_tracking_get_tracks (struct MovieTracking *tracking)
struct
MovieTrackingReconstruction
BKE_tracking_get_reconstruction (struct MovieTracking *tracking)
struct MovieTrackingTrackBKE_tracking_active_track (struct MovieTracking *tracking)
struct MovieTrackingObjectBKE_tracking_active_object (struct MovieTracking *tracking)
struct MovieTrackingObjectBKE_tracking_get_camera_object (struct MovieTracking *tracking)
struct ListBaseBKE_tracking_object_tracks (struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct
MovieTrackingReconstruction
BKE_tracking_object_reconstruction (struct MovieTracking *tracking, struct MovieTrackingObject *object)
void BKE_tracking_disable_imbuf_channels (struct ImBuf *ibuf, int disable_red, int disable_green, int disable_blue, int grayscale)
void BKE_tracking_free_clipboard (void)
void BKE_tracking_clipboard_copy_tracks (struct MovieTracking *tracking, struct MovieTrackingObject *object)
int BKE_tracking_clipboard_has_tracks (void)
void BKE_tracking_clipboard_paste_tracks (struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct MovieTrackingContextBKE_tracking_context_new (struct MovieClip *clip, struct MovieClipUser *user, short backwards, short sequence)
void BKE_tracking_context_free (struct MovieTrackingContext *context)
void BKE_tracking_sync (struct MovieTrackingContext *context)
void BKE_tracking_sync_user (struct MovieClipUser *user, struct MovieTrackingContext *context)
int BKE_tracking_next (struct MovieTrackingContext *context)
int BKE_tracking_can_reconstruct (struct MovieTracking *tracking, struct MovieTrackingObject *object, char *error_msg, int error_size)
struct MovieReconstructContextBKE_tracking_reconstruction_context_new (struct MovieTracking *tracking, struct MovieTrackingObject *object, int keyframe1, int keyframe2, int width, int height)
void BKE_tracking_reconstruction_context_free (struct MovieReconstructContext *context)
void BKE_tracking_solve_reconstruction (struct MovieReconstructContext *context, short *stop, short *do_update, float *progress, char *stats_message, int message_size)
int BKE_tracking_finish_reconstruction (struct MovieReconstructContext *context, struct MovieTracking *tracking)
struct MovieReconstructedCameraBKE_tracking_get_reconstructed_camera (struct MovieTracking *tracking, struct MovieTrackingObject *object, int framenr)
void BKE_tracking_get_interpolated_camera (struct MovieTracking *tracking, struct MovieTrackingObject *object, int framenr, float mat[4][4])
void BKE_tracking_detect_fast (struct MovieTracking *tracking, struct ListBase *tracksbase, struct ImBuf *imbuf, int framenr, int margin, int min_trackness, int min_distance, struct bGPDlayer *layer, int place_outside_layer)
void BKE_tracking_stabilization_data (struct MovieTracking *tracking, int framenr, int width, int height, float loc[2], float *scale, float *angle)
struct ImBufBKE_tracking_stabilize (struct MovieTracking *tracking, int framenr, struct ImBuf *ibuf, float loc[2], float *scale, float *angle)
void BKE_tracking_stabdata_to_mat4 (int width, int height, float loc[2], float scale, float angle, float mat[4][4])
void BKE_tracking_apply_intrinsics (struct MovieTracking *tracking, float co[2], float nco[2])
void BKE_tracking_invert_intrinsics (struct MovieTracking *tracking, float co[2], float nco[2])
struct MovieDistortionBKE_tracking_distortion_create (void)
struct MovieDistortionBKE_tracking_distortion_copy (struct MovieDistortion *distortion)
struct ImBufBKE_tracking_distortion_exec (struct MovieDistortion *distortion, struct MovieTracking *tracking, struct ImBuf *ibuf, int width, int height, float overscan, int undistort)
void BKE_tracking_distortion_destroy (struct MovieDistortion *distortion)
struct ImBufBKE_tracking_undistort (struct MovieTracking *tracking, struct ImBuf *ibuf, int width, int height, float overscan)
struct ImBufBKE_tracking_distort (struct MovieTracking *tracking, struct ImBuf *ibuf, int width, int height, float overscan)
struct MovieTrackingObjectBKE_tracking_new_object (struct MovieTracking *tracking, const char *name)
void BKE_tracking_remove_object (struct MovieTracking *tracking, struct MovieTrackingObject *object)
void BKE_tracking_object_unique_name (struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct MovieTrackingObjectBKE_tracking_named_object (struct MovieTracking *tracking, const char *name)
void BKE_tracking_select_track (struct ListBase *tracksbase, struct MovieTrackingTrack *track, int area, int extend)
void BKE_tracking_deselect_track (struct MovieTrackingTrack *track, int area)

Define Documentation

#define CLAMP_PAT_DIM   1
#define CLAMP_PAT_POS   2

Definition at line 176 of file BKE_tracking.h.

Referenced by BKE_tracking_clamp_track(), and recalcData_clip().

#define CLAMP_PYRAMID_LEVELS   5

Definition at line 179 of file BKE_tracking.h.

Referenced by BKE_tracking_add_track(), and BKE_tracking_clamp_track().

#define CLAMP_SEARCH_DIM   3
#define CLAMP_SEARCH_POS   4
#define MARKER_VISIBLE (   sc,
  marker 
)    (((marker)->flag&MARKER_DISABLED)==0 || ((sc)->flag&SC_HIDE_DISABLED)==0)
#define TRACK_AREA_ALL   (TRACK_AREA_POINT|TRACK_AREA_PAT|TRACK_AREA_SEARCH)
#define TRACK_AREA_NONE   -1

Definition at line 181 of file BKE_tracking.h.

Referenced by BKE_tracking_track_flag(), and track_mouse_area().

#define TRACK_AREA_PAT   2
#define TRACK_AREA_POINT   1
#define TRACK_AREA_SEARCH   4
#define TRACK_AREA_SELECTED (   track,
  area 
)    ((((track)->flag&TRACK_HIDDEN)==0) && ((area)==TRACK_AREA_POINT?(track)->flag&SELECT : ((area)==TRACK_AREA_PAT?(track)->pat_flag&SELECT:(track)->search_flag&SELECT)))

Definition at line 166 of file BKE_tracking.h.

Referenced by mouse_select(), and recalcData_clip().

#define TRACK_CLEAR_ALL   2

Definition at line 173 of file BKE_tracking.h.

Referenced by BKE_tracking_clear_path(), clip_keymap(), and CLIP_OT_clear_track_path().

#define TRACK_CLEAR_REMAINED   1
#define TRACK_CLEAR_UPTO   0

Definition at line 171 of file BKE_tracking.h.

Referenced by BKE_tracking_clear_path(), clip_keymap(), and CLIP_OT_clear_track_path().

#define TRACK_SELECTED (   track)    ((((track)->flag&TRACK_HIDDEN)==0) && ((track)->flag&SELECT || (track)->pat_flag&SELECT || (track)->search_flag&SELECT))
#define TRACK_VIEW_SELECTED (   sc,
  track 
)    ((TRACK_AREA_SELECTED(track, TRACK_AREA_POINT) || (((sc)->flag&SC_SHOW_MARKER_PATTERN && TRACK_AREA_SELECTED(track, TRACK_AREA_PAT))) || (((sc)->flag&SC_SHOW_MARKER_SEARCH && TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH)))))

Function Documentation

void BKE_get_tracking_mat ( struct Scene scene,
struct Object ob,
float  mat[4][4] 
)
void BKE_track_unique_name ( struct ListBase tracksbase,
struct MovieTrackingTrack track 
)
struct MovieTrackingObject* BKE_tracking_active_object ( struct MovieTracking tracking) [read]
struct MovieTrackingTrack* BKE_tracking_active_track ( struct MovieTracking tracking) [read]
struct MovieTrackingTrack* BKE_tracking_add_track ( struct MovieTracking tracking,
struct ListBase tracksbase,
float  x,
float  y,
int  framenr,
int  width,
int  height 
) [read]
void BKE_tracking_apply_intrinsics ( struct MovieTracking tracking,
float  co[2],
float  nco[2] 
)
void BKE_tracking_camera_shift ( struct MovieTracking tracking,
int  winx,
int  winy,
float *  shiftx,
float *  shifty 
)
void BKE_tracking_camera_to_blender ( struct MovieTracking tracking,
struct Scene scene,
struct Camera camera,
int  width,
int  height 
)
int BKE_tracking_can_reconstruct ( struct MovieTracking tracking,
struct MovieTrackingObject object,
char *  error_msg,
int  error_size 
)

Definition at line 1755 of file tracking.c.

References BKE_tracking_object_tracks(), and BLI_strncpy().

Referenced by solve_camera_initjob().

void BKE_tracking_clamp_track ( struct MovieTrackingTrack track,
int  event 
)
void BKE_tracking_clear_path ( struct MovieTrackingTrack track,
int  ref_frame,
int  action 
)
void BKE_tracking_clipboard_copy_tracks ( struct MovieTracking tracking,
struct MovieTrackingObject object 
)
int BKE_tracking_clipboard_has_tracks ( void  )

Definition at line 631 of file tracking.c.

References NULL, and tracking_clipboard.

Referenced by paste_tracks_poll().

void BKE_tracking_clipboard_paste_tracks ( struct MovieTracking tracking,
struct MovieTrackingObject object 
)
void BKE_tracking_context_free ( struct MovieTrackingContext context)
struct MovieTrackingContext* BKE_tracking_context_new ( struct MovieClip clip,
struct MovieClipUser user,
short  backwards,
short  sequence 
) [read]
void BKE_tracking_delete_marker ( struct MovieTrackingTrack track,
int  framenr 
)
void BKE_tracking_deselect_track ( struct MovieTrackingTrack track,
int  area 
)

Definition at line 2871 of file tracking.c.

References BKE_tracking_track_flag(), and SELECT.

Referenced by deselect_all_tracks(), and mouse_select().

void BKE_tracking_detect_fast ( struct MovieTracking tracking,
struct ListBase tracksbase,
struct ImBuf imbuf,
int  framenr,
int  margin,
int  min_trackness,
int  min_distance,
struct bGPDlayer layer,
int  place_outside_layer 
)

Definition at line 2342 of file tracking.c.

References MEM_freeN(), ImBuf::x, and ImBuf::y.

Referenced by detect_features_exec().

void BKE_tracking_disable_imbuf_channels ( struct ImBuf ibuf,
int  disable_red,
int  disable_green,
int  disable_blue,
int  grayscale 
)
struct ImBuf* BKE_tracking_distort ( struct MovieTracking tracking,
struct ImBuf ibuf,
int  width,
int  height,
float  overscan 
) [read]
struct MovieDistortion* BKE_tracking_distortion_copy ( struct MovieDistortion distortion) [read]

Definition at line 2736 of file tracking.c.

References MovieDistortion::intrinsics, and MEM_callocN().

Referenced by local_merge(), and storage_copy().

struct MovieDistortion* BKE_tracking_distortion_create ( void  ) [read]

Definition at line 2727 of file tracking.c.

References MEM_callocN().

Referenced by BKE_tracking_distort(), BKE_tracking_undistort(), exec(), and proxy_startjob().

void BKE_tracking_distortion_destroy ( struct MovieDistortion distortion)

Definition at line 2820 of file tracking.c.

References MovieDistortion::intrinsics, and MEM_freeN().

Referenced by BKE_tracking_free(), local_merge(), proxy_startjob(), and storage_free().

struct ImBuf* BKE_tracking_distortion_exec ( struct MovieDistortion distortion,
struct MovieTracking tracking,
struct ImBuf ibuf,
int  width,
int  height,
float  overscan,
int  undistort 
) [read]
struct MovieTrackingMarker* BKE_tracking_ensure_marker ( struct MovieTrackingTrack track,
int  framenr 
) [read]
struct MovieTrackingMarker* BKE_tracking_exact_marker ( struct MovieTrackingTrack track,
int  framenr 
) [read]
int BKE_tracking_finish_reconstruction ( struct MovieReconstructContext context,
struct MovieTracking tracking 
)
void BKE_tracking_free ( struct MovieTracking tracking)
void BKE_tracking_free_clipboard ( void  )

Definition at line 601 of file tracking.c.

References BKE_tracking_free_track(), MEM_freeN(), MovieTrackingTrack::next, and tracking_clipboard.

Referenced by WM_exit_ext().

void BKE_tracking_free_track ( struct MovieTrackingTrack track)
struct MovieTrackingObject* BKE_tracking_get_camera_object ( struct MovieTracking tracking) [read]
void BKE_tracking_get_interpolated_camera ( struct MovieTracking tracking,
struct MovieTrackingObject object,
int  framenr,
float  mat[4][4] 
)
struct MovieTrackingMarker* BKE_tracking_get_marker ( struct MovieTrackingTrack track,
int  framenr 
) [read]
struct ImBuf* BKE_tracking_get_pattern_imbuf ( struct ImBuf ibuf,
struct MovieTrackingTrack track,
struct MovieTrackingMarker marker,
int  margin,
int  anchored,
float  pos[2],
int  origin[2] 
) [read]
struct MovieReconstructedCamera* BKE_tracking_get_reconstructed_camera ( struct MovieTracking tracking,
struct MovieTrackingObject object,
int  framenr 
) [read]
struct MovieTrackingReconstruction* BKE_tracking_get_reconstruction ( struct MovieTracking tracking) [read]
struct ImBuf* BKE_tracking_get_search_imbuf ( struct ImBuf ibuf,
struct MovieTrackingTrack track,
struct MovieTrackingMarker marker,
int  margin,
int  anchored,
float  pos[2],
int  origin[2] 
) [read]
struct ListBase* BKE_tracking_get_tracks ( struct MovieTracking tracking) [read]
int BKE_tracking_has_marker ( struct MovieTrackingTrack track,
int  framenr 
)

Definition at line 393 of file tracking.c.

References BKE_tracking_exact_marker().

Referenced by put_disabled_marker().

struct MovieTrackingTrack* BKE_tracking_indexed_track ( struct MovieTracking tracking,
int  tracknr,
struct ListBase **  tracksbase_r 
) [read]
void BKE_tracking_init_settings ( struct MovieTracking tracking)
struct MovieTrackingMarker* BKE_tracking_insert_marker ( struct MovieTrackingTrack track,
struct MovieTrackingMarker marker 
) [read]
void BKE_tracking_invert_intrinsics ( struct MovieTracking tracking,
float  co[2],
float  nco[2] 
)
void BKE_tracking_join_tracks ( struct MovieTrackingTrack dst_track,
struct MovieTrackingTrack src_track 
)
struct MovieTrackingObject* BKE_tracking_named_object ( struct MovieTracking tracking,
const char *  name 
) [read]
struct MovieTrackingTrack* BKE_tracking_named_track ( struct MovieTracking tracking,
struct MovieTrackingObject object,
const char *  name 
) [read]
struct MovieTrackingObject* BKE_tracking_new_object ( struct MovieTracking tracking,
const char *  name 
) [read]
int BKE_tracking_next ( struct MovieTrackingContext context)
struct MovieTrackingReconstruction* BKE_tracking_object_reconstruction ( struct MovieTracking tracking,
struct MovieTrackingObject object 
) [read]
struct ListBase* BKE_tracking_object_tracks ( struct MovieTracking tracking,
struct MovieTrackingObject object 
) [read]
void BKE_tracking_object_unique_name ( struct MovieTracking tracking,
struct MovieTrackingObject object 
)

Definition at line 2932 of file tracking.c.

References BLI_uniquename(), MovieTrackingObject::name, and MovieTracking::objects.

Referenced by BKE_tracking_new_object().

void BKE_tracking_projection_matrix ( struct MovieTracking tracking,
struct MovieTrackingObject object,
int  framenr,
int  winx,
int  winy,
float  mat[4][4] 
)
void BKE_tracking_reconstruction_context_free ( struct MovieReconstructContext context)

Definition at line 1846 of file tracking.c.

References MEM_freeN(), NULL, MovieReconstructContext::tracks_map, and tracks_map_free().

Referenced by solve_camera_freejob().

struct MovieReconstructContext* BKE_tracking_reconstruction_context_new ( struct MovieTracking tracking,
struct MovieTrackingObject object,
int  keyframe1,
int  keyframe2,
int  width,
int  height 
) [read]
void BKE_tracking_remove_object ( struct MovieTracking tracking,
struct MovieTrackingObject object 
)
void BKE_tracking_select_track ( struct ListBase tracksbase,
struct MovieTrackingTrack track,
int  area,
int  extend 
)
void BKE_tracking_solve_reconstruction ( struct MovieReconstructContext context,
short *  stop,
short *  do_update,
float *  progress,
char *  stats_message,
int  message_size 
)
void BKE_tracking_stabdata_to_mat4 ( int  width,
int  height,
float  loc[2],
float  scale,
float  angle,
float  mat[4][4] 
)
void BKE_tracking_stabilization_data ( struct MovieTracking tracking,
int  framenr,
int  width,
int  height,
float  loc[2],
float *  scale,
float *  angle 
)
struct ImBuf* BKE_tracking_stabilize ( struct MovieTracking tracking,
int  framenr,
struct ImBuf ibuf,
float  loc[2],
float *  scale,
float *  angle 
) [read]
void BKE_tracking_sync ( struct MovieTrackingContext context)
void BKE_tracking_sync_user ( struct MovieClipUser user,
struct MovieTrackingContext context 
)

Definition at line 1305 of file tracking.c.

References MovieClipUser::framenr, and MovieTrackingContext::sync_frame.

Referenced by clip_main_area_draw().

int BKE_tracking_test_join_tracks ( struct MovieTrackingTrack dst_track,
struct MovieTrackingTrack src_track 
)
void BKE_tracking_track_flag ( struct MovieTrackingTrack track,
int  area,
int  flag,
int  clear 
)
struct ImBuf* BKE_tracking_undistort ( struct MovieTracking tracking,
struct ImBuf ibuf,
int  width,
int  height,
float  overscan 
) [read]