Blender V4.3
DNA_tracking_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
11#pragma once
12
13#include "DNA_defs.h"
14#include "DNA_listBase.h"
15
16/* match-moving data */
17
18struct Image;
20struct MovieTracking;
24struct bGPdata;
25
31
32typedef struct MovieTrackingCamera {
35
37 char _pad[2];
38
44 float focal;
46 short units;
47 char _pad1[2];
48
58
61
62 /* Polynomial distortion */
64 float k1, k2, k3;
65
66 /* Division distortion model coefficients */
68
69 /* Nuke distortion model coefficients */
71
72 /* Brown-Conrady distortion model coefficients */
78
79typedef struct MovieTrackingMarker {
81 float pos[2];
82
83 /* corners of pattern in the following order:
84 *
85 * Y
86 * ^
87 * | (3) --- (2)
88 * | | |
89 * | | |
90 * | | |
91 * | (0) --- (1)
92 * +-------------> X
93 *
94 * the coordinates are stored relative to pos.
95 */
96 float pattern_corners[4][2];
97
98 /* positions of left-bottom and right-top corners of search area (in unified 0..1 units,
99 * relative to marker->pos
100 */
101 float search_min[2], search_max[2];
102
106 int flag;
108
109typedef struct MovieTrackingTrack {
111
113 char name[64];
114
115 /* ** settings ** */
116
117 /* positions of left-bottom and right-top corners of pattern (in unified 0..1 units,
118 * relative to marker->pos)
119 * moved to marker's corners since planar tracking implementation
120 */
122
123 /* positions of left-bottom and right-top corners of search area (in unified 0..1 units,
124 * relative to marker->pos
125 * moved to marker since affine tracking implementation
126 */
128
130 float offset[2];
131
132 /* ** track ** */
136 int _pad;
139
140 /* ** reconstruction data ** */
142 float bundle_pos[3];
144 float error;
145
146 /* ** UI editing ** */
150 float color[3];
151
152 /* ** control how tracking happens */
159 short margin;
163
164 /* tracking parameters */
171
173 struct bGPdata *gpd;
174
175 /* Weight of this track.
176 *
177 * Weight defines how much the track affects on the final reconstruction,
178 * usually gets animated in a way so when track has just appeared its
179 * weight is zero and then it gets faded up.
180 *
181 * Used to prevent jumps of the camera when tracks are appearing or
182 * disappearing.
183 */
184 float weight;
185
186 /* track weight especially for 2D stabilization */
189
191 /* Corners of the plane in the following order:
192 *
193 * Y
194 * ^
195 * | (3) --- (2)
196 * | | |
197 * | | |
198 * | | |
199 * | (0) --- (1)
200 * +-------------> X
201 *
202 * The coordinates are stored in frame normalized coordinates.
203 */
204 float corners[4][2];
205
209 int flag;
211
244
245typedef struct MovieTrackingSettings {
246 /* ** default tracker settings */
269
272
273 /* ** common tracker settings ** */
275 short speed;
276
277 /* ** reconstruction settings ** */
278 /* two keyframes for reconstruction initialization
279 * were moved to per-tracking object settings
280 */
283
285
286 /* which camera intrinsics to refine. uses on the REFINE_* flags */
288
289 /* ** tool settings ** */
290
291 /* set scale */
293 float dist;
294
295 /* cleanup */
298
299 /* set object scale */
303
334
348
373
377
397
407
410 int ok;
411
415 short flag;
416
417 /* ** runtime stuff ** */
418
419 /* summary */
421
422 /* detailed */
425
426 char _pad[4];
428
461
463enum {
468};
469
471enum {
474};
475
477enum {
478 MARKER_DISABLED = (1 << 0),
479 MARKER_TRACKED = (1 << 1),
483};
484
486enum {
491 TRACK_HIDDEN = (1 << 5),
492 TRACK_LOCKED = (1 << 6),
496 TRACK_DOPE_SEL = (1 << 10),
499};
500
502enum {
509};
510
512enum {
516};
517
523
525enum {
527
529};
530
532enum {
538};
539
541enum {
542 /* TRACKING_USE_FALLBACK_RECONSTRUCTION = (1 << 0), */ /* DEPRECATED */
544};
545
547enum {
549
554};
555
557enum {
563};
564
566enum {
570};
571
573enum {
575};
576
578enum {
580};
581
582enum {
586};
587
589enum {
596};
597
599enum {
603};
604
606enum {
610};
611
613enum {
616};
617
619enum {
623};
These structs are the foundation for all linked lists in the library system.
@ TRACKING_FILTER_BICUBIC
@ TRACKING_FILTER_NEAREST
@ TRACKING_FILTER_BILINEAR
struct MovieTrackingDopesheet MovieTrackingDopesheet
struct MovieTrackingPlaneMarker MovieTrackingPlaneMarker
@ TRACKING_MOTION_MODAL
@ TRACKING_MOTION_TRIPOD
@ TRACKING_DOPE_SORT_START
@ TRACKING_DOPE_SORT_AVERAGE_ERROR
@ TRACKING_DOPE_SORT_LONGEST
@ TRACKING_DOPE_SORT_NAME
@ TRACKING_DOPE_SORT_END
@ TRACKING_DOPE_SORT_TOTAL
@ TRACKING_SPEED_DOUBLE
@ TRACKING_SPEED_HALF
@ TRACKING_SPEED_FASTEST
@ TRACKING_SPEED_QUARTER
@ TRACKING_SPEED_REALTIME
@ TRACKING_CLEAN_DELETE_SEGMENT
@ TRACKING_CLEAN_SELECT
@ TRACKING_CLEAN_DELETE_TRACK
@ CAMERA_UNITS_MM
@ CAMERA_UNITS_PX
@ TRACKING_AUTOSCALE
@ TRACKING_SHOW_STAB_TRACKS
@ TRACKING_STABILIZE_SCALE
@ TRACKING_STABILIZE_ROTATION
@ TRACKING_2D_STABILIZATION
struct MovieTrackingSettings MovieTrackingSettings
struct MovieReconstructedCamera MovieReconstructedCamera
@ TRACKING_DISTORTION_MODEL_DIVISION
@ TRACKING_DISTORTION_MODEL_POLYNOMIAL
@ TRACKING_DISTORTION_MODEL_NUKE
@ TRACKING_DISTORTION_MODEL_BROWN
struct MovieTracking MovieTracking
struct MovieTrackingPlaneTrack MovieTrackingPlaneTrack
@ TRACK_CUSTOMCOLOR
@ TRACK_PREVIEW_ALPHA
@ TRACK_DISABLE_BLUE
@ TRACK_HIDDEN
@ TRACK_PREVIEW_GRAYSCALE
@ TRACK_LOCKED
@ TRACK_DOPE_SEL
@ TRACK_USE_2D_STAB
@ TRACK_HAS_BUNDLE
@ TRACK_USE_2D_STAB_ROT
@ TRACK_DISABLE_RED
@ TRACK_DISABLE_GREEN
struct MovieTrackingMarker MovieTrackingMarker
@ TRACK_ALGORITHM_FLAG_USE_NORMALIZATION
@ TRACK_ALGORITHM_FLAG_USE_BRUTE
@ TRACK_ALGORITHM_FLAG_USE_MASK
@ PLANE_MARKER_DISABLED
@ PLANE_MARKER_TRACKED
struct MovieTrackingTrack MovieTrackingTrack
struct MovieTrackingDopesheetChannel MovieTrackingDopesheetChannel
struct MovieTrackingStats MovieTrackingStats
struct MovieTrackingReconstruction MovieTrackingReconstruction
struct MovieTrackingObject MovieTrackingObject
@ TRACKING_RECONSTRUCTED
@ TRACKING_COVERAGE_BAD
@ TRACKING_COVERAGE_OK
@ TRACKING_COVERAGE_ACCEPTABLE
struct MovieTrackingDopesheetCoverageSegment MovieTrackingDopesheetCoverageSegment
struct MovieTrackingStabilization MovieTrackingStabilization
@ TRACK_MOTION_MODEL_TRANSLATION_SCALE
@ TRACK_MOTION_MODEL_TRANSLATION
@ TRACK_MOTION_MODEL_TRANSLATION_ROTATION_SCALE
@ TRACK_MOTION_MODEL_TRANSLATION_ROTATION
@ TRACK_MOTION_MODEL_HOMOGRAPHY
@ TRACK_MOTION_MODEL_AFFINE
@ PLANE_TRACK_HIDDEN
@ PLANE_TRACK_LOCKED
@ PLANE_TRACK_AUTOKEY
@ MARKER_GRAPH_SEL_X
@ MARKER_GRAPH_SEL_Y
@ MARKER_TRACKED
@ MARKER_DISABLED
@ MARKER_GRAPH_SEL
struct MovieTrackingCamera MovieTrackingCamera
@ TRACKING_DOPE_SELECTED_ONLY
@ TRACKING_DOPE_SORT_INVERSE
@ TRACKING_DOPE_SHOW_HIDDEN
@ TRACKING_OBJECT_CAMERA
eTrackFrameMatch
@ TRACK_MATCH_PREVIOUS_FRAME
@ TRACK_MATCH_KEYFRAME
@ REFINE_PRINCIPAL_POINT
@ REFINE_NO_INTRINSICS
@ REFINE_TANGENTIAL_DISTORTION
@ REFINE_RADIAL_DISTORTION
@ REFINE_FOCAL_LENGTH
@ TRACKING_USE_KEYFRAME_SELECTION
struct MovieTrackingDopesheetChannel * prev
struct MovieTrackingDopesheetChannel * next
struct MovieTrackingDopesheetCoverageSegment * prev
struct MovieTrackingDopesheetCoverageSegment * next
struct MovieTrackingObject * prev
MovieTrackingPlaneTrack * active_plane_track
MovieTrackingReconstruction reconstruction
struct MovieTrackingObject * next
MovieTrackingTrack * active_track
struct MovieTrackingPlaneTrack * next
MovieTrackingTrack ** point_tracks
MovieTrackingPlaneMarker * markers
struct MovieTrackingPlaneTrack * prev
struct MovieReconstructedCamera * cameras
MovieTrackingTrack * rot_track_legacy
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
struct MovieTrackingTrack * prev
MovieTrackingDopesheet dopesheet
MovieTrackingStats * stats
MovieTrackingPlaneTrack * act_plane_track_legacy
MovieTrackingReconstruction reconstruction_legacy
MovieTrackingStabilization stabilization
ListBase plane_tracks_legacy
MovieTrackingTrack * act_track_legacy
MovieTrackingCamera camera
MovieTrackingSettings settings