49static std::optional<std::string> rna_tracking_path(
const PointerRNA * )
54static std::optional<std::string> rna_trackingSettings_path(
const PointerRNA * )
56 return "tracking.settings";
59static void rna_tracking_defaultSettings_patternUpdate(
Main * ,
72static void rna_tracking_defaultSettings_searchUpdate(
Main * ,
85static std::optional<std::string> rna_trackingTrack_path(
const PointerRNA *
ptr)
127static int rna_tracking_active_object_index_get(
PointerRNA *
ptr)
131 return clip->tracking.objectnr;
134static void rna_tracking_active_object_index_set(
PointerRNA *
ptr,
int value)
138 clip->tracking.objectnr = value;
142static void rna_tracking_active_object_index_range(
148 *
max =
max_ii(0, clip->tracking.tot_object - 1);
172 "Track '%s' is not found in the tracking object %s",
174 tracking_object->
name);
187static void rna_tracking_active_plane_track_set(
PointerRNA *
ptr,
202 "Plane track '%s' is not found in the tracking object %s",
204 tracking_object->
name);
216static void rna_tracking_object_active_track_set(
PointerRNA *
ptr,
230 "Track '%s' is not found in the tracking object %s",
232 tracking_object->
name);
244static void rna_tracking_object_active_plane_track_set(
PointerRNA *
ptr,
258 "Plane track '%s' is not found in the tracking object %s",
260 tracking_object->
name);
264static void rna_trackingTrack_name_set(
PointerRNA *
ptr,
const char *value)
271 char old_name[
sizeof(track->
name)];
278 if (adt !=
nullptr) {
279 char rna_path_prefix[
MAX_NAME * 2 + 64];
281 &clip->tracking, track, rna_path_prefix,
sizeof(rna_path_prefix));
283 &clip->id, adt,
nullptr, rna_path_prefix, old_name, track->
name, 0, 0, 1);
294static void rna_trackingTrack_select_set(
PointerRNA *
ptr,
bool value)
310static void rna_trackingPlaneMarker_frame_set(
PointerRNA *
ptr,
int value)
319 if (plane_marker >= plane_track->
markers &&
320 plane_marker < plane_track->markers + plane_track->
markersnr)
322 plane_track_of_marker = plane_track;
327 if (plane_track_of_marker) {
332 if (plane_track_of_marker) {
334 new_plane_marker.
framenr = value;
341static std::optional<std::string> rna_trackingPlaneTrack_path(
const PointerRNA *
ptr)
348 &clip->tracking, plane_track, rna_path,
sizeof(rna_path));
352static void rna_trackingPlaneTrack_name_set(
PointerRNA *
ptr,
const char *value)
359 char old_name[
sizeof(plane_track->
name)];
366 if (adt !=
nullptr) {
369 &clip->tracking, plane_track, rna_path,
sizeof(rna_path));
371 &clip->id, adt,
nullptr, rna_path, old_name, plane_track->
name, 0, 0, 1);
375static std::optional<std::string> rna_trackingCamera_path(
const PointerRNA * )
377 return "tracking.camera";
384 float val =
camera->focal;
386 if (clip->lastsize[0]) {
387 val = val *
camera->sensor_width /
float(clip->lastsize[0]);
393static void rna_trackingCamera_focal_mm_set(
PointerRNA *
ptr,
float value)
398 if (clip->lastsize[0]) {
399 value = clip->lastsize[0] * value /
camera->sensor_width;
402 if (value >= 0.0001f) {
407static void rna_trackingCamera_principal_point_pixels_get(
PointerRNA *
ptr,
408 float *r_principal_point_pixels)
414static void rna_trackingCamera_principal_point_pixels_set(
PointerRNA *
ptr,
415 const float *principal_point_pixels)
421static std::optional<std::string> rna_trackingStabilization_path(
const PointerRNA * )
423 return "tracking.stabilization";
455static int rna_tracking_stabTracks_active_index_get(
PointerRNA *
ptr)
458 return clip->tracking.stabilization.act_track;
461static void rna_tracking_stabTracks_active_index_set(
PointerRNA *
ptr,
int value)
464 clip->tracking.stabilization.act_track = value;
467static void rna_tracking_stabTracks_active_index_range(
473 *
max =
max_ii(0, clip->tracking.stabilization.tot_track - 1);
481 iter, &tracking_camera_object->
tracks, rna_track_2d_stabilization_rotation);
484static int rna_tracking_stabRotTracks_active_index_get(
PointerRNA *
ptr)
487 return clip->tracking.stabilization.act_rot_track;
490static void rna_tracking_stabRotTracks_active_index_set(
PointerRNA *
ptr,
int value)
493 clip->tracking.stabilization.act_rot_track = value;
496static void rna_tracking_stabRotTracks_active_index_range(
502 *
max =
max_ii(0, clip->tracking.stabilization.tot_rot_track - 1);
552 BLI_findlink(&clip->tracking.objects, clip->tracking.objectnr));
566 clip->tracking.objectnr =
index;
569 clip->tracking.objectnr = 0;
573static void rna_trackingObject_name_set(
PointerRNA *
ptr,
const char *value)
591static void rna_trackingMarker_frame_set(
PointerRNA *
ptr,
int value)
600 if (marker >= track->
markers && marker < track->markers + track->
markersnr) {
601 track_of_marker = track;
606 if (track_of_marker) {
611 if (track_of_marker) {
634static void rna_tracking_markerPattern_boundbox_get(
PointerRNA *
ptr,
float *values)
645static std::optional<std::string> rna_trackingDopesheet_path(
const PointerRNA * )
647 return "tracking.dopesheet";
673 if (name && name[0]) {
689 clip, tracking, &tracking_camera_object->
tracks, name, frame);
716 return tracking_object;
719static void rna_trackingObject_remove(
MovieTracking *tracking,
752 memset(&marker, 0,
sizeof(marker));
798 memset(&plane_marker, 0,
sizeof(plane_marker));
799 plane_marker.
framenr = framenr;
811 return new_plane_marker;
831 return tracking_object;
843 MovieTrackingObject *tracking_object = find_object_for_reconstruction(tracking, reconstruction);
847static void rna_trackingCameras_matrix_from_frame(
ID *
id,
856 MovieTrackingObject *tracking_object = find_object_for_reconstruction(tracking, reconstruction);
859 memcpy(matrix, mat,
sizeof(
float[4][4]));
869 "Search for markers that are perspectively deformed (homography) between frames"},
874 "Search for markers that are affine-deformed (t, r, k, and skew) between frames"},
878 "Location, Rotation & Scale",
879 "Search for markers that are translated, rotated, and scaled between frames"},
884 "Search for markers that are translated and scaled between frames"},
888 "Location & Rotation",
889 "Search for markers that are translated and rotated between frames"},
894 "Search for markers that are translated between frames"},
895 {0,
nullptr, 0,
nullptr,
nullptr},
904 "Track pattern from current frame to next frame"},
905 {0,
nullptr, 0,
nullptr,
nullptr},
914 {0,
"FASTEST", 0,
"Fastest",
"Track as fast as possible"},
919 {0,
nullptr, 0,
nullptr,
nullptr},
929 "Delete unclean segments of tracks"},
930 {0,
nullptr, 0,
nullptr,
nullptr},
943 "Limit speed of tracking to make visual feedback easier "
944 "(this does not affect the tracking quality)");
952 "Keyframe Selection",
953 "Automatically select keyframes when solving camera/object motion");
961 prop,
"Refine Focal Length",
"Refine focal length during camera solving");
967 prop,
"Refine Principal Point",
"Refine principal point during camera solving");
975 "Refine radial coefficients of distortion model during camera solving");
985 "Refine tangential coefficients of distortion model during camera solving");
995 prop,
"Distance",
"Distance between two bundles used for scene scaling");
1005 "Effect on tracks which are tracked less than the specified amount of frames");
1013 prop,
"Reprojection Error",
"Effect on tracks which have a larger re-projection error");
1029 "Use special solver to track a stable camera position, such as a tripod");
1037 prop,
"Frames Limit",
"Every tracking cycle, this number of frames are tracked");
1045 prop,
"Pattern Match",
"Track pattern from given frame when tracking marker to next frame");
1053 prop,
"Margin",
"Default distance from image boundary at which marker stops tracking");
1066 prop,
"Prepass",
"Use a brute-force translation-only initialization when tracking");
1076 "Use a grease pencil data-block as a mask to use only specified areas of pattern "
1085 prop,
"Normalize",
"Normalize light intensities while tracking (slower)");
1097 "Default minimum value of correlation between matched pattern and reference "
1098 "that is still treated as successful tracking");
1126 prop,
"Use Green Channel",
"Use green channel from footage for tracking");
1146 prop,
"Distance",
"Distance between two bundles used for object scaling");
1162 "Radial distortion model which fits common cameras"},
1167 "Division distortion model which "
1168 "better represents wide-angle cameras"},
1171 {0,
nullptr, 0,
nullptr,
nullptr},
1175 {
CAMERA_UNITS_PX,
"PIXELS", 0,
"px",
"Use pixels for units of focal length"},
1176 {
CAMERA_UNITS_MM,
"MILLIMETERS", 0,
"mm",
"Use millimeters for units of focal length"},
1177 {0,
nullptr, 0,
nullptr,
nullptr},
1183 srna,
"Movie tracking camera data",
"Match-moving camera data for tracking");
1207 prop,
"rna_trackingCamera_focal_mm_get",
"rna_trackingCamera_focal_mm_set",
nullptr);
1242 "rna_trackingCamera_principal_point_pixels_get",
1243 "rna_trackingCamera_principal_point_pixels_set",
1254 prop,
"K1",
"First coefficient of third order polynomial radial distortion");
1262 prop,
"K2",
"Second coefficient of third order polynomial radial distortion");
1270 prop,
"K3",
"Third coefficient of third order polynomial radial distortion");
1304 prop,
"K1",
"First coefficient of fourth order Brown-Conrady radial distortion");
1311 prop,
"K2",
"Second coefficient of fourth order Brown-Conrady radial distortion");
1318 prop,
"K3",
"Third coefficient of fourth order Brown-Conrady radial distortion");
1325 prop,
"K4",
"Fourth coefficient of fourth order Brown-Conrady radial distortion");
1332 prop,
"P1",
"First coefficient of second order Brown-Conrady tangential distortion");
1339 prop,
"P2",
"Second coefficient of second order Brown-Conrady tangential distortion");
1358 static int boundbox_dimsize[] = {2, 2};
1362 srna,
"Movie tracking marker data",
"Match-moving marker data for tracking");
1393 "Array of coordinates which represents pattern's corners in "
1394 "normalized coordinates relative to marker position");
1402 prop,
"Pattern Bounding Box",
"Pattern area bounding box in normalized coordinates");
1412 "Left-bottom corner of search area in normalized coordinates relative "
1413 "to marker position");
1423 "Right-bottom corner of search area in normalized coordinates relative "
1424 "to marker position");
1432 prop,
"Keyframed",
"Whether the position of the marker is keyframed or tracked");
1445 srna,
"Movie Tracking Markers",
"Collection of markers for movie tracking track");
1447 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingMarkers_find_frame");
1455 "Frame number to find marker for",
1463 "Get marker at exact frame number rather than get estimated marker");
1464 parm =
RNA_def_pointer(func,
"marker",
"MovieTrackingMarker",
"",
"Marker for specified frame");
1467 func =
RNA_def_function(srna,
"insert_frame",
"rna_trackingMarkers_insert_frame");
1475 "Frame number to insert marker to",
1487 "Place new marker at the given frame using specified in normalized space coordinates",
1491 parm =
RNA_def_pointer(func,
"marker",
"MovieTrackingMarker",
"",
"Newly created marker");
1494 func =
RNA_def_function(srna,
"delete_frame",
"rna_trackingMarkers_delete_frame");
1502 "Frame number to delete marker from",
1518 srna,
"Movie tracking track data",
"Match-moving track data for tracking");
1536 prop,
"Frames Limit",
"Every tracking cycle, this number of frames are tracked");
1545 prop,
"Pattern Match",
"Track pattern from given frame when tracking marker to next frame");
1554 prop,
"Margin",
"Distance from image boundary at which marker stops tracking");
1571 "Minimal value of correlation between matched pattern and reference "
1572 "that is still treated as successful tracking");
1579 prop,
"Prepass",
"Use a brute-force translation only pre-track before refinement");
1588 "Use a grease pencil data-block as a mask to use only specified areas of pattern "
1598 prop,
"Normalize",
"Normalize light intensities while tracking (Slower)");
1622 prop,
"Use Green Channel",
"Use green channel from footage for tracking");
1637 prop,
"Grayscale",
"Display what the tracking algorithm sees in the preview");
1671 prop,
"rna_trackingTrack_select_get",
"rna_trackingTrack_select_set");
1714 "Color of the track in the Movie Clip Editor and the 3D viewport after a solve");
1728 prop,
nullptr,
nullptr,
nullptr,
"rna_GPencil_datablocks_annotations_poll");
1759 srna =
RNA_def_struct(brna,
"MovieTrackingPlaneMarker",
nullptr);
1761 srna,
"Movie Tracking Plane Marker Data",
"Match-moving plane marker data for tracking");
1778 "Array of coordinates which represents UI rectangle corners in "
1779 "frame normalized coordinates");
1796 srna =
RNA_def_struct(brna,
"MovieTrackingPlaneMarkers",
nullptr);
1799 "Movie Tracking Plane Markers",
1800 "Collection of markers for movie tracking plane track");
1802 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingPlaneMarkers_find_frame");
1810 "Frame number to find marker for",
1818 "Get plane marker at exact frame number rather than get estimated marker");
1820 func,
"plane_marker",
"MovieTrackingPlaneMarker",
"",
"Plane marker for specified frame");
1823 func =
RNA_def_function(srna,
"insert_frame",
"rna_trackingPlaneMarkers_insert_frame");
1831 "Frame number to insert marker to",
1836 func,
"plane_marker",
"MovieTrackingPlaneMarker",
"",
"Newly created plane marker");
1839 func =
RNA_def_function(srna,
"delete_frame",
"rna_trackingPlaneMarkers_delete_frame");
1847 "Frame number to delete plane marker from",
1863 srna,
"Movie tracking plane track data",
"Match-moving plane track data for tracking");
1892 prop,
"Auto Keyframe",
"Automatic keyframe insertion when moving plane corners");
1900 prop,
"Image",
"Image displayed in the track during editing in clip editor");
1921 "No interpolation, use nearest neighbor pixel"},
1926 "Simple interpolation between adjacent pixels"},
1928 {0,
nullptr, 0,
nullptr,
nullptr},
1931 srna =
RNA_def_struct(brna,
"MovieTrackingStabilization",
nullptr);
1934 srna,
"Movie tracking stabilization data",
"2D stabilization based on tracking markers");
1948 prop,
"Stabilize Rotation",
"Stabilize detected rotation around center of frame");
1956 prop,
"Stabilize Scale",
"Compensate any scale changes relative to center of rotation");
1962 "rna_tracking_stabTracks_begin",
1963 "rna_iterator_listbase_next",
1964 "rna_iterator_listbase_end",
1965 "rna_iterator_listbase_get",
1972 prop,
"Translation Tracks",
"Collection of tracks used for 2D stabilization (translation)");
1980 "rna_tracking_stabTracks_active_index_get",
1981 "rna_tracking_stabTracks_active_index_set",
1982 "rna_tracking_stabTracks_active_index_range");
1984 "Active Track Index",
1985 "Index of active track in translation stabilization tracks list");
1990 "rna_tracking_stabRotTracks_begin",
1991 "rna_iterator_listbase_next",
1992 "rna_iterator_listbase_end",
1993 "rna_iterator_listbase_get",
2000 prop,
"Rotation Tracks",
"Collection of tracks used for 2D stabilization (translation)");
2008 "rna_tracking_stabRotTracks_active_index_get",
2009 "rna_tracking_stabRotTracks_active_index_set",
2010 "rna_tracking_stabRotTracks_active_index_range");
2012 "Active Rotation Track Index",
2013 "Index of active track in rotation stabilization tracks list");
2022 "Reference point to anchor stabilization "
2023 "(other frames will be adjusted relative to this frame's position)");
2033 "Expected Position",
2034 "Known relative offset of original shot, will be subtracted "
2035 "(e.g. for panning shot, can be animated)");
2045 "Expected Rotation",
2046 "Rotation present on original shot, will be compensated (e.g. for deliberate tilting)");
2054 prop, 0.01f, 10.0f, 0.001f, 3);
2057 "Explicitly scale resulting frame to compensate zoom of original shot");
2065 prop,
"Autoscale",
"Automatically scale footage to cover unfilled areas when stabilizing");
2080 prop,
"Location Influence",
"Influence of stabilization algorithm on footage location");
2088 prop,
"Scale Influence",
"Influence of stabilization algorithm on footage scale");
2096 prop,
"Rotation Influence",
"Influence of stabilization algorithm on footage rotation");
2106 "Interpolation to use for sub-pixel shifts and rotations due to stabilization");
2114 prop,
"Show Tracks",
"Show UI list of tracks participating in stabilization");
2123 srna =
RNA_def_struct(brna,
"MovieReconstructedCamera",
nullptr);
2125 "Movie tracking reconstructed camera data",
2126 "Match-moving reconstructed camera data from tracker");
2154 srna =
RNA_def_struct(brna,
"MovieTrackingReconstructedCameras",
nullptr);
2158 func =
RNA_def_function(srna,
"find_frame",
"rna_trackingCameras_find_frame");
2167 "Frame number to find camera for",
2171 func,
"camera",
"MovieReconstructedCamera",
"",
"Camera for a given frame");
2174 func =
RNA_def_function(srna,
"matrix_from_frame",
"rna_trackingCameras_matrix_from_frame");
2183 "Frame number to find camera for",
2194 "Interpolated camera matrix for a given frame",
2209 srna =
RNA_def_struct(brna,
"MovieTrackingReconstruction",
nullptr);
2211 srna,
"Movie tracking reconstruction data",
"Match-moving reconstruction data from tracker");
2218 prop,
"Reconstructed",
"Is tracking data contains valid reconstruction information");
2248 RNA_def_string(func,
"name",
nullptr, 0,
"",
"Name of new track");
2255 "Frame number to add track on",
2258 parm =
RNA_def_pointer(func,
"track",
"MovieTrackingTrack",
"",
"Newly created track");
2265 prop,
"rna_tracking_active_track_get",
"rna_tracking_active_track_set",
nullptr,
nullptr);
2269 "Active track in this tracking data object. "
2270 "Deprecated, use objects[name].tracks.active");
2280 srna =
RNA_def_struct(brna,
"MovieTrackingPlaneTracks",
nullptr);
2290 "rna_tracking_active_plane_track_get",
2291 "rna_tracking_active_plane_track_set",
2296 "Active Plane Track",
2297 "Active plane track in this tracking data object. "
2298 "Deprecated, use objects[name].plane_tracks.active");
2309 srna =
RNA_def_struct(brna,
"MovieTrackingObjectTracks",
nullptr);
2316 RNA_def_string(func,
"name",
nullptr, 0,
"",
"Name of new track");
2323 "Frame number to add tracks on",
2326 parm =
RNA_def_pointer(func,
"track",
"MovieTrackingTrack",
"",
"Newly created track");
2333 "rna_tracking_object_active_track_get",
2334 "rna_tracking_object_active_track_set",
2348 srna =
RNA_def_struct(brna,
"MovieTrackingObjectPlaneTracks",
nullptr);
2356 "rna_tracking_object_active_plane_track_get",
2357 "rna_tracking_object_active_plane_track_set",
2373 srna,
"Movie tracking object data",
"Match-moving object tracking and reconstruction data");
2393 "rna_trackingObject_tracks_begin",
2394 "rna_iterator_listbase_next",
2395 "rna_iterator_listbase_end",
2396 "rna_iterator_listbase_get",
2408 "rna_trackingObject_plane_tracks_begin",
2409 "rna_iterator_listbase_next",
2410 "rna_iterator_listbase_end",
2411 "rna_iterator_listbase_get",
2418 prop,
"Plane Tracks",
"Collection of plane tracks in this tracking data object");
2425 prop,
"rna_trackingObject_reconstruction_get",
nullptr,
nullptr,
nullptr);
2442 prop,
"Keyframe A",
"First keyframe used for reconstruction initialization");
2450 prop,
"Keyframe B",
"Second keyframe used for reconstruction initialization");
2469 parm =
RNA_def_string(func,
"name",
nullptr, 0,
"",
"Name of new object");
2471 parm =
RNA_def_pointer(func,
"object",
"MovieTrackingObject",
"",
"New motion tracking object");
2478 func,
"object",
"MovieTrackingObject",
"",
"Motion tracking object to be removed");
2486 prop,
"rna_tracking_active_object_get",
"rna_tracking_active_object_set",
nullptr,
nullptr);
2502 "Sort channels by longest tracked segment"},
2507 "Sort channels by overall amount of tracked segments"},
2512 "Sort channels by average reprojection error of tracks after solve"},
2515 {0,
nullptr, 0,
nullptr,
nullptr},
2527 prop,
"Dopesheet Sort Field",
"Method to be used to sort channels in dopesheet view");
2534 prop,
"Invert Dopesheet Sort",
"Invert sort order of dopesheet channels");
2541 prop,
"Only Show Selected",
"Only include channels relating to selected objects and data");
2549 prop,
"Display Hidden",
"Include channels from objects/bone that are not visible");
2588 "rna_trackingTracks_begin",
2589 "rna_iterator_listbase_next",
2590 "rna_iterator_listbase_end",
2591 "rna_iterator_listbase_get",
2599 "Collection of tracks in this tracking data object. "
2600 "Deprecated, use objects[name].tracks");
2606 "rna_trackingPlaneTracks_begin",
2607 "rna_iterator_listbase_next",
2608 "rna_iterator_listbase_end",
2609 "rna_iterator_listbase_get",
2617 "Collection of plane tracks in this tracking data object. "
2618 "Deprecated, use objects[name].plane_tracks");
2629 prop,
"rna_trackingReconstruction_get",
nullptr,
nullptr,
nullptr);
2635 "rna_trackingObjects_begin",
2636 "rna_iterator_listbase_next",
2637 "rna_iterator_listbase_end",
2638 "rna_iterator_listbase_get",
2652 "rna_tracking_active_object_index_get",
2653 "rna_tracking_active_object_index_set",
2654 "rna_tracking_active_object_index_range");
AnimData * BKE_animdata_from_id(const 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, const struct MovieClipUser *user, int *r_width, int *r_height)
void BKE_ntree_update_main(Main *bmain, NodeTreeUpdateExtraParams *params)
void BKE_ntree_update_tag_id_changed(Main *bmain, ID *id)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
struct MovieTrackingObject * BKE_tracking_object_get_camera(const struct MovieTracking *tracking)
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_maxncpy)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_insert(struct MovieTrackingPlaneTrack *plane_track, struct MovieTrackingPlaneMarker *plane_marker)
void BKE_tracking_plane_marker_delete(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get_exact(struct MovieTrackingPlaneTrack *plane_track, int framenr)
void BKE_tracking_camera_principal_point_pixel_set(struct MovieClip *clip, const float principal_point_pixel[2])
#define TRACK_SELECTED(track)
void BKE_tracking_plane_track_unique_name(struct ListBase *plane_tracks_base, struct MovieTrackingPlaneTrack *plane_track)
void BKE_tracking_track_unique_name(struct ListBase *tracksbase, struct MovieTrackingTrack *track)
void BKE_tracking_get_rna_path_for_track(const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_maxncpy)
struct MovieTrackingMarker * BKE_tracking_marker_get(struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingObject * BKE_tracking_object_get_active(const struct MovieTracking *tracking)
bool BKE_tracking_object_delete(struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object)
void BKE_tracking_dopesheet_tag_update(struct MovieTracking *tracking)
struct MovieTrackingMarker * BKE_tracking_marker_get_exact(struct MovieTrackingTrack *track, int framenr)
struct MovieTrackingTrack * BKE_tracking_track_add(struct MovieTracking *tracking, struct ListBase *tracksbase, float x, float y, int framenr, int width, int height)
struct MovieTrackingObject * BKE_tracking_find_object_for_plane_track(const struct MovieTracking *tracking, const struct MovieTrackingPlaneTrack *plane_track)
void BKE_tracking_camera_principal_point_pixel_get(struct MovieClip *clip, float r_principal_point_pixel[2])
struct MovieTrackingObject * BKE_tracking_object_add(struct MovieTracking *tracking, const char *name)
void BKE_tracking_object_unique_name(struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object)
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)
void BKE_tracking_get_rna_path_prefix_for_track(const struct MovieTracking *tracking, const struct MovieTrackingTrack *track, char *rna_path, size_t rna_path_maxncpy)
void BKE_tracking_marker_pattern_minmax(const struct MovieTrackingMarker *marker, float min[2], float max[2])
struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_get(struct MovieTrackingPlaneTrack *plane_track, int framenr)
struct MovieTrackingObject * BKE_tracking_find_object_for_track(const struct MovieTracking *tracking, const struct MovieTrackingTrack *track)
struct MovieTrackingMarker * BKE_tracking_marker_insert(struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker)
struct MovieReconstructedCamera * BKE_tracking_camera_get_reconstructed(struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object, int framenr)
void BKE_tracking_marker_delete(struct MovieTrackingTrack *track, int framenr)
void BKE_tracking_camera_get_reconstructed_interpolate(struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object, float framenr, float mat[4][4])
#define LISTBASE_FOREACH(type, var, list)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) 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])
#define STRNCPY(dst, src)
#define BLT_I18NCONTEXT_ID_MOVIECLIP
void DEG_id_tag_update(ID *id, unsigned int flags)
#define DNA_struct_default_get(struct_name)
Object is a sort of wrapper for general info.
@ TRACKING_SHOW_STAB_TRACKS
@ TRACKING_STABILIZE_SCALE
@ TRACKING_STABILIZE_ROTATION
@ TRACKING_2D_STABILIZATION
@ 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_CLEAN_DELETE_SEGMENT
@ TRACKING_CLEAN_DELETE_TRACK
@ TRACK_PREVIEW_GRAYSCALE
@ TRACK_ALGORITHM_FLAG_USE_NORMALIZATION
@ TRACK_ALGORITHM_FLAG_USE_BRUTE
@ TRACK_ALGORITHM_FLAG_USE_MASK
@ REFINE_TANGENTIAL_DISTORTION
@ REFINE_RADIAL_DISTORTION
@ TRACKING_DISTORTION_MODEL_DIVISION
@ TRACKING_DISTORTION_MODEL_POLYNOMIAL
@ TRACKING_DISTORTION_MODEL_NUKE
@ TRACKING_DISTORTION_MODEL_BROWN
@ TRACKING_DOPE_SORT_START
@ TRACKING_DOPE_SORT_AVERAGE_ERROR
@ TRACKING_DOPE_SORT_LONGEST
@ TRACKING_DOPE_SORT_NAME
@ TRACKING_DOPE_SORT_TOTAL
@ TRACKING_DOPE_SELECTED_ONLY
@ TRACKING_DOPE_SORT_INVERSE
@ TRACKING_DOPE_SHOW_HIDDEN
@ TRACKING_FILTER_BICUBIC
@ TRACKING_FILTER_NEAREST
@ TRACKING_FILTER_BILINEAR
@ TRACKING_SPEED_REALTIME
@ TRACKING_USE_KEYFRAME_SELECTION
@ TRACK_MATCH_PREVIOUS_FRAME
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 Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture 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
draw_view in_light_buf[] float
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
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)
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)
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)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
PropertyRNA * RNA_def_float_matrix(StructOrFunctionRNA *cont_, const char *identifier, const int rows, const int columns, const float *default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const float softmax)
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)
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, const int len, const float *default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const float softmax)
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[])
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
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)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
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)
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_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_function_output(FunctionRNA *, PropertyRNA *ret)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
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)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, const int default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
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]
MovieTrackingPlaneTrack * active_plane_track
MovieTrackingReconstruction reconstruction
MovieTrackingTrack * active_track
MovieTrackingPlaneMarker * markers
short default_pattern_size
short default_search_size
MovieTrackingMarker * markers
MovieTrackingCamera camera
MovieTrackingSettings settings
void WM_main_add_notifier(uint type, void *reference)