[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47943] trunk/blender/source/blender: Internal refactoring of tracking module, should be no functional changes

Sergey Sharybin sergey.vfx at gmail.com
Fri Jun 15 13:03:29 CEST 2012


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. @@



More information about the Bf-blender-cvs mailing list