Revision: 47943
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47943
Author: nazgul
Date: 2012-06-15 11:03:23 +0000 (Fri, 15 Jun 2012)
Log Message:
-----------
Internal refactoring of tracking module, should be no functional changes
- Re-arrange functions in headers and implementation file to make them
more grouped by entity they're operating with. Also order of functions
in implementation file should match order of functions in header for
easier navigation.
- Rename some functions to match conventions of naming public functions.
- Some code de-duplication, still some room for improvements tho.
- Split main 2D tracking functions into smaller steps to make it more clear.
Accidentally OpenMP was disabled in some of previous commits, re-enable it.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_tracking.h
trunk/blender/source/blender/blenkernel/intern/constraint.c
trunk/blender/source/blender/blenkernel/intern/mask.c
trunk/blender/source/blender/blenkernel/intern/movieclip.c
trunk/blender/source/blender/blenkernel/intern/tracking.c
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/compositor/nodes/COM_MovieClipNode.cpp
trunk/blender/source/blender/compositor/operations/COM_KeyingScreenOperation.cpp
trunk/blender/source/blender/compositor/operations/COM_MovieClipAttributeOperation.cpp
trunk/blender/source/blender/compositor/operations/COM_MovieDistortionOperation.h
trunk/blender/source/blender/editors/gpencil/gpencil_edit.c
trunk/blender/source/blender/editors/gpencil/gpencil_paint.c
trunk/blender/source/blender/editors/interface/interface_draw.c
trunk/blender/source/blender/editors/interface/interface_handlers.c
trunk/blender/source/blender/editors/mask/mask_relationships.c
trunk/blender/source/blender/editors/object/object_constraint.c
trunk/blender/source/blender/editors/space_clip/clip_buttons.c
trunk/blender/source/blender/editors/space_clip/clip_dopesheet_ops.c
trunk/blender/source/blender/editors/space_clip/clip_draw.c
trunk/blender/source/blender/editors/space_clip/clip_editor.c
trunk/blender/source/blender/editors/space_clip/clip_graph_draw.c
trunk/blender/source/blender/editors/space_clip/clip_graph_ops.c
trunk/blender/source/blender/editors/space_clip/clip_ops.c
trunk/blender/source/blender/editors/space_clip/clip_utils.c
trunk/blender/source/blender/editors/space_clip/space_clip.c
trunk/blender/source/blender/editors/space_clip/tracking_ops.c
trunk/blender/source/blender/editors/space_view3d/drawobject.c
trunk/blender/source/blender/editors/space_view3d/view3d_select.c
trunk/blender/source/blender/editors/space_view3d/view3d_snap.c
trunk/blender/source/blender/editors/transform/transform_conversions.c
trunk/blender/source/blender/editors/transform/transform_generics.c
trunk/blender/source/blender/makesrna/intern/rna_tracking.c
trunk/blender/source/blender/nodes/composite/node_composite_tree.c
trunk/blender/source/blender/nodes/composite/nodes/node_composite_keyingscreen.c
trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c
trunk/blender/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
trunk/blender/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c
trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
Modified: trunk/blender/source/blender/blenkernel/BKE_tracking.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_tracking.h 2012-06-15
10:15:10 UTC (rev 47942)
+++ trunk/blender/source/blender/blenkernel/BKE_tracking.h 2012-06-15
11:03:23 UTC (rev 47943)
@@ -47,128 +47,160 @@
struct Object;
struct Scene;
-void BKE_tracking_init_settings(struct MovieTracking *tracking);
-void BKE_tracking_clamp_marker(struct MovieTrackingMarker *marker, int event);
-void BKE_tracking_track_flag(struct MovieTrackingTrack *track, int area, int
flag, int clear);
+/* **** Common functions **** */
-struct MovieTrackingTrack *BKE_tracking_add_track(struct MovieTracking
*tracking, struct ListBase *tracksbase,
+void BKE_tracking_free(struct MovieTracking *tracking);
+
+void BKE_tracking_settings_init(struct MovieTracking *tracking);
+
+struct ListBase *BKE_tracking_get_active_tracks(struct MovieTracking
*tracking);
+struct MovieTrackingReconstruction
*BKE_tracking_get_active_reconstruction(struct MovieTracking *tracking);
+
+/* matrices for constraints and drawing */
+void BKE_tracking_get_camera_object_matrix(struct Scene *scene, struct Object
*ob, float mat[4][4]);
+void BKE_tracking_get_projection_matrix(struct MovieTracking *tracking, struct
MovieTrackingObject *object,
+ int framenr, int winx, int winy, float
mat[4][4]);
+
+/* **** Clipboard **** */
+void BKE_tracking_clipboard_free(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);
+
+/* **** Track **** */
+struct MovieTrackingTrack *BKE_tracking_track_add(struct MovieTracking
*tracking, struct ListBase *tracksbase,
float x, float y, int
framenr, int width, int height);
-struct MovieTrackingMarker *BKE_tracking_insert_marker(struct
MovieTrackingTrack *track,
+void BKE_tracking_track_unique_name(struct ListBase *tracksbase, struct
MovieTrackingTrack *track);
+void BKE_tracking_track_free(struct MovieTrackingTrack *track);
+
+void BKE_tracking_track_flag_set(struct MovieTrackingTrack *track, int area,
int flag);
+void BKE_tracking_track_flag_clear(struct MovieTrackingTrack *track, int area,
int flag);
+
+int BKE_tracking_track_has_marker_at_frame(struct MovieTrackingTrack *track,
int framenr);
+int BKE_tracking_track_has_enabled_marker_at_frame(struct MovieTrackingTrack
*track, int framenr);
+
+void BKE_tracking_track_path_clear(struct MovieTrackingTrack *track, int
ref_frame, int action);
+void BKE_tracking_tracks_join(struct MovieTrackingTrack *dst_track, struct
MovieTrackingTrack *src_track);
+
+struct MovieTrackingTrack *BKE_tracking_track_get_named(struct MovieTracking
*tracking,
+ struct
MovieTrackingObject *object,
+ const char *name);
+struct MovieTrackingTrack *BKE_tracking_track_get_indexed(struct MovieTracking
*tracking, int tracknr,
+ struct ListBase
**tracksbase_r);
+
+struct MovieTrackingTrack *BKE_tracking_track_get_active(struct MovieTracking
*tracking);
+
+float *BKE_tracking_track_get_mask(int frame_width, int frame_height, struct
MovieTrackingTrack *track,
+ struct MovieTrackingMarker *marker);
+
+/* selection */
+void BKE_tracking_track_select(struct ListBase *tracksbase, struct
MovieTrackingTrack *track, int area, int extend);
+void BKE_tracking_track_deselect(struct MovieTrackingTrack *track, int area);
+
+/* **** Marker **** */
+struct MovieTrackingMarker *BKE_tracking_marker_insert(struct
MovieTrackingTrack *track,
struct
MovieTrackingMarker *marker);
-void BKE_tracking_delete_marker(struct MovieTrackingTrack *track, int framenr);
+void BKE_tracking_marker_delete(struct MovieTrackingTrack *track, int framenr);
+void BKE_tracking_marker_clamp(struct MovieTrackingMarker *marker, int event);
+
+struct MovieTrackingMarker *BKE_tracking_marker_get(struct MovieTrackingTrack
*track, int framenr);
+struct MovieTrackingMarker *BKE_tracking_marker_get_exact(struct
MovieTrackingTrack *track, int framenr);
+struct MovieTrackingMarker *BKE_tracking_marker_ensure(struct
MovieTrackingTrack *track, int framenr);
+
void BKE_tracking_marker_pattern_minmax(const struct MovieTrackingMarker
*marker, float min[2], float max[2]);
-struct MovieTrackingMarker *BKE_tracking_get_marker(struct MovieTrackingTrack
*track, int framenr);
-struct MovieTrackingMarker *BKE_tracking_ensure_marker(struct
MovieTrackingTrack *track, int framenr);
-struct MovieTrackingMarker *BKE_tracking_exact_marker(struct
MovieTrackingTrack *track, int framenr);
-int BKE_tracking_has_marker(struct MovieTrackingTrack *track, int framenr);
-int BKE_tracking_has_enabled_marker(struct MovieTrackingTrack *track, int
framenr);
-void BKE_tracking_free_track(struct MovieTrackingTrack *track);
+/* **** Object **** */
+struct MovieTrackingObject *BKE_tracking_object_add(struct MovieTracking
*tracking, const char *name);
+void BKE_tracking_object_delete(struct MovieTracking *tracking, struct
MovieTrackingObject *object);
-void BKE_tracking_clear_path(struct MovieTrackingTrack *track, int ref_frame,
int action);
+void BKE_tracking_object_unique_name(struct MovieTracking *tracking, struct
MovieTrackingObject *object);
-void BKE_tracking_join_tracks(struct MovieTrackingTrack *dst_track, struct
MovieTrackingTrack *src_track);
-void BKE_tracking_free(struct MovieTracking *tracking);
+struct MovieTrackingObject *BKE_tracking_object_get_named(struct MovieTracking
*tracking, const char *name);
-struct ImBuf *BKE_tracking_sample_pattern_imbuf(int frame_width, int
frame_height,
- struct ImBuf *struct_ibuf,
struct MovieTrackingTrack *track,
- struct MovieTrackingMarker
*marker, int use_mask,
- int num_samples_x, int
num_samples_y, float pos[2]);
-struct ImBuf *BKE_tracking_get_pattern_imbuf(struct ImBuf *ibuf, struct
MovieTrackingTrack *track,
- struct MovieTrackingMarker
*marker, int anchored, int disable_channels);
-struct ImBuf *BKE_tracking_get_search_imbuf(struct ImBuf *ibuf, struct
MovieTrackingTrack *track,
- struct MovieTrackingMarker
*marker, int anchored, int disable_channels);
-float *BKE_tracking_track_mask_get(int frame_width, int frame_height, struct
MovieTrackingTrack *track,
- struct MovieTrackingMarker *marker);
+struct MovieTrackingObject *BKE_tracking_object_get_active(struct
MovieTracking *tracking);
+struct MovieTrackingObject *BKE_tracking_object_get_camera(struct
MovieTracking *tracking);
-void BKE_track_unique_name(struct ListBase *tracksbase, struct
MovieTrackingTrack *track);
+struct ListBase *BKE_tracking_object_get_tracks(struct MovieTracking
*tracking, struct MovieTrackingObject *object);
+struct MovieTrackingReconstruction
*BKE_tracking_object_get_reconstruction(struct MovieTracking *tracking,
+
struct MovieTrackingObject *object);
-struct MovieTrackingTrack *BKE_tracking_named_track(struct MovieTracking
*tracking, struct MovieTrackingObject *object, const char *name);
-struct MovieTrackingTrack *BKE_tracking_indexed_track(struct MovieTracking
*tracking, int tracknr, struct ListBase **tracksbase_r);
+/* **** Camera **** */
+void BKE_tracking_camera_shift_get(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_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);
+struct MovieReconstructedCamera *BKE_tracking_camera_get_reconstructed(struct
MovieTracking *tracking,
+ struct
MovieTrackingObject *object,
+ int
framenr);
+void BKE_tracking_camera_get_reconstructed_interpolate(struct MovieTracking
*tracking,
+ struct
MovieTrackingObject *object,
+ int framenr, float
mat[4][4]);
-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]);
+/* **** Distortion/Undistortion **** */
+struct MovieDistortion *BKE_tracking_distortion_new(void);
+void BKE_tracking_distortion_update(struct MovieDistortion *distortion, struct
MovieTracking *tracking,
+ int calibration_width, int
calibration_height);
+struct MovieDistortion *BKE_tracking_distortion_copy(struct MovieDistortion
*distortion);
+struct ImBuf *BKE_tracking_distortion_exec(struct MovieDistortion *distortion,
struct MovieTracking *tracking,
+ struct ImBuf *ibuf, int width, int
height, float overscan, int undistort);
+void BKE_tracking_distortion_free(struct MovieDistortion *distortion);
-struct ListBase *BKE_tracking_get_tracks(struct MovieTracking *tracking);
-struct MovieTrackingReconstruction *BKE_tracking_get_reconstruction(struct
MovieTracking *tracking);
+void BKE_tracking_distort_v2(struct MovieTracking *tracking, float co[2],
float nco[2]);
+void BKE_tracking_undistort_v2(struct MovieTracking *tracking, float co[2],
float nco[2]);
-struct MovieTrackingTrack *BKE_tracking_active_track(struct MovieTracking
*tracking);
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs