[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56715] trunk/blender: Documentation for functions inside tracking.c

Sergey Sharybin sergey.vfx at gmail.com
Sun May 12 18:04:08 CEST 2013


Revision: 56715
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56715
Author:   nazgul
Date:     2013-05-12 16:04:08 +0000 (Sun, 12 May 2013)
Log Message:
-----------
Documentation for functions inside tracking.c

Additional changes:

- Cleaned up sources to reduce mess in some
  big functions.
- Removed unused function from libmv c-api.
- Made functions naming more consistent.
- Use bool for internal stuff in tracking.c.

Shall be no functional changes :)

Modified Paths:
--------------
    trunk/blender/extern/libmv/libmv-capi.cpp
    trunk/blender/extern/libmv/libmv-capi.h
    trunk/blender/source/blender/blenkernel/intern/tracking.c

Modified: trunk/blender/extern/libmv/libmv-capi.cpp
===================================================================
--- trunk/blender/extern/libmv/libmv-capi.cpp	2013-05-12 15:52:05 UTC (rev 56714)
+++ trunk/blender/extern/libmv/libmv-capi.cpp	2013-05-12 16:04:08 UTC (rev 56715)
@@ -419,23 +419,6 @@
 	void *callback_customdata_;
 };
 
-int libmv_refineParametersAreValid(int parameters) {
-	return (parameters == (LIBMV_REFINE_FOCAL_LENGTH))         ||
-	       (parameters == (LIBMV_REFINE_FOCAL_LENGTH           |
-	                       LIBMV_REFINE_PRINCIPAL_POINT))      ||
-	       (parameters == (LIBMV_REFINE_FOCAL_LENGTH           |
-	                       LIBMV_REFINE_PRINCIPAL_POINT        |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K1   |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K2)) ||
-	       (parameters == (LIBMV_REFINE_FOCAL_LENGTH           |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K1   |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K2)) ||
-	       (parameters == (LIBMV_REFINE_FOCAL_LENGTH           |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K1)) ||
-	       (parameters == (LIBMV_REFINE_RADIAL_DISTORTION_K1   |
-	                       LIBMV_REFINE_RADIAL_DISTORTION_K2));
-}
-
 static void libmv_solveRefineIntrinsics(libmv::Tracks *tracks, libmv::CameraIntrinsics *intrinsics,
 			libmv::EuclideanReconstruction *reconstruction, int refine_intrinsics,
 			reconstruct_progress_update_cb progress_update_callback, void *callback_customdata,
@@ -952,7 +935,7 @@
 
 /* ************ utils ************ */
 
-void libmv_applyCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
+void libmv_ApplyCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
                                  double x, double y, double *x1, double *y1)
 {
 	libmv::CameraIntrinsics camera_intrinsics;
@@ -966,8 +949,8 @@
 	}
 }
 
-void libmv_InvertIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
-                            double x, double y, double *x1, double *y1)
+void libmv_InvertCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
+                                  double x, double y, double *x1, double *y1)
 {
 	libmv::CameraIntrinsics camera_intrinsics;
 

Modified: trunk/blender/extern/libmv/libmv-capi.h
===================================================================
--- trunk/blender/extern/libmv/libmv-capi.h	2013-05-12 15:52:05 UTC (rev 56714)
+++ trunk/blender/extern/libmv/libmv-capi.h	2013-05-12 16:04:08 UTC (rev 56715)
@@ -101,8 +101,6 @@
 
 typedef void (*reconstruct_progress_update_cb) (void *customdata, double progress, const char *message);
 
-int libmv_refineParametersAreValid(int parameters);
-
 struct libmv_Reconstruction *libmv_solveReconstruction(struct libmv_Tracks *libmv_tracks,
 			libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
 			libmv_reconstructionOptions *libmv_reconstruction_options,
@@ -161,9 +159,9 @@
 			float *src, float *dst, int width, int height, float overscan, int channels);
 
 /* utils */
-void libmv_applyCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
+void libmv_ApplyCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
 			double x, double y, double *x1, double *y1);
-void libmv_InvertIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
+void libmv_InvertCameraIntrinsics(libmv_cameraIntrinsicsOptions *libmv_camera_intrinsics_options,
 			double x, double y, double *x1, double *y1);
 
 #ifdef __cplusplus

Modified: trunk/blender/source/blender/blenkernel/intern/tracking.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-05-12 15:52:05 UTC (rev 56714)
+++ trunk/blender/source/blender/blenkernel/intern/tracking.c	2013-05-12 16:04:08 UTC (rev 56715)
@@ -78,13 +78,14 @@
 	ListBase tracks;
 } tracking_clipboard;
 
-/*********************** Common functions  *************************/
+/*********************** Common functions *************************/
 
+/* Duplicate the specified track, result will no belong to any list. */
 static MovieTrackingTrack *tracking_track_duplicate(MovieTrackingTrack *track)
 {
 	MovieTrackingTrack *new_track;
 
-	new_track = MEM_callocN(sizeof(MovieTrackingTrack), "tracksMapMerge new_track");
+	new_track = MEM_callocN(sizeof(MovieTrackingTrack), "tracking_track_duplicate new_track");
 
 	*new_track = *track;
 	new_track->next = new_track->prev = NULL;
@@ -94,6 +95,7 @@
 	return new_track;
 }
 
+/* Free the whole list of tracks, list's head and tail are set to NULL. */
 static void tracking_tracks_free(ListBase *tracks)
 {
 	MovieTrackingTrack *track;
@@ -105,32 +107,49 @@
 	BLI_freelistN(tracks);
 }
 
+/* Free reconstruction structures, only frees contents of a structure,
+ * (if structure is allocated in heap, it shall be handled outside).
+ *
+ * All the pointers inside structure becomes invalid after this call.
+ */
 static void tracking_reconstruction_free(MovieTrackingReconstruction *reconstruction)
 {
 	if (reconstruction->cameras)
 		MEM_freeN(reconstruction->cameras);
 }
 
+/* Free memory used by tracking object, only frees contents of the structure,
+ * (if structure is allocated in heap, it shall be handled outside).
+ *
+ * All the pointers inside structure becomes invalid after this call.
+ */
 static void tracking_object_free(MovieTrackingObject *object)
 {
 	tracking_tracks_free(&object->tracks);
 	tracking_reconstruction_free(&object->reconstruction);
 }
 
+/* Free list of tracking objects, list's head and tail is set to NULL. */
 static void tracking_objects_free(ListBase *objects)
 {
 	MovieTrackingObject *object;
 
+	/* Free objects contents. */
 	for (object = objects->first; object; object = object->next)
 		tracking_object_free(object);
 
+	/* Free objects themselves. */
 	BLI_freelistN(objects);
 }
 
+/* Free memory used by a dopesheet, only frees dopesheet contents.
+ * leaving dopesheet crystal clean for further usage.
+ */
 static void tracking_dopesheet_free(MovieTrackingDopesheet *dopesheet)
 {
 	MovieTrackingDopesheetChannel *channel;
 
+	/* Free channel's sergments. */
 	channel = dopesheet->channels.first;
 	while (channel) {
 		if (channel->segments) {
@@ -140,14 +159,21 @@
 		channel = channel->next;
 	}
 
+	/* Free lists themselves. */
 	BLI_freelistN(&dopesheet->channels);
 	BLI_freelistN(&dopesheet->coverage_segments);
 
+	/* Ensure lists are clean. */
 	dopesheet->channels.first = dopesheet->channels.last = NULL;
 	dopesheet->coverage_segments.first = dopesheet->coverage_segments.last = NULL;
 	dopesheet->tot_channel = 0;
 }
 
+/* Free tracking structure, only frees structure contents
+ * (if structure is allocated in heap, it shall be handled outside).
+ *
+ * All the pointers inside structure becomes invalid after this call.
+ */
 void BKE_tracking_free(MovieTracking *tracking)
 {
 	tracking_tracks_free(&tracking->tracks);
@@ -160,6 +186,9 @@
 	tracking_dopesheet_free(&tracking->dopesheet);
 }
 
+/* Initialize motion tracking settings to default values,
+ * used when new movie clip datablock is creating.
+ */
 void BKE_tracking_settings_init(MovieTracking *tracking)
 {
 	tracking->camera.sensor_width = 35.0f;
@@ -184,6 +213,7 @@
 	BKE_tracking_object_add(tracking, "Camera");
 }
 
+/* Get list base of active object's tracks. */
 ListBase *BKE_tracking_get_active_tracks(MovieTracking *tracking)
 {
 	MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
@@ -195,6 +225,7 @@
 	return &tracking->tracks;
 }
 
+/* Get reconstruction data of active object. */
 MovieTrackingReconstruction *BKE_tracking_get_active_reconstruction(MovieTracking *tracking)
 {
 	MovieTrackingObject *object = BKE_tracking_object_get_active(tracking);
@@ -202,6 +233,9 @@
 	return BKE_tracking_object_get_reconstruction(tracking, object);
 }
 
+/* Get transformation matrix for a given object which is used
+ * for parenting motion tracker reconstruction to 3D world.
+ */
 void BKE_tracking_get_camera_object_matrix(Scene *scene, Object *ob, float mat[4][4])
 {
 	if (!ob) {
@@ -217,6 +251,11 @@
 		unit_m4(mat);
 }
 
+/* Get projection matrix for camera specified by given tracking object
+ * and frame number.
+ *
+ * NOTE: frame number should be in clip space, not scene space
+ */
 void BKE_tracking_get_projection_matrix(MovieTracking *tracking, MovieTrackingObject *object,
                                         int framenr, int winx, int winy, float mat[4][4])
 {
@@ -264,7 +303,7 @@
 	}
 }
 
-/* **** space transformation functions  **** */
+/* **** space transformation functions **** */
 
 /* Three coordinate frames: Frame, Search, and Marker
  * Two units: Pixels, Unified
@@ -403,6 +442,7 @@
 
 /*********************** clipboard *************************/
 
+/* Free clipboard by freeing memory used by all tracks in it. */
 void BKE_tracking_clipboard_free(void)
 {
 	MovieTrackingTrack *track = tracking_clipboard.tracks.first, *next_track;
@@ -419,13 +459,16 @@
 	tracking_clipboard.tracks.first = tracking_clipboard.tracks.last = NULL;
 }
 
+/* Copy selected tracks from specified object to the clipboard. */
 void BKE_tracking_clipboard_copy_tracks(MovieTracking *tracking, MovieTrackingObject *object)
 {
 	ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
 	MovieTrackingTrack *track = tracksbase->first;
 
+	/* First drop all tracks from current clipboard. */
 	BKE_tracking_clipboard_free();
 
+	/* Then copy all selected visible tracks to it. */
 	while (track) {
 		if (TRACK_SELECTED(track) && (track->flag & TRACK_HIDDEN) == 0) {
 			MovieTrackingTrack *new_track = tracking_track_duplicate(track);
@@ -437,11 +480,17 @@
 	}
 }
 
+/* Check whether there're any tracks in the clipboard. */
 int BKE_tracking_clipboard_has_tracks(void)
 {
 	return tracking_clipboard.tracks.first != NULL;
 }
 
+/* Paste tracks from clipboard to specified object.
+ *
+ * Names of new tracks in object are guaranteed to
+ * be unique here.
+ */
 void BKE_tracking_clipboard_paste_tracks(MovieTracking *tracking, MovieTrackingObject *object)
 {
 	ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, object);
@@ -457,10 +506,19 @@
 	}
 }
 
-/*********************** Tracks  *************************/
+/*********************** Tracks *************************/
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list