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/makesdna/DNA_tracking_types.h')
-rw-r--r--source/blender/makesdna/DNA_tracking_types.h228
1 files changed, 123 insertions, 105 deletions
diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h
index c5b0174a3c9..1ab64ed1cc1 100644
--- a/source/blender/makesdna/DNA_tracking_types.h
+++ b/source/blender/makesdna/DNA_tracking_types.h
@@ -56,20 +56,20 @@ typedef struct MovieReconstructedCamera {
} MovieReconstructedCamera;
typedef struct MovieTrackingCamera {
- void *intrinsics; /* intrinsics handle */
+ void *intrinsics; /* intrinsics handle */
- float sensor_width; /* width of CCD sensor */
- float pixel_aspect; /* pixel aspect ratio */
+ float sensor_width; /* width of CCD sensor */
+ float pixel_aspect; /* pixel aspect ratio */
float pad;
- float focal; /* focal length */
- short units; /* units of focal length user is working with */
+ float focal; /* focal length */
+ short units; /* units of focal length user is working with */
short pad1;
- float principal[2]; /* principal point */
- float k1, k2, k3; /* radial distortion */
+ float principal[2]; /* principal point */
+ float k1, k2, k3; /* radial distortion */
} MovieTrackingCamera;
typedef struct MovieTrackingMarker {
- float pos[2]; /* 2d position of marker on frame (in unified 0..1 space) */
+ float pos[2]; /* 2d position of marker on frame (in unified 0..1 space) */
/* corners of pattern in the following order:
*
@@ -91,14 +91,14 @@ typedef struct MovieTrackingMarker {
*/
float search_min[2], search_max[2];
- int framenr; /* number of frame marker is associated with */
- int flag; /* Marker's flag (alive, ...) */
+ int framenr; /* number of frame marker is associated with */
+ int flag; /* Marker's flag (alive, ...) */
} MovieTrackingMarker;
typedef struct MovieTrackingTrack {
struct MovieTrackingTrack *next, *prev;
- char name[64]; /* MAX_NAME */
+ char name[64]; /* MAX_NAME */
/* ** setings ** */
@@ -114,32 +114,32 @@ typedef struct MovieTrackingTrack {
*/
float search_min[2] DNA_DEPRECATED, search_max[2] DNA_DEPRECATED;
- float offset[2]; /* offset to "parenting" point */
+ float offset[2]; /* offset to "parenting" point */
/* ** track ** */
- int markersnr; /* count of markers in track */
- int last_marker; /* most recently used marker */
- MovieTrackingMarker *markers; /* markers in track */
+ int markersnr; /* count of markers in track */
+ int last_marker; /* most recently used marker */
+ MovieTrackingMarker *markers; /* markers in track */
/* ** reconstruction data ** */
- float bundle_pos[3]; /* reconstructed position */
- float error; /* average track reprojection error */
+ float bundle_pos[3]; /* reconstructed position */
+ float error; /* average track reprojection error */
/* ** UI editing ** */
- int flag, pat_flag, search_flag; /* flags (selection, ...) */
- float color[3]; /* custom color for track */
+ int flag, pat_flag, search_flag; /* flags (selection, ...) */
+ float color[3]; /* custom color for track */
/* ** control how tracking happens */
- short frames_limit; /* number of frames to be tarcked during single tracking session (if TRACKING_FRAMES_LIMIT is set) */
- short margin; /* margin from frame boundaries */
- short pattern_match; /* re-adjust every N frames */
+ short frames_limit; /* number of frames to be tarcked during single tracking session (if TRACKING_FRAMES_LIMIT is set) */
+ short margin; /* margin from frame boundaries */
+ short pattern_match; /* re-adjust every N frames */
/* tracking parameters */
short motion_model; /* model of the motion for this track */
int algorithm_flag; /* flags for the tracking algorithm (use brute, use esm, use pyramid, etc */
- float minimum_correlation; /* minimal correlation which is still treated as successful tracking */
+ float minimum_correlation; /* minimal correlation which is still treated as successful tracking */
- struct bGPdata *gpd; /* grease-pencil data */
+ struct bGPdata *gpd; /* grease-pencil data */
} MovieTrackingTrack;
typedef struct MovieTrackingSettings {
@@ -156,13 +156,13 @@ typedef struct MovieTrackingSettings {
short default_pattern_match; /* re-adjust every N frames */
short default_flag; /* default flags like color channels used by default */
- short motion_flag; /* flags describes motion type */
+ short motion_flag; /* flags describes motion type */
/* ** common tracker settings ** */
- short speed; /* speed of tracking */
+ short speed; /* speed of tracking */
/* ** reconstruction settings ** */
- int keyframe1, keyframe2; /* two keyframes for reconstrution initialization */
+ int keyframe1, keyframe2; /* two keyframes for reconstrution initialization */
/* which camera intrinsics to refine. uses on the REFINE_* flags */
short refine_camera_intrinsics, pad2;
@@ -170,56 +170,56 @@ typedef struct MovieTrackingSettings {
/* ** tool settings ** */
/* set scale */
- float dist; /* distance between two bundles used for scene scaling */
+ float dist; /* distance between two bundles used for scene scaling */
/* cleanup */
int clean_frames, clean_action;
float clean_error;
/* set object scale */
- float object_distance; /* distance between two bundles used for object scaling */
+ float object_distance; /* distance between two bundles used for object scaling */
int pad3;
} MovieTrackingSettings;
typedef struct MovieTrackingStabilization {
int flag;
- int tot_track, act_track; /* total number and index of active track in list */
+ int tot_track, act_track; /* total number and index of active track in list */
/* 2d stabilization */
- float maxscale; /* max auto-scale factor */
- MovieTrackingTrack *rot_track; /* track used to stabilize rotation */
+ float maxscale; /* max auto-scale factor */
+ MovieTrackingTrack *rot_track; /* track used to stabilize rotation */
- float locinf, scaleinf, rotinf; /* influence on location, scale and rotation */
+ float locinf, scaleinf, rotinf; /* influence on location, scale and rotation */
- int filter; /* filter used for pixel interpolation */
+ int filter; /* filter used for pixel interpolation */
/* some pre-computing run-time variables */
- int ok; /* are precomputed values and scaled buf relevant? */
- float scale; /* autoscale factor */
+ int ok; /* are precomputed values and scaled buf relevant? */
+ float scale; /* autoscale factor */
- struct ImBuf *scaleibuf; /* currently scaled ibuf */
+ struct ImBuf *scaleibuf; /* currently scaled ibuf */
} MovieTrackingStabilization;
typedef struct MovieTrackingReconstruction {
int flag;
- float error; /* average error of reconstruction */
+ float error; /* average error of reconstruction */
- int last_camera; /* most recently used camera */
- int camnr; /* number of reconstructed cameras */
- struct MovieReconstructedCamera *cameras; /* reconstructed cameras */
+ int last_camera; /* most recently used camera */
+ int camnr; /* number of reconstructed cameras */
+ struct MovieReconstructedCamera *cameras; /* reconstructed cameras */
} MovieTrackingReconstruction;
typedef struct MovieTrackingObject {
struct MovieTrackingObject *next, *prev;
- char name[64]; /* Name of tracking object, MAX_NAME */
+ char name[64]; /* Name of tracking object, MAX_NAME */
int flag;
- float scale; /* scale of object solution in amera space */
+ float scale; /* scale of object solution in amera space */
- ListBase tracks; /* list of tracks use to tracking this object */
- MovieTrackingReconstruction reconstruction; /* reconstruction data for this object */
+ ListBase tracks; /* list of tracks use to tracking this object */
+ MovieTrackingReconstruction reconstruction; /* reconstruction data for this object */
} MovieTrackingObject;
typedef struct MovieTrackingStats {
@@ -229,64 +229,70 @@ typedef struct MovieTrackingStats {
typedef struct MovieTrackingDopesheetChannel {
struct MovieTrackingDopesheetChannel *next, *prev;
- MovieTrackingTrack *track; /* motion track for which channel is created */
+ MovieTrackingTrack *track; /* motion track for which channel is created */
int pad;
- int tot_segment; /* total number of segments */
- int *segments; /* tracked segments */
- int max_segment, total_frames; /* longest segment length and total number of tracked frames */
+ char name[64]; /* name of channel */
+
+ int tot_segment; /* total number of segments */
+ int *segments; /* tracked segments */
+ int max_segment, total_frames; /* longest segment length and total number of tracked frames */
} MovieTrackingDopesheetChannel;
typedef struct MovieTrackingDopesheet {
- int ok, pad; /* flag if dopesheet information is still relevant */
+ int ok; /* flag if dopesheet information is still relevant */
+
+ short sort_method; /* method to be used to sort tracks */
+ short flag; /* dopesheet building flag such as inverted order of sort */
+ /* runtime stuff */
ListBase channels;
int tot_channel;
- short sort_method; /* method to be used to sort tracks */
- short sort_inverse; /* order of tracks is inverted */
+ int pad;
} MovieTrackingDopesheet;
typedef struct MovieTracking {
- MovieTrackingSettings settings; /* different tracking-related settings */
- MovieTrackingCamera camera; /* camera intrinsics */
- ListBase tracks; /* list of tracks used for camera object */
- MovieTrackingReconstruction reconstruction; /* reconstruction data for camera object */
- MovieTrackingStabilization stabilization; /* stabilization data */
- MovieTrackingTrack *act_track; /* active track */
+ MovieTrackingSettings settings; /* different tracking-related settings */
+ MovieTrackingCamera camera; /* camera intrinsics */
+ ListBase tracks; /* list of tracks used for camera object */
+ MovieTrackingReconstruction reconstruction; /* reconstruction data for camera object */
+ MovieTrackingStabilization stabilization; /* stabilization data */
+ MovieTrackingTrack *act_track; /* active track */
ListBase objects;
- int objectnr, tot_object; /* index of active object and total number of objects */
+ int objectnr, tot_object; /* index of active object and total number of objects */
- MovieTrackingStats *stats; /* statistics displaying in clip editor */
+ MovieTrackingStats *stats; /* statistics displaying in clip editor */
- MovieTrackingDopesheet dopesheet; /* dopesheet data */
+ MovieTrackingDopesheet dopesheet; /* dopesheet data */
} MovieTracking;
/* MovieTrackingCamera->units */
enum {
CAMERA_UNITS_PX = 0,
- CAMERA_UNITS_MM
+ CAMERA_UNITS_MM = 1
};
/* MovieTrackingMarker->flag */
-#define MARKER_DISABLED (1<<0)
-#define MARKER_TRACKED (1<<1)
-#define MARKER_GRAPH_SEL_X (1<<2)
-#define MARKER_GRAPH_SEL_Y (1<<3)
-#define MARKER_GRAPH_SEL (MARKER_GRAPH_SEL_X|MARKER_GRAPH_SEL_Y)
+#define MARKER_DISABLED (1 << 0)
+#define MARKER_TRACKED (1 << 1)
+#define MARKER_GRAPH_SEL_X (1 << 2)
+#define MARKER_GRAPH_SEL_Y (1 << 3)
+#define MARKER_GRAPH_SEL (MARKER_GRAPH_SEL_X | MARKER_GRAPH_SEL_Y)
/* MovieTrackingTrack->flag */
-#define TRACK_HAS_BUNDLE (1<<1)
-#define TRACK_DISABLE_RED (1<<2)
-#define TRACK_DISABLE_GREEN (1<<3)
-#define TRACK_DISABLE_BLUE (1<<4)
-#define TRACK_HIDDEN (1<<5)
-#define TRACK_LOCKED (1<<6)
-#define TRACK_CUSTOMCOLOR (1<<7)
-#define TRACK_USE_2D_STAB (1<<8)
-#define TRACK_PREVIEW_GRAYSCALE (1<<9)
-#define TRACK_DOPE_SEL (1<<10)
+#define TRACK_HAS_BUNDLE (1 << 1)
+#define TRACK_DISABLE_RED (1 << 2)
+#define TRACK_DISABLE_GREEN (1 << 3)
+#define TRACK_DISABLE_BLUE (1 << 4)
+#define TRACK_HIDDEN (1 << 5)
+#define TRACK_LOCKED (1 << 6)
+#define TRACK_CUSTOMCOLOR (1 << 7)
+#define TRACK_USE_2D_STAB (1 << 8)
+#define TRACK_PREVIEW_GRAYSCALE (1 << 9)
+#define TRACK_DOPE_SEL (1 << 10)
+#define TRACK_PREVIEW_ALPHA (1 << 11)
/* MovieTrackingTrack->motion_model */
#define TRACK_MOTION_MODEL_TRANSLATION 0
@@ -297,52 +303,64 @@ enum {
#define TRACK_MOTION_MODEL_HOMOGRAPHY 5
/* MovieTrackingTrack->algorithm_flag */
-#define TRACK_ALGORITHM_FLAG_USE_BRUTE 1
-#define TRACK_ALGORITHM_FLAG_USE_NORMALIZATION 2
+#define TRACK_ALGORITHM_FLAG_USE_BRUTE (1 << 0)
+#define TRACK_ALGORITHM_FLAG_USE_NORMALIZATION (1 << 2)
+#define TRACK_ALGORITHM_FLAG_USE_MASK (1 << 3)
/* MovieTrackingTrack->adjframes */
-#define TRACK_MATCH_KEYFRAME 0
-#define TRACK_MATCH_PREVFRAME 1
+#define TRACK_MATCH_KEYFRAME 0
+#define TRACK_MATCH_PREVFRAME 1
/* MovieTrackingSettings->flag */
-#define TRACKING_SETTINGS_SHOW_DEFAULT_EXPANDED (1<<0)
+#define TRACKING_SETTINGS_SHOW_DEFAULT_EXPANDED (1 << 0)
/* MovieTrackingSettings->motion_flag */
-#define TRACKING_MOTION_TRIPOD (1<<0)
+#define TRACKING_MOTION_TRIPOD (1 << 0)
-#define TRACKING_MOTION_MODAL (TRACKING_MOTION_TRIPOD)
+#define TRACKING_MOTION_MODAL (TRACKING_MOTION_TRIPOD)
/* MovieTrackingSettings->speed */
-#define TRACKING_SPEED_FASTEST 0
-#define TRACKING_SPEED_REALTIME 1
-#define TRACKING_SPEED_HALF 2
-#define TRACKING_SPEED_QUARTER 4
-#define TRACKING_SPEED_DOUBLE 5
+#define TRACKING_SPEED_FASTEST 0
+#define TRACKING_SPEED_REALTIME 1
+#define TRACKING_SPEED_HALF 2
+#define TRACKING_SPEED_QUARTER 4
+#define TRACKING_SPEED_DOUBLE 5
/* MovieTrackingSettings->refine_camera_intrinsics */
-#define REFINE_FOCAL_LENGTH (1<<0)
-#define REFINE_PRINCIPAL_POINT (1<<1)
-#define REFINE_RADIAL_DISTORTION_K1 (1<<2)
-#define REFINE_RADIAL_DISTORTION_K2 (1<<4)
+#define REFINE_FOCAL_LENGTH (1 << 0)
+#define REFINE_PRINCIPAL_POINT (1 << 1)
+#define REFINE_RADIAL_DISTORTION_K1 (1 << 2)
+#define REFINE_RADIAL_DISTORTION_K2 (1 << 4)
/* MovieTrackingStrabilization->flag */
-#define TRACKING_2D_STABILIZATION (1<<0)
-#define TRACKING_AUTOSCALE (1<<1)
-#define TRACKING_STABILIZE_ROTATION (1<<2)
+#define TRACKING_2D_STABILIZATION (1 << 0)
+#define TRACKING_AUTOSCALE (1 << 1)
+#define TRACKING_STABILIZE_ROTATION (1 << 2)
/* MovieTrackingStrabilization->filter */
-#define TRACKING_FILTER_NEAREAST 0
-#define TRACKING_FILTER_BILINEAR 1
-#define TRACKING_FILTER_BICUBIC 2
+#define TRACKING_FILTER_NEAREAST 0
+#define TRACKING_FILTER_BILINEAR 1
+#define TRACKING_FILTER_BICUBIC 2
/* MovieTrackingReconstruction->flag */
-#define TRACKING_RECONSTRUCTED (1<<0)
+#define TRACKING_RECONSTRUCTED (1 << 0)
/* MovieTrackingObject->flag */
-#define TRACKING_OBJECT_CAMERA (1<<0)
-
-#define TRACKING_CLEAN_SELECT 0
-#define TRACKING_CLEAN_DELETE_TRACK 1
-#define TRACKING_CLEAN_DELETE_SEGMENT 2
+#define TRACKING_OBJECT_CAMERA (1 << 0)
+
+#define TRACKING_CLEAN_SELECT 0
+#define TRACKING_CLEAN_DELETE_TRACK 1
+#define TRACKING_CLEAN_DELETE_SEGMENT 2
+
+/* MovieTrackingDopesheet->sort_method */
+#define TRACKING_DOPE_SORT_NAME 0
+#define TRACKING_DOPE_SORT_LONGEST 1
+#define TRACKING_DOPE_SORT_TOTAL 2
+#define TRACKING_DOPE_SORT_AVERAGE_ERROR 3
+
+/* MovieTrackingDopesheet->flag */
+#define TRACKING_DOPE_SORT_INVERSE (1 << 0)
+#define TRACKING_DOPE_SELECTED_ONLY (1 << 1)
+#define TRACKING_DOPE_SHOW_HIDDEN (1 << 2)
#endif