49 static void rna_tracking_defaultSettings_patternUpdate(
Main *
UNUSED(bmain),
57 if (settings->default_search_size < settings->default_pattern_size) {
58 settings->default_search_size = settings->default_pattern_size;
62 static void rna_tracking_defaultSettings_searchUpdate(
Main *
UNUSED(bmain),
70 if (settings->default_pattern_size > settings->default_search_size) {
71 settings->default_pattern_size = settings->default_search_size;
106 static int rna_tracking_active_object_index_get(
PointerRNA *
ptr)
113 static void rna_tracking_active_object_index_set(
PointerRNA *
ptr,
int value)
121 static void rna_tracking_active_object_index_range(
163 static void rna_tracking_active_plane_track_set(
PointerRNA *
ptr,
180 static void rna_trackingTrack_name_set(
PointerRNA *
ptr,
const char *value)
186 char old_name[
sizeof(track->name)];
187 BLI_strncpy(old_name, track->name,
sizeof(track->name));
189 BLI_strncpy(track->name, value,
sizeof(track->name));
207 static void rna_trackingTrack_select_set(
PointerRNA *
ptr,
bool value)
223 static void rna_trackingPlaneMarker_frame_set(
PointerRNA *
ptr,
int value)
232 for (tracking_object = tracking->objects.first; tracking_object;
233 tracking_object = tracking_object->
next) {
236 for (plane_track = tracksbase->
first; plane_track; plane_track = plane_track->
next) {
237 if (plane_marker >= plane_track->
markers &&
251 new_plane_marker.
framenr = value;
258 static char *rna_trackingPlaneTrack_path(
const PointerRNA *
ptr)
265 &clip->
tracking, plane_track, rna_path,
sizeof(rna_path));
269 static void rna_trackingPlaneTrack_name_set(
PointerRNA *
ptr,
const char *value)
276 char old_name[
sizeof(plane_track->
name)];
286 &clip->
tracking, plane_track, rna_path,
sizeof(rna_path));
288 &clip->
id, adt,
NULL, rna_path, old_name, plane_track->
name, 0, 0, 1);
297 static float rna_trackingCamera_focal_mm_get(
PointerRNA *
ptr)
301 float val =
camera->focal;
310 static void rna_trackingCamera_focal_mm_set(
PointerRNA *
ptr,
float value)
319 if (value >= 0.0001f) {
358 static int rna_tracking_stabTracks_active_index_get(
PointerRNA *
ptr)
364 static void rna_tracking_stabTracks_active_index_set(
PointerRNA *
ptr,
int value)
370 static void rna_tracking_stabTracks_active_index_range(
385 static int rna_tracking_stabRotTracks_active_index_get(
PointerRNA *
ptr)
391 static void rna_tracking_stabRotTracks_active_index_set(
PointerRNA *
ptr,
int value)
397 static void rna_tracking_stabRotTracks_active_index_range(
418 static void rna_tracking_resetIntrinsics(
Main *
UNUSED(bmain),
425 if (tracking->camera.intrinsics) {
427 tracking->camera.intrinsics =
NULL;
500 static void rna_trackingObject_name_set(
PointerRNA *
ptr,
const char *value)
510 static void rna_trackingObject_flushUpdate(
Main *
UNUSED(bmain),
520 static void rna_trackingMarker_frame_set(
PointerRNA *
ptr,
int value)
529 for (tracking_object = tracking->objects.first; tracking_object;
530 tracking_object = tracking_object->
next) {
533 for (track = tracksbase->
first; track; track = track->
next) {
554 static void rna_tracking_markerPattern_update(
Main *
UNUSED(bmain),
563 static void rna_tracking_markerSearch_update(
Main *
UNUSED(bmain),
572 static void rna_tracking_markerPattern_boundbox_get(
PointerRNA *
ptr,
float *values)
583 static void rna_trackingDopesheet_tagUpdate(
Main *
UNUSED(bmain),
608 if (name && name[0]) {
624 track = add_track_to_base(clip, tracking, &tracking->
tracks, name, frame);
637 ListBase *tracksbase = &
object->tracks;
644 track = add_track_to_base(clip, &clip->
tracking, tracksbase, name, frame);
660 static void rna_trackingObject_remove(
MovieTracking *tracking,
693 memset(&marker, 0,
sizeof(marker));
739 memset(&plane_marker, 0,
sizeof(plane_marker));
740 plane_marker.
framenr = framenr;
752 return new_plane_marker;
795 static void rna_trackingCameras_matrix_from_frame(
ID *
id,
807 memcpy(matrix, mat,
sizeof(
float[4][4]));
817 "Search for markers that are perspectively deformed (homography) between frames"},
822 "Search for markers that are affine-deformed (t, r, k, and skew) between frames"},
826 "Location, Rotation & Scale",
827 "Search for markers that are translated, rotated, and scaled between frames"},
832 "Search for markers that are translated and scaled between frames"},
836 "Location & Rotation",
837 "Search for markers that are translated and rotated between frames"},
842 "Search for markers that are translated between frames"},
852 "Track pattern from current frame to next frame"},
862 {0,
"FASTEST", 0,
"Fastest",
"Track as fast as it's possible"},
877 "Delete unclean segments of tracks"},
890 "Limit speed of tracking to make visual feedback easier "
891 "(this does not affect the tracking quality)");
899 "Keyframe Selection",
900 "Automatically select keyframes when solving camera/object motion");
908 prop,
"Refine Focal Length",
"Refine focal length during camera solving");
914 prop,
"Refine Principal Point",
"Refine principal point during camera solving");
921 "Refine radial coefficients of distortion model during camera solving");
931 "Refine tangential coefficients of distortion model during camera solving");
941 prop,
"Distance",
"Distance between two bundles used for scene scaling");
951 "Effect on tracks which are tracked less than the specified amount of frames");
959 prop,
"Reprojection Error",
"Effect on tracks which have a larger re-projection error");
975 "Use special solver to track a stable camera position, such as a tripod");
983 prop,
"Frames Limit",
"Every tracking cycle, this number of frames are tracked");
991 prop,
"Pattern Match",
"Track pattern from given frame when tracking marker to next frame");
999 prop,
"Margin",
"Default distance from image boundary at which marker stops tracking");
1012 prop,
"Prepass",
"Use a brute-force translation-only initialization when tracking");
1022 "Use a grease pencil data-block as a mask to use only specified areas of pattern "
1031 prop,
"Normalize",
"Normalize light intensities while tracking (slower)");
1043 "Default minimum value of correlation between matched pattern and reference "
1044 "that is still treated as successful tracking");
1072 prop,
"Use Green Channel",
"Use green channel from footage for tracking");
1092 prop,
"Distance",
"Distance between two bundles used for object scaling");
1108 "Radial distortion model which fits common cameras"},
1113 "Division distortion model which "
1114 "better represents wide-angle cameras"},
1121 {
CAMERA_UNITS_PX,
"PIXELS", 0,
"px",
"Use pixels for units of focal length"},
1122 {
CAMERA_UNITS_MM,
"MILLIMETERS", 0,
"mm",
"Use millimeters for units of focal length"},
1129 srna,
"Movie tracking camera data",
"Match-moving camera data for tracking");
1153 prop,
"rna_trackingCamera_focal_mm_get",
"rna_trackingCamera_focal_mm_set",
NULL);
1187 prop,
"K1",
"First coefficient of third order polynomial radial distortion");
1195 prop,
"K2",
"Second coefficient of third order polynomial radial distortion");
1203 prop,
"K3",
"Third coefficient of third order polynomial radial distortion");
1237 prop,
"K1",
"First coefficient of fourth order Brown-Conrady radial distortion");
1244 prop,
"K2",
"Second coefficient of fourth order Brown-Conrady radial distortion");
1251 prop,
"K3",
"Third coefficient of fourth order Brown-Conrady radial distortion");
1258 prop,
"K4",
"Fourth coefficient of fourth order Brown-Conrady radial distortion");
1265 prop,
"P1",
"First coefficient of second order Brown-Conrady tangential distortion");
1272 prop,
"P2",
"Second coefficient of second order Brown-Conrady tangential distortion");
1291 static int boundbox_dimsize[] = {2, 2};
1295 srna,
"Movie tracking marker data",
"Match-moving marker data for tracking");
1326 "Array of coordinates which represents pattern's corners in "
1327 "normalized coordinates relative to marker position");
1335 prop,
"Pattern Bounding Box",
"Pattern area bounding box in normalized coordinates");
1345 "Left-bottom corner of search area in normalized coordinates relative "
1346 "to marker position");
1356 "Right-bottom corner of search area in normalized coordinates relative "
1357 "to marker position");
1365 prop,
"Keyframed",
"Whether the position of the marker is keyframed or tracked");
1378 srna,
"Movie Tracking Markers",
"Collection of markers for movie tracking track");
1380 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingMarkers_find_frame");
1388 "Frame number to find marker for",
1396 "Get marker at exact frame number rather than get estimated marker");
1397 parm =
RNA_def_pointer(func,
"marker",
"MovieTrackingMarker",
"",
"Marker for specified frame");
1400 func =
RNA_def_function(srna,
"insert_frame",
"rna_trackingMarkers_insert_frame");
1408 "Frame number to insert marker to",
1420 "Place new marker at the given frame using specified in normalized space coordinates",
1424 parm =
RNA_def_pointer(func,
"marker",
"MovieTrackingMarker",
"",
"Newly created marker");
1427 func =
RNA_def_function(srna,
"delete_frame",
"rna_trackingMarkers_delete_frame");
1435 "Frame number to delete marker from",
1451 srna,
"Movie tracking track data",
"Match-moving track data for tracking");
1469 prop,
"Frames Limit",
"Every tracking cycle, this number of frames are tracked");
1478 prop,
"Pattern Match",
"Track pattern from given frame when tracking marker to next frame");
1487 prop,
"Margin",
"Distance from image boundary at which marker stops tracking");
1504 "Minimal value of correlation between matched pattern and reference "
1505 "that is still treated as successful tracking");
1512 prop,
"Prepass",
"Use a brute-force translation only pre-track before refinement");
1521 "Use a grease pencil data-block as a mask to use only specified areas of pattern "
1531 prop,
"Normalize",
"Normalize light intensities while tracking. Slower");
1555 prop,
"Use Green Channel",
"Use green channel from footage for tracking");
1570 prop,
"Grayscale",
"Display what the tracking algorithm sees in the preview");
1604 prop,
"rna_trackingTrack_select_get",
"rna_trackingTrack_select_set");
1647 "Color of the track in the Movie Clip Editor and the 3D viewport after a solve");
1661 prop,
NULL,
NULL,
NULL,
"rna_GPencil_datablocks_annotations_poll");
1694 srna,
"Movie Tracking Plane Marker Data",
"Match-moving plane marker data for tracking");
1711 "Array of coordinates which represents UI rectangle corners in "
1712 "frame normalized coordinates");
1732 "Movie Tracking Plane Markers",
1733 "Collection of markers for movie tracking plane track");
1735 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingPlaneMarkers_find_frame");
1743 "Frame number to find marker for",
1751 "Get plane marker at exact frame number rather than get estimated marker");
1753 func,
"plane_marker",
"MovieTrackingPlaneMarker",
"",
"Plane marker for specified frame");
1756 func =
RNA_def_function(srna,
"insert_frame",
"rna_trackingPlaneMarkers_insert_frame");
1764 "Frame number to insert marker to",
1769 func,
"plane_marker",
"MovieTrackingPlaneMarker",
"",
"Newly created plane marker");
1772 func =
RNA_def_function(srna,
"delete_frame",
"rna_trackingPlaneMarkers_delete_frame");
1780 "Frame number to delete plane marker from",
1796 srna,
"Movie tracking plane track data",
"Match-moving plane track data for tracking");
1825 prop,
"Auto Keyframe",
"Automatic keyframe insertion when moving plane corners");
1833 prop,
"Image",
"Image displayed in the track during editing in clip editor");
1854 "No interpolation, use nearest neighbor pixel"},
1859 "Simple interpolation between adjacent pixels"},
1867 srna,
"Movie tracking stabilization data",
"2D stabilization based on tracking markers");
1881 prop,
"Stabilize Rotation",
"Stabilize detected rotation around center of frame");
1889 prop,
"Stabilize Scale",
"Compensate any scale changes relative to center of rotation");
1895 "rna_tracking_stabTracks_begin",
1896 "rna_iterator_listbase_next",
1897 "rna_iterator_listbase_end",
1898 "rna_iterator_listbase_get",
1905 prop,
"Translation Tracks",
"Collection of tracks used for 2D stabilization (translation)");
1913 "rna_tracking_stabTracks_active_index_get",
1914 "rna_tracking_stabTracks_active_index_set",
1915 "rna_tracking_stabTracks_active_index_range");
1917 "Active Track Index",
1918 "Index of active track in translation stabilization tracks list");
1923 "rna_tracking_stabRotTracks_begin",
1924 "rna_iterator_listbase_next",
1925 "rna_iterator_listbase_end",
1926 "rna_iterator_listbase_get",
1933 prop,
"Rotation Tracks",
"Collection of tracks used for 2D stabilization (translation)");
1941 "rna_tracking_stabRotTracks_active_index_get",
1942 "rna_tracking_stabRotTracks_active_index_set",
1943 "rna_tracking_stabRotTracks_active_index_range");
1945 "Active Rotation Track Index",
1946 "Index of active track in rotation stabilization tracks list");
1955 "Reference point to anchor stabilization "
1956 "(other frames will be adjusted relative to this frame's position)");
1963 prop, -FLT_MAX, FLT_MAX, 1, 3);
1966 "Expected Position",
1967 "Known relative offset of original shot, will be subtracted "
1968 "(e.g. for panning shot, can be animated)");
1978 "Expected Rotation",
1979 "Rotation present on original shot, will be compensated (e.g. for deliberate tilting)");
1987 prop, 0.01f, 10.0f, 0.001f, 3);
1990 "Explicitly scale resulting frame to compensate zoom of original shot");
1998 prop,
"Autoscale",
"Automatically scale footage to cover unfilled areas when stabilizing");
2013 prop,
"Location Influence",
"Influence of stabilization algorithm on footage location");
2021 prop,
"Scale Influence",
"Influence of stabilization algorithm on footage scale");
2029 prop,
"Rotation Influence",
"Influence of stabilization algorithm on footage rotation");
2039 "Interpolation to use for sub-pixel shifts and rotations due to stabilization");
2047 prop,
"Show Tracks",
"Show UI list of tracks participating in stabilization");
2058 "Movie tracking reconstructed camera data",
2059 "Match-moving reconstructed camera data from tracker");
2091 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingCameras_find_frame");
2100 "Frame number to find camera for",
2104 func,
"camera",
"MovieReconstructedCamera",
"",
"Camera for a given frame");
2107 func =
RNA_def_function(srna,
"matrix_from_frame",
"rna_trackingCameras_matrix_from_frame");
2116 "Frame number to find camera for",
2127 "Interpolated camera matrix for a given frame",
2143 srna,
"Movie tracking reconstruction data",
"Match-moving reconstruction data from tracker");
2150 prop,
"Reconstructed",
"Is tracking data contains valid reconstruction information");
2187 "Frame number to add track on",
2190 parm =
RNA_def_pointer(func,
"track",
"MovieTrackingTrack",
"",
"Newly created track");
2197 prop,
"rna_tracking_active_track_get",
"rna_tracking_active_track_set",
NULL,
NULL);
2217 "rna_tracking_active_plane_track_get",
2218 "rna_tracking_active_plane_track_set",
2223 prop,
"Active Plane Track",
"Active plane track in this tracking data object");
2247 "Frame number to add tracks on",
2250 parm =
RNA_def_pointer(func,
"track",
"MovieTrackingTrack",
"",
"Newly created track");
2257 prop,
"rna_tracking_active_track_get",
"rna_tracking_active_track_set",
NULL,
NULL);
2275 "rna_tracking_active_plane_track_get",
2276 "rna_tracking_active_plane_track_set",
2290 srna,
"Movie tracking object data",
"Match-moving object tracking and reconstruction data");
2310 "rna_trackingObject_tracks_begin",
2311 "rna_iterator_listbase_next",
2312 "rna_iterator_listbase_end",
2313 "rna_iterator_listbase_get",
2325 "rna_trackingObject_plane_tracks_begin",
2326 "rna_iterator_listbase_next",
2327 "rna_iterator_listbase_end",
2328 "rna_iterator_listbase_get",
2335 prop,
"Plane Tracks",
"Collection of plane tracks in this tracking data object");
2358 prop,
"Keyframe A",
"First keyframe used for reconstruction initialization");
2366 prop,
"Keyframe B",
"Second keyframe used for reconstruction initialization");
2387 parm =
RNA_def_pointer(func,
"object",
"MovieTrackingObject",
"",
"New motion tracking object");
2394 func,
"object",
"MovieTrackingObject",
"",
"Motion tracking object to be removed");
2402 prop,
"rna_tracking_active_object_get",
"rna_tracking_active_object_set",
NULL,
NULL);
2418 "Sort channels by longest tracked segment"},
2423 "Sort channels by overall amount of tracked segments"},
2428 "Sort channels by average reprojection error of tracks after solve"},
2442 prop,
"Dopesheet Sort Field",
"Method to be used to sort channels in dopesheet view");
2449 prop,
"Invert Dopesheet Sort",
"Invert sort order of dopesheet channels");
2456 prop,
"Only Show Selected",
"Only include channels relating to selected objects and data");
2464 prop,
"Display Hidden",
"Include channels from objects/bone that aren't visible");
2503 "rna_trackingTracks_begin",
2504 "rna_iterator_listbase_next",
2505 "rna_iterator_listbase_end",
2506 "rna_iterator_listbase_get",
2518 "rna_trackingPlaneTracks_begin",
2519 "rna_iterator_listbase_next",
2520 "rna_iterator_listbase_end",
2521 "rna_iterator_listbase_get",
2528 prop,
"Plane Tracks",
"Collection of plane tracks in this tracking data object");
2542 "rna_trackingObjects_begin",
2543 "rna_iterator_listbase_next",
2544 "rna_iterator_listbase_end",
2545 "rna_iterator_listbase_get",
2559 "rna_tracking_active_object_index_get",
2560 "rna_tracking_active_object_index_set",
2561 "rna_tracking_active_object_index_range");
typedef float(TangentPoint)[2]
struct AnimData * BKE_animdata_from_id(const struct ID *id)
void BKE_animdata_fix_paths_rename(struct ID *owner_id, struct AnimData *adt, struct ID *ref_id, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths)
void BKE_movieclip_get_size(struct MovieClip *clip, struct MovieClipUser *user, int *width, int *height)
void BKE_ntree_update_tag_id_changed(struct Main *bmain, struct ID *id)
void BKE_ntree_update_main(struct Main *bmain, struct NodeTreeUpdateExtraParams *params)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
struct MovieTrackingPlaneTrack * BKE_tracking_plane_track_get_active(struct MovieTracking *tracking)
void BKE_tracking_plane_marker_delete(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct ListBase * BKE_tracking_find_tracks_list_for_track(struct MovieTracking *tracking, const struct MovieTrackingTrack *track)
bool BKE_tracking_object_delete(struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct ListBase * BKE_tracking_get_active_tracks(struct MovieTracking *tracking)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_insert(struct MovieTrackingPlaneTrack *plane_track, struct MovieTrackingPlaneMarker *plane_marker)
void BKE_tracking_camera_get_reconstructed_interpolate(struct MovieTracking *tracking, struct MovieTrackingObject *object, float framenr, float mat[4][4])
struct MovieTrackingMarker * BKE_tracking_marker_insert(struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker)
struct MovieTrackingObject * BKE_tracking_object_add(struct MovieTracking *tracking, const char *name)
struct MovieReconstructedCamera * BKE_tracking_camera_get_reconstructed(struct MovieTracking *tracking, struct MovieTrackingObject *object, int framenr)
void BKE_tracking_get_rna_path_for_track(const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_len)
#define TRACK_SELECTED(track)
void BKE_tracking_plane_track_unique_name(struct ListBase *plane_tracks_base, struct MovieTrackingPlaneTrack *plane_track)
void BKE_tracking_get_rna_path_prefix_for_track(const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_len)
void BKE_tracking_track_unique_name(struct ListBase *tracksbase, struct MovieTrackingTrack *track)
void BKE_tracking_object_unique_name(struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct MovieTrackingTrack * BKE_tracking_track_get_active(struct MovieTracking *tracking)
void BKE_tracking_dopesheet_tag_update(struct MovieTracking *tracking)
struct MovieTrackingMarker * BKE_tracking_marker_get_exact(struct MovieTrackingTrack *track, int framenr)
struct ListBase * BKE_tracking_get_active_plane_tracks(struct MovieTracking *tracking)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get_exact(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct ListBase * BKE_tracking_find_tracks_list_for_plane_track(struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track)
void BKE_tracking_get_rna_path_for_plane_track(const struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track, char *rna_path, size_t rna_path_len)
void BKE_tracking_distortion_free(struct MovieDistortion *distortion)
void BKE_tracking_marker_clamp_search_size(struct MovieTrackingMarker *marker)
struct ListBase * BKE_tracking_object_get_tracks(struct MovieTracking *tracking, struct MovieTrackingObject *object)
void BKE_tracking_get_rna_path_prefix_for_plane_track(const struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track, char *rna_path, size_t rna_path_len)
void BKE_tracking_marker_pattern_minmax(const struct MovieTrackingMarker *marker, float min[2], float max[2])
struct MovieTrackingTrack * BKE_tracking_track_add(struct MovieTracking *tracking, struct ListBase *tracksbase, float x, float y, int framenr, int width, int height)
struct ListBase * BKE_tracking_object_get_plane_tracks(struct MovieTracking *tracking, struct MovieTrackingObject *object)
struct MovieTrackingMarker * BKE_tracking_marker_get(struct MovieTrackingTrack *track, int framenr)
void BKE_tracking_marker_delete(struct MovieTrackingTrack *track, int framenr)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_ii(int a, int b)
MINLINE void copy_v2_v2(float r[2], const float a[2])
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
void DEG_id_tag_update(struct ID *id, int flag)
#define DNA_struct_default_get(struct_name)
Object is a sort of wrapper for general info.
@ TRACKING_CLEAN_DELETE_SEGMENT
@ TRACKING_CLEAN_DELETE_TRACK
@ TRACKING_SPEED_REALTIME
@ TRACKING_SHOW_STAB_TRACKS
@ TRACKING_STABILIZE_SCALE
@ TRACKING_STABILIZE_ROTATION
@ TRACKING_2D_STABILIZATION
@ TRACKING_FILTER_BICUBIC
@ TRACKING_FILTER_NEAREST
@ TRACKING_FILTER_BILINEAR
@ TRACK_ALGORITHM_FLAG_USE_NORMALIZATION
@ TRACK_ALGORITHM_FLAG_USE_BRUTE
@ TRACK_ALGORITHM_FLAG_USE_MASK
@ REFINE_TANGENTIAL_DISTORTION
@ REFINE_RADIAL_DISTORTION
@ TRACK_PREVIEW_GRAYSCALE
@ TRACKING_DISTORTION_MODEL_DIVISION
@ TRACKING_DISTORTION_MODEL_POLYNOMIAL
@ TRACKING_DISTORTION_MODEL_NUKE
@ TRACKING_DISTORTION_MODEL_BROWN
@ TRACKING_USE_KEYFRAME_SELECTION
@ TRACKING_DOPE_SELECTED_ONLY
@ TRACKING_DOPE_SORT_INVERSE
@ TRACKING_DOPE_SHOW_HIDDEN
@ 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
@ TRACKING_DOPE_SORT_START
@ TRACKING_DOPE_SORT_AVERAGE_ERROR
@ TRACKING_DOPE_SORT_LONGEST
@ TRACKING_DOPE_SORT_NAME
@ TRACKING_DOPE_SORT_TOTAL
@ TRACK_MATCH_PREVIOS_FRAME
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
Read Guarded memory(de)allocation.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between camera
#define RNA_POINTER_INVALIDATE(ptr)
#define RNA_TRANSLATION_PREC_DEFAULT
const vector< Marker > & markers
const ProjectiveReconstruction & reconstruction
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
PropertyRNA * RNA_def_float_matrix(StructOrFunctionRNA *cont_, const char *identifier, int rows, int columns, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
const int rna_matrix_dimsize_4x2[]
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_function_output(FunctionRNA *UNUSED(func), PropertyRNA *ret)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
static const EnumPropertyItem pattern_match_items[]
static void rna_def_trackingTracks(BlenderRNA *brna)
static void rna_def_trackingMarker(BlenderRNA *brna)
static void rna_def_trackingTrack(BlenderRNA *brna)
static void rna_def_tracking(BlenderRNA *brna)
static void rna_def_trackingStabilization(BlenderRNA *brna)
static const EnumPropertyItem tracker_motion_model[]
static void rna_def_trackingPlaneTrack(BlenderRNA *brna)
static void rna_def_trackingSettings(BlenderRNA *brna)
static void rna_def_trackingReconstructedCameras(BlenderRNA *brna)
static void rna_def_trackingPlaneMarkers(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_trackingObjectPlaneTracks(BlenderRNA *brna)
static void rna_def_trackingPlaneTracks(BlenderRNA *brna)
static void rna_def_trackingObjectTracks(BlenderRNA *brna)
static void rna_def_trackingCamera(BlenderRNA *brna)
void RNA_def_tracking(BlenderRNA *brna)
static void rna_def_trackingMarkers(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_trackingObjects(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_trackingPlaneMarker(BlenderRNA *brna)
static void rna_def_reconstructedCamera(BlenderRNA *brna)
static void rna_def_trackingReconstruction(BlenderRNA *brna)
static void rna_def_trackingObject(BlenderRNA *brna)
static void rna_def_trackingDopesheet(BlenderRNA *brna)
struct MovieTracking tracking
float pattern_corners[4][2]
MovieTrackingReconstruction reconstruction
struct MovieTrackingObject * next
struct MovieTrackingPlaneTrack * next
MovieTrackingPlaneMarker * markers
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
MovieTrackingReconstruction reconstruction
MovieTrackingPlaneTrack * act_plane_track
MovieTrackingDopesheet dopesheet
MovieTrackingTrack * act_track
MovieTrackingStabilization stabilization
MovieTrackingCamera camera
void WM_main_add_notifier(unsigned int type, void *reference)