Blender
V3.3
|
#include <limits.h>
#include <math.h>
#include <memory.h>
#include <stddef.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_camera_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_bitmap_draw_2d.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_math_base.h"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_fcurve.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_movieclip.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "BKE_tracking.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "libmv-capi.h"
#include "tracking_private.h"
Go to the source code of this file.
Classes | |
struct | MovieDistortion |
struct | TrackMaskSetPixelData |
Typedefs | |
typedef struct MovieDistortion | MovieDistortion |
typedef struct TrackMaskSetPixelData | TrackMaskSetPixelData |
Variables | |
struct { | |
ListBase tracks | |
} | tracking_clipboard |
typedef struct MovieDistortion MovieDistortion |
typedef struct TrackMaskSetPixelData TrackMaskSetPixelData |
|
static |
Definition at line 920 of file tracking.c.
References add_v2_v2(), BLI_assert, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, is_finite_v2(), MARKER_DISABLED, MARKER_TRACKED, MovieTrackingMarker::pattern_corners, MovieTrackingMarker::pos, MovieTrackingMarker::search_max, and MovieTrackingMarker::search_min.
Referenced by tracking_average_markers().
MovieReconstructedCamera* BKE_tracking_camera_get_reconstructed | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object, | ||
int | framenr | ||
) |
Definition at line 2252 of file tracking.c.
References Freestyle::a, BKE_tracking_object_get_reconstruction(), NULL, reconstructed_camera_index_get(), and reconstruction.
Referenced by BKE_tracking_get_projection_matrix(), and frame_jump_exec().
void BKE_tracking_camera_get_reconstructed_interpolate | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object, | ||
float | framenr, | ||
float | mat[4][4] | ||
) |
Definition at line 2269 of file tracking.c.
References Freestyle::a, BKE_tracking_object_get_reconstruction(), blend_m4_m4m4(), copy_m4_m4(), float(), MovieReconstructedCamera::framenr, reconstructed_camera_index_get(), reconstructed_camera_scale_set(), reconstruction, t, and unit_m4().
Referenced by bundle_midpoint(), camera_view3d_reconstruction(), camerasolver_evaluate(), followtrack_evaluate_using_3d_position_object(), objectsolver_evaluate(), and snapCamera().
void BKE_tracking_camera_shift_get | ( | struct MovieTracking * | tracking, |
int | winx, | ||
int | winy, | ||
float * | shiftx, | ||
float * | shifty | ||
) |
Converts principal offset from center to offset of blender's camera.
Definition at line 2225 of file tracking.c.
References MovieTracking::camera, and MovieTrackingCamera::principal.
Referenced by BKE_tracking_camera_to_blender(), and BKE_tracking_get_projection_matrix().
void BKE_tracking_camera_to_blender | ( | MovieTracking * | tracking, |
Scene * | scene, | ||
Camera * | camera, | ||
int | width, | ||
int | height | ||
) |
Definition at line 2234 of file tracking.c.
References BKE_tracking_camera_shift_get(), MovieTracking::camera, camera, CAMERA_SENSOR_FIT_AUTO, MovieTrackingCamera::focal, height, MovieTrackingCamera::pixel_aspect, Scene::r, scene, MovieTrackingCamera::sensor_width, width, RenderData::xasp, RenderData::xsch, RenderData::yasp, and RenderData::ysch.
Referenced by solve_camera_freejob().
void BKE_tracking_clipboard_copy_tracks | ( | struct MovieTracking * | tracking, |
struct MovieTrackingObject * | object | ||
) |
Copy selected tracks from specified object to the clipboard.
Definition at line 464 of file tracking.c.
References BKE_tracking_clipboard_free(), BKE_tracking_object_get_tracks(), BKE_tracking_track_duplicate(), BLI_addtail(), ListBase::first, MovieTrackingTrack::flag, MovieTrackingTrack::next, TRACK_HIDDEN, TRACK_SELECTED, and tracking_clipboard.
Referenced by copy_tracks_exec().
Free clipboard by freeing memory used by all tracks in it.
Definition at line 448 of file tracking.c.
References BKE_tracking_track_free(), BLI_listbase_clear(), MEM_freeN, MovieTrackingTrack::next, and tracking_clipboard.
Referenced by BKE_tracking_clipboard_copy_tracks(), and WM_exit_ex().
Check whether there are any tracks in the clipboard.
Definition at line 484 of file tracking.c.
References BLI_listbase_is_empty(), and tracking_clipboard.
Referenced by paste_tracks_poll().
void BKE_tracking_clipboard_paste_tracks | ( | struct MovieTracking * | tracking, |
struct MovieTrackingObject * | object | ||
) |
Paste tracks from clipboard to specified object.
Names of new tracks in object are guaranteed to be unique here.
Definition at line 489 of file tracking.c.
References MovieTracking::act_track, BKE_tracking_object_get_tracks(), BKE_tracking_track_duplicate(), BKE_tracking_track_unique_name(), BLI_addtail(), MovieTrackingTrack::next, NULL, MovieTrackingTrack::prev, and tracking_clipboard.
Referenced by paste_tracks_exec().
void BKE_tracking_copy | ( | MovieTracking * | tracking_dst, |
const MovieTracking * | tracking_src, | ||
const int | flag | ||
) |
Definition at line 261 of file tracking.c.
References MovieTracking::act_plane_track, MovieTracking::act_track, BLI_ghash_free(), BLI_ghash_lookup(), BLI_ghash_ptr_new(), BLI_listbase_clear(), MovieTracking::camera, MovieTrackingDopesheet::channels, MovieTrackingDopesheet::coverage_segments, MovieTracking::dopesheet, ELEM, ListBase::first, MovieTrackingCamera::intrinsics, MovieTrackingPlaneTrack::next, NULL, MovieTracking::objects, MovieTrackingDopesheet::ok, MovieTracking::plane_tracks, MovieTracking::reconstruction, MovieTracking::stabilization, MovieTracking::stats, tracking_objects_copy(), tracking_plane_tracks_copy(), tracking_reconstruction_copy(), tracking_stabilization_copy(), tracking_tracks_copy(), and MovieTracking::tracks.
int BKE_tracking_count_selected_tracks_in_active_object | ( | MovieTracking * | tracking | ) |
Definition at line 650 of file tracking.c.
References BKE_tracking_count_selected_tracks_in_list(), and BKE_tracking_get_active_tracks().
Referenced by average_tracks_invoke(), and BKE_tracking_selected_tracks_in_active_object().
int BKE_tracking_count_selected_tracks_in_list | ( | const ListBase * | tracks_list | ) |
Definition at line 639 of file tracking.c.
References LISTBASE_FOREACH, and TRACK_SELECTED.
Referenced by BKE_tracking_count_selected_tracks_in_active_object().
void BKE_tracking_disable_channels | ( | struct ImBuf * | ibuf, |
bool | disable_red, | ||
bool | disable_green, | ||
bool | disable_blue, | ||
bool | grayscale | ||
) |
Zap channels from the imbuf that are disabled by the user. this can lead to better tracks sometimes. however, instead of simply zeroing the channels out, do a partial gray-scale conversion so the display is better.
Definition at line 2891 of file tracking.c.
References usdtokens::b(), usdtokens::g(), IB_RECT_INVALID, if(), r, ImBuf::rect, ImBuf::rect_float, ImBuf::userflags, x, ImBuf::x, y, and ImBuf::y.
Referenced by disable_imbuf_channels(), and postprocess_frame().
ImBuf* BKE_tracking_distort_frame | ( | MovieTracking * | tracking, |
ImBuf * | ibuf, | ||
int | calibration_width, | ||
int | calibration_height, | ||
float | overscan | ||
) |
Definition at line 2516 of file tracking.c.
References BKE_tracking_distortion_exec(), BKE_tracking_distortion_new(), MovieTracking::camera, camera, and NULL.
void BKE_tracking_distort_v2 | ( | MovieTracking * | tracking, |
int | image_width, | ||
int | image_height, | ||
const float | co[2], | ||
float | r_co[2] | ||
) |
Definition at line 2457 of file tracking.c.
References MovieTracking::camera, camera, libmv_cameraIntrinsicsApply(), libmv_cameraIntrinsicsDestroy(), libmv_cameraIntrinsicsNew(), MovieTrackingCamera::pixel_aspect, tracking_cameraIntrinscisOptionsFromTracking(), x, and y.
Referenced by BKE_tracking_max_distortion_delta_across_bound(), calculate_reprojection_error_at_marker(), draw_distortion(), draw_tracking_tracks(), and ED_clip_point_stable_pos().
MovieDistortion* BKE_tracking_distortion_copy | ( | MovieDistortion * | distortion | ) |
Definition at line 2347 of file tracking.c.
References MovieDistortion::intrinsics, libmv_cameraIntrinsicsCopy(), and MEM_callocN.
Referenced by local_merge(), and blender::nodes::node_composite_moviedistortion_cc::storage_copy().
void BKE_tracking_distortion_distort_v2 | ( | MovieDistortion * | distortion, |
const float | co[2], | ||
float | r_co[2] | ||
) |
Definition at line 2420 of file tracking.c.
References MovieDistortion::focal, MovieDistortion::intrinsics, libmv_cameraIntrinsicsApply(), MovieDistortion::pixel_aspect, MovieDistortion::principal, x, and y.
Referenced by blender::compositor::MovieDistortionOperation::execute_pixel_sampled().
ImBuf* BKE_tracking_distortion_exec | ( | MovieDistortion * | distortion, |
MovieTracking * | tracking, | ||
ImBuf * | ibuf, | ||
int | calibration_width, | ||
int | calibration_height, | ||
float | overscan, | ||
bool | undistort | ||
) |
Definition at line 2358 of file tracking.c.
References BKE_tracking_distortion_update(), ImBuf::channels, IMB_dupImBuf(), imb_freerectImBuf(), MovieDistortion::intrinsics, libmv_cameraIntrinsicsDistortByte(), libmv_cameraIntrinsicsDistortFloat(), libmv_cameraIntrinsicsUndistortByte(), libmv_cameraIntrinsicsUndistortFloat(), ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
Referenced by BKE_tracking_distort_frame(), BKE_tracking_undistort_frame(), and get_undistorted_ibuf().
void BKE_tracking_distortion_free | ( | MovieDistortion * | distortion | ) |
Definition at line 2450 of file tracking.c.
References MovieDistortion::intrinsics, libmv_cameraIntrinsicsDestroy(), and MEM_freeN.
Referenced by BKE_tracking_free(), blender::compositor::MovieDistortionOperation::deinit_execution(), do_movie_proxy(), do_sequence_proxy(), local_merge(), and blender::nodes::node_composite_moviedistortion_cc::storage_free().
MovieDistortion* BKE_tracking_distortion_new | ( | MovieTracking * | tracking, |
int | calibration_width, | ||
int | calibration_height | ||
) |
Definition at line 2303 of file tracking.c.
References MovieTracking::camera, camera, copy_v2_v2(), MovieDistortion::focal, MovieDistortion::intrinsics, libmv_cameraIntrinsicsNew(), MEM_callocN, MovieDistortion::pixel_aspect, MovieDistortion::principal, and tracking_cameraIntrinscisOptionsFromTracking().
Referenced by BKE_tracking_distort_frame(), BKE_tracking_undistort_frame(), do_movie_proxy(), do_sequence_proxy(), and blender::compositor::MovieDistortionOperation::init_execution().
void BKE_tracking_distortion_set_threads | ( | MovieDistortion * | distortion, |
int | threads | ||
) |
Definition at line 2342 of file tracking.c.
References MovieDistortion::intrinsics, libmv_cameraIntrinsicsSetThreads(), and blender::compositor::threads.
Referenced by do_movie_proxy().
void BKE_tracking_distortion_undistort_v2 | ( | MovieDistortion * | distortion, |
const float | co[2], | ||
float | r_co[2] | ||
) |
Definition at line 2438 of file tracking.c.
References float(), MovieDistortion::focal, MovieDistortion::intrinsics, libmv_cameraIntrinsicsInvert(), MovieDistortion::pixel_aspect, MovieDistortion::principal, x, and y.
Referenced by blender::compositor::MovieDistortionOperation::execute_pixel_sampled().
void BKE_tracking_distortion_update | ( | MovieDistortion * | distortion, |
MovieTracking * | tracking, | ||
int | calibration_width, | ||
int | calibration_height | ||
) |
Definition at line 2324 of file tracking.c.
References MovieTracking::camera, camera, copy_v2_v2(), MovieDistortion::focal, MovieDistortion::intrinsics, libmv_cameraIntrinsicsUpdate(), MovieDistortion::pixel_aspect, MovieDistortion::principal, and tracking_cameraIntrinscisOptionsFromTracking().
Referenced by BKE_tracking_distortion_exec().
void BKE_tracking_dopesheet_tag_update | ( | struct MovieTracking * | tracking | ) |
Tag dope-sheet for update, actual update will happen later when it'll be actually needed.
Definition at line 3411 of file tracking.c.
References MovieTracking::dopesheet, and MovieTrackingDopesheet::ok.
Referenced by BKE_autotrack_context_sync(), BKE_tracking_object_add(), BKE_tracking_object_delete(), BKE_tracking_reconstruction_finish(), BKE_tracking_tracks_join(), box_select_exec(), circle_select_exec(), clean_tracks_exec(), clear_track_path_exec(), detect_features_exec(), do_lasso_select_marker(), hide_tracks_clear_exec(), hide_tracks_exec(), movieclip_eval_update_generic(), select_all_exec(), select_exec(), and select_grouped_exec().
void BKE_tracking_dopesheet_update | ( | struct MovieTracking * | tracking | ) |
Do dope-sheet update, if update is not needed nothing will happen.
Definition at line 3418 of file tracking.c.
References MovieTracking::dopesheet, MovieTrackingDopesheet::flag, inverse(), MovieTrackingDopesheet::ok, MovieTrackingDopesheet::sort_method, TRACKING_DOPE_SORT_INVERSE, tracking_dopesheet_calc_coverage(), tracking_dopesheet_channels_calc(), tracking_dopesheet_channels_sort(), and tracking_dopesheet_free().
Referenced by clip_channels_region_draw(), and dopesheet_region_draw().
MovieTrackingObject* BKE_tracking_find_object_for_plane_track | ( | const MovieTracking * | tracking, |
const MovieTrackingPlaneTrack * | plane_track | ||
) |
Definition at line 3468 of file tracking.c.
References BLI_findindex(), ListBase::first, MovieTrackingObject::next, NULL, MovieTracking::objects, MovieTrackingObject::plane_tracks, and MovieTracking::plane_tracks.
Referenced by BKE_tracking_find_tracks_list_for_plane_track(), BKE_tracking_get_rna_path_for_plane_track(), and BKE_tracking_get_rna_path_prefix_for_plane_track().
MovieTrackingObject* BKE_tracking_find_object_for_track | ( | const MovieTracking * | tracking, |
const MovieTrackingTrack * | track | ||
) |
Definition at line 3441 of file tracking.c.
References BLI_findindex(), ListBase::first, MovieTrackingObject::next, NULL, MovieTracking::objects, MovieTrackingObject::tracks, and MovieTracking::tracks.
Referenced by BKE_tracking_find_tracks_list_for_track(), BKE_tracking_get_rna_path_for_track(), and BKE_tracking_get_rna_path_prefix_for_track().
ListBase* BKE_tracking_find_tracks_list_for_plane_track | ( | MovieTracking * | tracking, |
const MovieTrackingPlaneTrack * | plane_track | ||
) |
Definition at line 3485 of file tracking.c.
References BKE_tracking_find_object_for_plane_track(), NULL, and MovieTracking::plane_tracks.
ListBase* BKE_tracking_find_tracks_list_for_track | ( | MovieTracking * | tracking, |
const MovieTrackingTrack * | track | ||
) |
Definition at line 3458 of file tracking.c.
References BKE_tracking_find_object_for_track(), NULL, and MovieTracking::tracks.
void BKE_tracking_free | ( | struct MovieTracking * | tracking | ) |
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.
Definition at line 150 of file tracking.c.
References BKE_tracking_distortion_free(), MovieTracking::camera, MovieTracking::dopesheet, MovieTrackingCamera::intrinsics, MovieTracking::objects, MovieTracking::plane_tracks, MovieTracking::reconstruction, tracking_dopesheet_free(), tracking_objects_free(), tracking_plane_tracks_free(), tracking_reconstruction_free(), tracking_tracks_free(), and MovieTracking::tracks.
Referenced by movie_clip_free_data().
ListBase* BKE_tracking_get_active_plane_tracks | ( | struct MovieTracking * | tracking | ) |
Get list base of active object's plane tracks.
Definition at line 357 of file tracking.c.
References BKE_tracking_object_get_active(), MovieTrackingObject::flag, MovieTracking::plane_tracks, and TRACKING_OBJECT_CAMERA.
Referenced by add_marker(), apply_mouse_slide(), average_tracks_exec(), BKE_autotrack_context_finish(), BKE_tracking_plane_track_get_active(), BKE_tracking_plane_tracks_remove_point_track(), BKE_tracking_plane_tracks_replace_point_track(), box_select_exec(), circle_select_exec(), clip_delete_plane_track(), create_plane_track_tracks_exec(), createTransTrackingTracksData(), delete_marker_exec(), delete_track_exec(), do_lasso_select_marker(), draw_tracking_tracks(), ED_clip_select_all(), hide_tracks_clear_exec(), hide_tracks_exec(), join_tracks_exec(), keyframe_set_flag(), select_exec(), special_aftertrans_update__movieclip(), and tracking_plane_marker_check_slide().
MovieTrackingReconstruction* BKE_tracking_get_active_reconstruction | ( | struct MovieTracking * | tracking | ) |
Get reconstruction data of active object.
Definition at line 368 of file tracking.c.
References BKE_tracking_object_get_active(), and BKE_tracking_object_get_reconstruction().
Referenced by clear_solution_exec(), do_set_scale(), draw_frame_curves(), draw_movieclip_cache(), solve_camera_freejob(), and solve_camera_invoke().
ListBase* BKE_tracking_get_active_tracks | ( | struct MovieTracking * | tracking | ) |
Get list base of active object's tracks.
Definition at line 346 of file tracking.c.
References BKE_tracking_object_get_active(), MovieTrackingObject::flag, TRACKING_OBJECT_CAMERA, and MovieTracking::tracks.
Referenced by add_marker(), autotrack_context_init_tracks_for_clip(), average_tracks_exec(), BKE_tracking_count_selected_tracks_in_active_object(), BKE_tracking_selected_tracks_in_active_object(), BKE_tracking_track_get_active(), box_select_exec(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), circle_select_exec(), clean_tracks_exec(), clear_solution_exec(), clear_track_path_exec(), clip_delete_track(), clip_graph_tracking_iterate(), clip_graph_tracking_values_iterate(), clip_tracking_clear_invisible_track_selection(), count_selected_bundles(), create_plane_track_tracks_exec(), createTransTrackingCurvesData(), createTransTrackingTracksData(), delete_marker_exec(), delete_track_exec(), detect_features_exec(), disable_markers_exec(), do_lasso_select_marker(), do_set_scale(), draw_tracking_tracks(), ED_clip_select_all(), hide_tracks_clear_exec(), hide_tracks_exec(), join_tracks_exec(), keyframe_set_flag(), lock_tracks_exec(), recalcData_tracking(), refine_marker_exec(), screen_ctx_selected_movieclip_tracks(), select_exec(), select_grouped_exec(), selected_tracking_boundbox(), stabilize_2d_add_exec(), stabilize_2d_remove_exec(), stabilize_2d_rotation_add_exec(), stabilize_2d_rotation_remove_exec(), stabilize_2d_rotation_select_exec(), stabilize_2d_select_exec(), track_copy_color_exec(), track_count_markers(), track_init_markers(), tracking_has_selection(), and tracking_marker_check_slide().
Get transformation matrix for a given object which is used for parenting motion tracker reconstruction to 3D world.
Definition at line 375 of file tracking.c.
References BKE_object_where_is_calc_mat4(), BLI_assert, and NULL.
Referenced by bundle_midpoint(), camera_view3d_reconstruction(), do_set_scale(), followtrack_evaluate_using_3d_position_camera(), set_axis(), set_origin_exec(), set_plane_exec(), and snapCamera().
ImBuf* BKE_tracking_get_pattern_imbuf | ( | ImBuf * | ibuf, |
MovieTrackingTrack * | track, | ||
MovieTrackingMarker * | marker, | ||
bool | anchored, | ||
bool | disable_channels | ||
) |
Definition at line 2722 of file tracking.c.
References BKE_tracking_get_search_imbuf(), BKE_tracking_marker_pattern_minmax(), BKE_tracking_sample_pattern(), IMB_freeImBuf(), NULL, ImBuf::x, and ImBuf::y.
Referenced by blender::compositor::KeyingScreenOperation::build_voronoi_triangulation().
ImBuf* BKE_tracking_get_plane_imbuf | ( | const ImBuf * | frame_ibuf, |
const MovieTrackingPlaneMarker * | plane_marker | ||
) |
Definition at line 2812 of file tracking.c.
References MovieTrackingPlaneMarker::corners, float(), ImBuf::float_colorspace, IB_rect, IB_rectfloat, IMB_allocImBuf(), libmv_samplePlanarPatchByte(), libmv_samplePlanarPatchFloat(), max_ii(), NULL, plane_marker_size_len_in_pixels(), ImBuf::rect, ImBuf::rect_colorspace, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
void BKE_tracking_get_projection_matrix | ( | struct MovieTracking * | tracking, |
struct MovieTrackingObject * | object, | ||
int | framenr, | ||
int | winx, | ||
int | winy, | ||
float | mat[4][4] | ||
) |
Get projection matrix for camera specified by given tracking object and frame number.
Definition at line 391 of file tracking.c.
References BKE_tracking_camera_get_reconstructed(), BKE_tracking_camera_shift_get(), bottom, MovieTracking::camera, camera, copy_m4_m4(), float(), MovieTrackingCamera::focal, invert_m4_m4(), left, min_ii(), mul_m4_m4m4(), perspective_m4(), MovieTrackingCamera::pixel_aspect, right, MovieTrackingCamera::sensor_width, and top.
Referenced by calculate_reprojection_error_at_marker(), and draw_tracking_tracks().
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 | ||
) |
Definition at line 3533 of file tracking.c.
References BKE_tracking_find_object_for_plane_track(), BLI_snprintf(), BLI_str_escape(), MAX_NAME, MovieTrackingPlaneTrack::name, MovieTrackingObject::name, and NULL.
Referenced by clip_delete_plane_track().
void BKE_tracking_get_rna_path_for_track | ( | const struct MovieTracking * | tracking, |
const struct MovieTrackingTrack * | track, | ||
char * | rna_path, | ||
size_t | rna_path_len | ||
) |
Definition at line 3495 of file tracking.c.
References BKE_tracking_find_object_for_track(), BLI_snprintf(), BLI_str_escape(), MAX_NAME, MovieTrackingTrack::name, MovieTrackingObject::name, and NULL.
Referenced by clip_delete_track().
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 | ||
) |
Definition at line 3555 of file tracking.c.
References BKE_tracking_find_object_for_plane_track(), BLI_snprintf(), BLI_str_escape(), BLI_strncpy(), MAX_NAME, MovieTrackingObject::name, and NULL.
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 | ||
) |
Definition at line 3517 of file tracking.c.
References BKE_tracking_find_object_for_track(), BLI_snprintf(), BLI_str_escape(), BLI_strncpy(), MAX_NAME, MovieTrackingObject::name, and NULL.
ImBuf* BKE_tracking_get_search_imbuf | ( | ImBuf * | ibuf, |
MovieTrackingTrack * | track, | ||
MovieTrackingMarker * | marker, | ||
bool | anchored, | ||
bool | disable_channels | ||
) |
Definition at line 2760 of file tracking.c.
References disable_imbuf_channels(), MovieTrackingTrack::flag, IB_rect, IB_rectfloat, IMB_allocImBuf(), IMB_rectcpy(), NULL, MovieTrackingTrack::offset, ImBuf::rect_float, MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, TRACK_DISABLE_BLUE, TRACK_DISABLE_GREEN, TRACK_DISABLE_RED, TRACK_PREVIEW_GRAYSCALE, tracking_get_search_origin_frame_pixel(), w(), x, ImBuf::x, y, and ImBuf::y.
Referenced by BKE_movieclip_update_scopes(), BKE_tracking_get_pattern_imbuf(), and track_get_search_floatbuf().
void BKE_tracking_marker_clamp_pattern_position | ( | struct MovieTrackingMarker * | marker | ) |
If the pattern area is outside of the search area its position will be modified in a way that it is within the pattern is within the search area.
If the pattern area is already within the search area nothing happens.
If the pattern area is bigger than the search area the behavior is undefined.
Search area is never modified.
Definition at line 1374 of file tracking.c.
References Freestyle::a, usdtokens::b(), BKE_tracking_marker_pattern_minmax(), MovieTrackingMarker::pattern_corners, MovieTrackingMarker::search_max, and MovieTrackingMarker::search_min.
Referenced by recalcData_tracking().
void BKE_tracking_marker_clamp_search_position | ( | struct MovieTrackingMarker * | marker | ) |
If the search position is such that pattern area is (partially) outside of the search area move the search area so that the pattern is within the search area.
If the search area is smaller than the pattern the behavior is undefined.
Pattern area is never modified.
Definition at line 1404 of file tracking.c.
References Freestyle::a, BKE_tracking_marker_pattern_minmax(), MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, and sub_v2_v2v2().
Referenced by marker_block_handler(), recalcData_tracking(), and slide_marker_modal().
void BKE_tracking_marker_clamp_search_size | ( | struct MovieTrackingMarker * | marker | ) |
If the search size is such that pattern area is (partially) outside of the search area make the search area bigger so that the pattern is within the search area.
Pattern area is never modified.
Definition at line 1393 of file tracking.c.
References Freestyle::a, BKE_tracking_marker_pattern_minmax(), max_ff(), min_ff(), MovieTrackingMarker::search_max, and MovieTrackingMarker::search_min.
Referenced by marker_block_handler(), recalcData_tracking(), and slide_marker_modal().
void BKE_tracking_marker_delete | ( | MovieTrackingTrack * | track, |
int | framenr | ||
) |
Definition at line 1347 of file tracking.c.
References Freestyle::a, MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_freeN, MEM_reallocN, and NULL.
Referenced by clip_delete_marker().
MovieTrackingMarker* BKE_tracking_marker_ensure | ( | MovieTrackingTrack * | track, |
int | framenr | ||
) |
Definition at line 1468 of file tracking.c.
References BKE_tracking_marker_get(), BKE_tracking_marker_insert(), and MovieTrackingMarker::framenr.
Referenced by create_slide_marker_data(), disable_markers_exec(), keyframe_set_flag(), marker_block_handler(), marker_update_cb(), track_init_markers(), trackToTransData(), and ui_numedit_but_TRACKPREVIEW().
MovieTrackingMarker* BKE_tracking_marker_get | ( | struct MovieTrackingTrack * | track, |
int | framenr | ||
) |
Get marker closest to the given frame number.
If there is maker with exact frame number it returned. Otherwise, marker with highest frame number but lower than the requested frame is returned if such marker exists. Otherwise, the marker with lowest frame number greater than the requested frame number is returned.
This function has complexity of O(log number_of_markers)
.
Definition at line 1424 of file tracking.c.
References BLI_assert, BLI_assert_msg, clamp_i(), MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, and NULL.
Referenced by annotation_session_initdata(), autotrack_context_init_markers(), autotrack_is_track_trackable(), BKE_movieclip_update_scopes(), BKE_tracking_marker_ensure(), BKE_tracking_marker_get_exact(), BKE_tracking_marker_get_interpolated(), BKE_tracking_marker_get_subframe_position(), BKE_tracking_plane_track_add(), box_select_exec(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), circle_select_exec(), clip_draw_grease_pencil(), do_lasso_select_marker(), draw_tracking_tracks(), ED_clip_select_all(), find_nearest_track(), mask_parent_set_exec(), path_clear_all(), recalcData_tracking(), refine_marker_exec(), search_closest_marker_index(), select_grouped_exec(), selected_tracking_boundbox(), slide_marker_customdata(), blender::TEST_F(), track_count_markers(), track_mouse_area(), tracking_context_get_reference_ibuf(), tracking_get_keyframed_marker(), tracking_has_selection(), tracking_marker_check_slide(), and uiTemplateMarker().
MovieTrackingMarker* BKE_tracking_marker_get_exact | ( | MovieTrackingTrack * | track, |
int | framenr | ||
) |
Definition at line 1457 of file tracking.c.
References BKE_tracking_marker_get(), MovieTrackingMarker::framenr, and NULL.
Referenced by accessor_get_mask_for_track_callback(), BKE_autotrack_context_sync(), BKE_tracking_marker_insert(), BKE_tracking_track_has_enabled_marker_at_frame(), BKE_tracking_track_has_marker_at_frame(), cancelTransTracking(), delete_marker_exec(), frame_jump_exec(), get_closest_marker(), get_tracking_data_point(), init_track_for_stabilization(), keyframe_set_flag(), point_markers_correspondences_on_both_image(), blender::TEST_F(), and track_to_path_segment().
bool BKE_tracking_marker_get_interpolated | ( | struct MovieTrackingTrack * | track, |
int | framenr, | ||
struct MovieTrackingMarker * | r_marker | ||
) |
Get marker position, possibly interpolating gap between key-framed/tracked markers.
The result marker frame number is set to the requested frame number. Its flags are 0 if the marker is interpolated, and is set to original marker flag if there were no interpolation involved.
Definition at line 1505 of file tracking.c.
References BKE_tracking_marker_get(), MovieTrackingMarker::flag, float(), MovieTrackingMarker::framenr, get_usable_marker_for_interpolation(), interp_v2_v2v2(), MARKER_DISABLED, NULL, MovieTrackingMarker::pattern_corners, MovieTrackingMarker::pos, MovieTrackingMarker::search_max, and MovieTrackingMarker::search_min.
Referenced by blender::TEST_F(), and tracking_average_markers().
void BKE_tracking_marker_get_subframe_position | ( | MovieTrackingTrack * | track, |
float | framenr, | ||
float | pos[2] | ||
) |
Definition at line 1575 of file tracking.c.
References add_v2_v2(), BKE_tracking_marker_get(), copy_v2_v2(), MovieTrackingMarker::framenr, interp_v2_v2v2(), MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MovieTrackingTrack::offset, pos, and MovieTrackingMarker::pos.
Referenced by BKE_mask_point_parent_matrix_get(), and followtrack_evaluate_using_2d_position().
MovieTrackingMarker* BKE_tracking_marker_insert | ( | MovieTrackingTrack * | track, |
MovieTrackingMarker * | marker | ||
) |
Definition at line 1302 of file tracking.c.
References Freestyle::a, BKE_tracking_marker_get_exact(), MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_callocN, MEM_reallocN, and NULL.
Referenced by BKE_autotrack_context_sync(), BKE_tracking_marker_ensure(), BKE_tracking_track_add(), path_clear_all(), tracking_average_markers(), and tracking_marker_insert_disabled().
void BKE_tracking_marker_pattern_minmax | ( | const MovieTrackingMarker * | marker, |
float | min[2], | ||
float | max[2] | ||
) |
Definition at line 1563 of file tracking.c.
References INIT_MINMAX2, max, min, minmax_v2v2_v2(), and MovieTrackingMarker::pattern_corners.
Referenced by BKE_tracking_get_pattern_imbuf(), BKE_tracking_marker_clamp_pattern_position(), BKE_tracking_marker_clamp_search_position(), BKE_tracking_marker_clamp_search_size(), and BKE_tracking_plane_track_add().
void BKE_tracking_max_distortion_delta_across_bound | ( | MovieTracking * | tracking, |
int | image_width, | ||
int | image_height, | ||
rcti * | rect, | ||
bool | undistort, | ||
float | delta[2] | ||
) |
Definition at line 2533 of file tracking.c.
References Freestyle::a, BKE_tracking_distort_v2(), BKE_tracking_undistort_v2(), fabsf, max_ff(), usdtokens::out(), pos, void, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by blender::compositor::MovieDistortionOperation::init_data().
MovieTrackingObject* BKE_tracking_object_add | ( | MovieTracking * | tracking, |
const char * | name | ||
) |
Definition at line 1998 of file tracking.c.
References BKE_tracking_dopesheet_tag_update(), BKE_tracking_object_unique_name(), BLI_addtail(), BLI_listbase_count(), BLI_strncpy(), MEM_callocN, MovieTrackingObject::name, MovieTracking::objectnr, MovieTracking::objects, MovieTracking::tot_object, and TRACKING_OBJECT_CAMERA.
Referenced by BKE_tracking_settings_init(), blo_do_versions_260(), tracking_object_new_exec(), and tracks_map_merge().
bool BKE_tracking_object_delete | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object | ||
) |
Definition at line 2027 of file tracking.c.
References MovieTracking::act_track, BKE_tracking_dopesheet_tag_update(), BLI_findindex(), BLI_freelinkN(), MovieTrackingObject::flag, MovieTrackingTrack::next, NULL, MovieTracking::objectnr, MovieTracking::objects, MovieTracking::tot_object, TRACKING_OBJECT_CAMERA, and tracking_object_free().
Referenced by tracking_object_remove_exec().
MovieTrackingObject* BKE_tracking_object_get_active | ( | MovieTracking * | tracking | ) |
Definition at line 2092 of file tracking.c.
References BLI_findlink(), MovieTracking::objectnr, and MovieTracking::objects.
Referenced by apply_solution_scale_poll(), BKE_tracking_get_active_plane_tracks(), BKE_tracking_get_active_reconstruction(), BKE_tracking_get_active_tracks(), clip_graph_tracking_values_iterate_track_reprojection_error_values(), copy_tracks_exec(), do_set_scale(), dopesheet_select_channel_exec(), draw_movieclip_cache(), draw_tracking_tracks(), frame_jump_exec(), get_orientation_object(), blender::nodes::node_composite_planetrackdeform_cc::init(), blender::nodes::node_composite_trackpos_cc::init(), mask_parent_set_exec(), mouse_select_curve(), blender::nodes::node_composite_keyingscreen_cc::node_composit_init_keyingscreen(), paste_tracks_exec(), set_axis_exec(), set_orientation_poll(), set_origin_exec(), set_plane_exec(), set_solution_scale_poll(), set_solver_keyframe_exec(), solve_camera_initjob(), stabilize_2d_poll(), tracking_dopesheet_calc_coverage(), tracking_dopesheet_channels_calc(), and tracking_object_remove_exec().
MovieTrackingObject* BKE_tracking_object_get_camera | ( | MovieTracking * | tracking | ) |
Definition at line 2097 of file tracking.c.
References ListBase::first, MovieTrackingObject::flag, MovieTrackingObject::next, NULL, MovieTracking::objects, and TRACKING_OBJECT_CAMERA.
Referenced by camerasolver_evaluate(), followtrack_tracking_object_get(), and test_constraint().
MovieTrackingObject* BKE_tracking_object_get_named | ( | MovieTracking * | tracking, |
const char * | name | ||
) |
Definition at line 2077 of file tracking.c.
References ListBase::first, MovieTrackingObject::name, MovieTrackingObject::next, NULL, MovieTracking::objects, and STREQ.
Referenced by BKE_mask_point_parent_matrix_get(), BKE_tracking_reconstruction_finish(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), followtrack_tracking_object_get(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), objectsolver_evaluate(), reconstruct_retrieve_libmv_tracks(), test_constraint(), and tracks_map_merge().
ListBase* BKE_tracking_object_get_plane_tracks | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object | ||
) |
Definition at line 2121 of file tracking.c.
References MovieTrackingObject::flag, MovieTracking::plane_tracks, and TRACKING_OBJECT_CAMERA.
Referenced by BKE_tracking_plane_track_get_named().
MovieTrackingReconstruction* BKE_tracking_object_get_reconstruction | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object | ||
) |
Definition at line 2131 of file tracking.c.
References MovieTrackingObject::flag, MovieTracking::reconstruction, and TRACKING_OBJECT_CAMERA.
Referenced by BKE_tracking_camera_get_reconstructed(), BKE_tracking_camera_get_reconstructed_interpolate(), BKE_tracking_get_active_reconstruction(), BKE_tracking_reconstruction_scale(), camera_view3d_reconstruction(), and tracking_dopesheet_channels_calc().
ListBase* BKE_tracking_object_get_tracks | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object | ||
) |
Definition at line 2112 of file tracking.c.
References MovieTrackingObject::flag, TRACKING_OBJECT_CAMERA, and MovieTracking::tracks.
Referenced by BKE_tracking_clipboard_copy_tracks(), BKE_tracking_clipboard_paste_tracks(), BKE_tracking_reconstruction_context_new(), BKE_tracking_reconstruction_scale(), BKE_tracking_track_get_indexed(), BKE_tracking_track_get_named(), blo_do_versions_260(), blo_do_versions_270(), blender::compositor::KeyingScreenOperation::build_voronoi_triangulation(), bundle_midpoint(), camera_view3d_reconstruction(), deselect_all_tracks(), dopesheet_select_channel_exec(), mouse_select_curve(), movieclip_selection_sync(), paste_tracks_exec(), reconstruct_count_tracks_on_both_keyframes(), set_axis_exec(), set_origin_exec(), set_plane_exec(), snapCamera(), tracking_dopesheet_calc_coverage(), and tracking_dopesheet_channels_calc().
void BKE_tracking_object_unique_name | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object | ||
) |
Definition at line 2067 of file tracking.c.
References BLI_uniquename(), DATA_, MovieTrackingObject::name, and MovieTracking::objects.
Referenced by BKE_tracking_object_add().
void BKE_tracking_plane_marker_delete | ( | MovieTrackingPlaneTrack * | plane_track, |
int | framenr | ||
) |
Definition at line 1859 of file tracking.c.
References Freestyle::a, MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, MEM_freeN, MEM_reallocN, and NULL.
Referenced by delete_marker_exec().
MovieTrackingPlaneMarker* BKE_tracking_plane_marker_ensure | ( | struct MovieTrackingPlaneTrack * | plane_track, |
int | framenr | ||
) |
Ensure there's a marker for the given frame.
Definition at line 1950 of file tracking.c.
References BKE_tracking_plane_marker_get(), BKE_tracking_plane_marker_insert(), and MovieTrackingPlaneMarker::framenr.
Referenced by keyframe_set_flag(), planeTrackToTransData(), and slide_plane_marker_customdata().
MovieTrackingPlaneMarker* BKE_tracking_plane_marker_get | ( | struct MovieTrackingPlaneTrack * | plane_track, |
int | framenr | ||
) |
Get a plane marker at given frame, If there's no such marker, closest one from the left side will be returned.
Definition at line 1890 of file tracking.c.
References Freestyle::a, MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::last_marker, markers, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, and NULL.
Referenced by BKE_tracking_plane_marker_ensure(), BKE_tracking_plane_marker_get_exact(), BKE_tracking_plane_marker_get_subframe_corners(), box_select_exec(), circle_select_exec(), do_lasso_select_marker(), draw_plane_track(), find_nearest_plane_track(), find_plane_keyframe(), mask_parent_set_exec(), sample_plane_marker_image_for_operator(), track_plane_from_existing_motion(), and tracking_plane_marker_check_slide().
MovieTrackingPlaneMarker* BKE_tracking_plane_marker_get_exact | ( | struct MovieTrackingPlaneTrack * | plane_track, |
int | framenr | ||
) |
Get a plane marker at exact given frame, if there's no marker at the frame, NULL will be returned.
Definition at line 1938 of file tracking.c.
References BKE_tracking_plane_marker_get(), MovieTrackingPlaneMarker::framenr, and NULL.
Referenced by BKE_tracking_plane_marker_insert(), cancelTransTracking(), delete_marker_exec(), keyframe_set_flag(), and track_plane_from_existing_motion().
void BKE_tracking_plane_marker_get_subframe_corners | ( | MovieTrackingPlaneTrack * | plane_track, |
float | framenr, | ||
float | corners[4][2] | ||
) |
Definition at line 1967 of file tracking.c.
References BKE_tracking_plane_marker_get(), copy_v2_v2(), MovieTrackingPlaneMarker::corners, MovieTrackingPlaneMarker::framenr, interp_v2_v2v2(), MovieTrackingPlaneTrack::markers, and MovieTrackingPlaneTrack::markersnr.
Referenced by BKE_mask_point_parent_matrix_get().
MovieTrackingPlaneMarker* BKE_tracking_plane_marker_insert | ( | MovieTrackingPlaneTrack * | plane_track, |
MovieTrackingPlaneMarker * | plane_marker | ||
) |
Definition at line 1818 of file tracking.c.
References Freestyle::a, BKE_tracking_plane_marker_get_exact(), MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, MEM_reallocN, and NULL.
Referenced by BKE_tracking_plane_marker_ensure(), BKE_tracking_plane_track_add(), and track_plane_from_existing_motion().
MovieTrackingPlaneTrack* BKE_tracking_plane_track_add | ( | struct MovieTracking * | tracking, |
struct ListBase * | plane_tracks_base, | ||
struct ListBase * | tracks, | ||
int | framenr | ||
) |
Creates new plane track out of selected point tracks.
Definition at line 1611 of file tracking.c.
References add_v2_v2(), BKE_tracking_marker_get(), BKE_tracking_marker_pattern_minmax(), BKE_tracking_plane_marker_insert(), BKE_tracking_plane_track_unique_name(), BLI_addtail(), copy_v2_v2(), MovieTrackingPlaneMarker::corners, MovieTrackingPlaneMarker::flag, MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::image_opacity, INIT_MINMAX2, LISTBASE_FOREACH, MEM_callocN, MEM_mallocN, minmax_v2v2_v2(), MovieTrackingPlaneTrack::name, NULL, MovieTrackingPlaneTrack::point_tracks, MovieTrackingPlaneTrack::point_tracksnr, MovieTrackingMarker::pos, TRACK_SELECTED, tracks, and void.
Referenced by create_plane_track_tracks_exec().
void BKE_tracking_plane_track_free | ( | struct MovieTrackingPlaneTrack * | plane_track | ) |
Free specified plane track, only frees contents of a structure (if track is allocated in heap, it shall be handled outside).
All the pointers inside track becomes invalid after this call.
Definition at line 1694 of file tracking.c.
References MovieTrackingPlaneTrack::markers, MEM_freeN, and MovieTrackingPlaneTrack::point_tracks.
Referenced by BKE_tracking_plane_tracks_remove_point_track(), clip_delete_plane_track(), delete_marker_exec(), and tracking_plane_tracks_free().
MovieTrackingPlaneTrack* BKE_tracking_plane_track_get_active | ( | struct MovieTracking * | tracking | ) |
Definition at line 1718 of file tracking.c.
References MovieTracking::act_plane_track, BKE_tracking_get_active_plane_tracks(), BLI_findindex(), and NULL.
Referenced by draw_movieclip_cache(), draw_tracking_tracks(), hide_tracks_exec(), blender::nodes::node_composite_planetrackdeform_cc::init(), and mask_parent_set_exec().
MovieTrackingPlaneTrack* BKE_tracking_plane_track_get_named | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object, | ||
const char * | name | ||
) |
Definition at line 1703 of file tracking.c.
References BKE_tracking_object_get_plane_tracks(), LISTBASE_FOREACH, NULL, and STREQ.
Referenced by BKE_mask_point_parent_matrix_get().
bool BKE_tracking_plane_track_has_point_track | ( | MovieTrackingPlaneTrack * | plane_track, |
MovieTrackingTrack * | track | ||
) |
Definition at line 1741 of file tracking.c.
References MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by apply_mouse_slide(), BKE_autotrack_context_finish(), BKE_tracking_plane_tracks_remove_point_track(), BKE_tracking_plane_tracks_replace_point_track(), and join_tracks_exec().
bool BKE_tracking_plane_track_remove_point_track | ( | MovieTrackingPlaneTrack * | plane_track, |
MovieTrackingTrack * | track | ||
) |
Definition at line 1752 of file tracking.c.
References MEM_freeN, MEM_mallocN, MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by BKE_tracking_plane_tracks_remove_point_track().
void BKE_tracking_plane_track_replace_point_track | ( | MovieTrackingPlaneTrack * | plane_track, |
MovieTrackingTrack * | old_track, | ||
MovieTrackingTrack * | new_track | ||
) |
Definition at line 1790 of file tracking.c.
References MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by BKE_tracking_plane_tracks_replace_point_track(), and join_tracks_exec().
void BKE_tracking_plane_track_unique_name | ( | ListBase * | plane_tracks_base, |
MovieTrackingPlaneTrack * | plane_track | ||
) |
Definition at line 1683 of file tracking.c.
References BLI_uniquename(), BLT_I18NCONTEXT_ID_MOVIECLIP, CTX_DATA_, and MovieTrackingPlaneTrack::name.
Referenced by BKE_tracking_plane_track_add().
Definition at line 1734 of file tracking.c.
References LISTBASE_FOREACH, and SELECT.
Referenced by add_marker(), and average_tracks_exec().
void BKE_tracking_plane_tracks_remove_point_track | ( | MovieTracking * | tracking, |
MovieTrackingTrack * | track | ||
) |
Definition at line 1775 of file tracking.c.
References BKE_tracking_get_active_plane_tracks(), BKE_tracking_plane_track_free(), BKE_tracking_plane_track_has_point_track(), BKE_tracking_plane_track_remove_point_track(), BLI_freelinkN(), and LISTBASE_FOREACH_MUTABLE.
Referenced by clip_delete_track().
void BKE_tracking_plane_tracks_replace_point_track | ( | MovieTracking * | tracking, |
MovieTrackingTrack * | old_track, | ||
MovieTrackingTrack * | new_track | ||
) |
Definition at line 1802 of file tracking.c.
References BKE_tracking_get_active_plane_tracks(), BKE_tracking_plane_track_has_point_track(), BKE_tracking_plane_track_replace_point_track(), and LISTBASE_FOREACH.
ImBuf* BKE_tracking_sample_pattern | ( | int | frame_width, |
int | frame_height, | ||
ImBuf * | search_ibuf, | ||
MovieTrackingTrack * | track, | ||
MovieTrackingMarker * | marker, | ||
bool | from_anchor, | ||
bool | use_mask, | ||
int | num_samples_x, | ||
int | num_samples_y, | ||
float | pos[2] | ||
) |
Definition at line 2627 of file tracking.c.
References Freestyle::a, BKE_tracking_track_get_mask(), double(), IB_rect, IB_rectfloat, IMB_allocImBuf(), libmv_samplePlanarPatchByte(), libmv_samplePlanarPatchFloat(), mask(), MEM_freeN, NULL, MovieTrackingTrack::offset, pos, ImBuf::rect, ImBuf::rect_float, tracking_get_marker_coords_for_tracking(), ImBuf::x, and ImBuf::y.
Referenced by BKE_tracking_get_pattern_imbuf().
MovieTrackingTrack** BKE_tracking_selected_tracks_in_active_object | ( | struct MovieTracking * | tracking, |
int * | r_num_tracks | ||
) |
Get array of selected tracks from the current active object in the tracking structure. If nothing is selected then the result is nullptr and r_num_tracks
is set to 0.
Definition at line 656 of file tracking.c.
References BKE_tracking_count_selected_tracks_in_active_object(), BKE_tracking_get_active_tracks(), LISTBASE_FOREACH, MEM_malloc_arrayN, NULL, and TRACK_SELECTED.
Referenced by average_tracks_exec().
void BKE_tracking_settings_init | ( | struct MovieTracking * | tracking | ) |
Initialize motion tracking settings to default values, used when new movie clip data-block is created.
Definition at line 305 of file tracking.c.
References MovieTrackingStabilization::act_rot_track, MovieTrackingStabilization::act_track, MovieTrackingStabilization::anchor_frame, BKE_tracking_object_add(), MovieTracking::camera, CAMERA_UNITS_MM, DATA_, MovieTrackingSettings::default_algorithm_flag, MovieTrackingSettings::default_minimum_correlation, MovieTrackingSettings::default_motion_model, MovieTrackingSettings::default_pattern_size, MovieTrackingSettings::default_search_size, MovieTrackingSettings::default_weight, MovieTrackingSettings::dist, MovieTracking::dopesheet, MovieTrackingStabilization::filter, MovieTrackingStabilization::flag, MovieTrackingDopesheet::flag, MovieTrackingStabilization::locinf, MovieTrackingStabilization::maxscale, MovieTrackingSettings::object_distance, MovieTrackingCamera::pixel_aspect, MovieTrackingSettings::refine_camera_intrinsics, REFINE_NO_INTRINSICS, MovieTrackingStabilization::rotinf, MovieTrackingStabilization::scale, MovieTrackingStabilization::scaleinf, MovieTrackingCamera::sensor_width, MovieTracking::settings, MovieTrackingDopesheet::sort_method, MovieTracking::stabilization, MovieTrackingStabilization::target_pos, MovieTrackingStabilization::target_rot, MovieTrackingStabilization::tot_rot_track, MovieTrackingStabilization::tot_track, TRACK_ALGORITHM_FLAG_USE_BRUTE, TRACK_MOTION_MODEL_TRANSLATION, TRACKING_DOPE_SORT_AVERAGE_ERROR, TRACKING_DOPE_SORT_INVERSE, TRACKING_FILTER_BILINEAR, TRACKING_SHOW_STAB_TRACKS, MovieTrackingCamera::units, and zero_v2().
Referenced by movie_clip_init_data().
MovieTrackingTrack* BKE_tracking_track_add | ( | struct MovieTracking * | tracking, |
struct ListBase * | tracksbase, | ||
float | x, | ||
float | y, | ||
int | framenr, | ||
int | width, | ||
int | height | ||
) |
Add new track to a specified tracks base.
Coordinates are expected to be in normalized 0..1 space, frame number is expected to be in clip space.
Width and height are clip's dimension used to scale track's pattern and search regions.
Definition at line 535 of file tracking.c.
References BKE_tracking_marker_insert(), BKE_tracking_track_add_empty(), copy_v2_v2(), MovieTrackingSettings::default_pattern_size, MovieTrackingSettings::default_search_size, MovieTrackingMarker::framenr, height, negate_v2_v2(), MovieTrackingMarker::pattern_corners, MovieTrackingMarker::pos, MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, MovieTracking::settings, width, x, and y.
Referenced by add_marker(), and detect_retrieve_libmv_features().
MovieTrackingTrack* BKE_tracking_track_add_empty | ( | struct MovieTracking * | tracking, |
struct ListBase * | tracks_list | ||
) |
Add new empty track to the given list of tracks.
It is required that caller will append at least one marker to avoid degenerate tracks.
Definition at line 511 of file tracking.c.
References MovieTrackingTrack::algorithm_flag, BKE_tracking_track_unique_name(), BLI_addtail(), MovieTrackingSettings::default_algorithm_flag, MovieTrackingSettings::default_flag, MovieTrackingSettings::default_frames_limit, MovieTrackingSettings::default_margin, MovieTrackingSettings::default_minimum_correlation, MovieTrackingSettings::default_motion_model, MovieTrackingSettings::default_pattern_match, MovieTrackingSettings::default_weight, MovieTrackingTrack::flag, MovieTrackingTrack::frames_limit, MovieTrackingTrack::margin, MEM_callocN, MovieTrackingTrack::minimum_correlation, MovieTrackingTrack::motion_model, MovieTrackingTrack::name, MovieTrackingTrack::pattern_match, MovieTracking::settings, MovieTrackingTrack::weight, and MovieTrackingTrack::weight_stab.
Referenced by average_tracks_exec(), and BKE_tracking_track_add().
void BKE_tracking_track_deselect | ( | MovieTrackingTrack * | track, |
int | area | ||
) |
Definition at line 1284 of file tracking.c.
References blender::compositor::area(), BKE_tracking_track_flag_clear(), and SELECT.
Referenced by deselect_all_tracks(), dopesheet_select_channel_exec(), ed_object_select_pick_camera_track(), and select_exec().
MovieTrackingTrack* BKE_tracking_track_duplicate | ( | struct MovieTrackingTrack * | track | ) |
Duplicate the specified track, result will no belong to any list.
Definition at line 576 of file tracking.c.
References MovieTrackingTrack::flag, MovieTrackingTrack::markers, MEM_callocN, MEM_dupallocN, MovieTrackingTrack::next, NULL, MovieTrackingTrack::prev, TRACK_USE_2D_STAB, and TRACK_USE_2D_STAB_ROT.
Referenced by BKE_tracking_clipboard_copy_tracks(), BKE_tracking_clipboard_paste_tracks(), and tracks_map_merge().
void BKE_tracking_track_first_last_frame_get | ( | const MovieTrackingTrack * | track, |
int * | r_first_frame, | ||
int * | r_last_frame | ||
) |
Definition at line 613 of file tracking.c.
References BLI_assert, MovieTrackingMarker::framenr, MovieTrackingTrack::markers, and MovieTrackingTrack::markersnr.
Referenced by BKE_tracking_tracks_first_last_frame_minmax().
void BKE_tracking_track_flag_clear | ( | struct MovieTrackingTrack * | track, |
int | area, | ||
int | flag | ||
) |
Clear flag from all specified track's areas.
area | which part of marker should be selected. see TRACK_AREA_* constants. |
flag | flag to be cleared for areas. |
Definition at line 705 of file tracking.c.
References blender::compositor::area(), MovieTrackingTrack::flag, MovieTrackingTrack::pat_flag, MovieTrackingTrack::search_flag, TRACK_AREA_NONE, TRACK_AREA_PAT, TRACK_AREA_POINT, and TRACK_AREA_SEARCH.
Referenced by BKE_tracking_track_deselect(), BKE_tracking_track_select(), BKE_tracking_tracks_deselect_all(), box_select_exec(), circle_select_exec(), clip_tracking_clear_invisible_track_selection(), do_lasso_select_marker(), and ed_tracking_deselect_all_tracks().
void BKE_tracking_track_flag_set | ( | struct MovieTrackingTrack * | track, |
int | area, | ||
int | flag | ||
) |
Set flag for all specified track's areas.
area | which part of marker should be selected. see TRACK_AREA_* constants. |
flag | flag to be set for areas. |
Definition at line 688 of file tracking.c.
References blender::compositor::area(), MovieTrackingTrack::flag, MovieTrackingTrack::pat_flag, MovieTrackingTrack::search_flag, TRACK_AREA_NONE, TRACK_AREA_PAT, TRACK_AREA_POINT, and TRACK_AREA_SEARCH.
Referenced by BKE_tracking_track_select(), box_select_exec(), circle_select_exec(), clean_tracks_exec(), do_lasso_select_marker(), stabilize_2d_rotation_select_exec(), and stabilize_2d_select_exec().
void BKE_tracking_track_free | ( | struct MovieTrackingTrack * | track | ) |
Free specified track, only frees contents of a structure (if track is allocated in heap, it shall be handled outside).
All the pointers inside track becomes invalid after this call.
Definition at line 606 of file tracking.c.
References MovieTrackingTrack::markers, and MEM_freeN.
Referenced by BKE_tracking_clipboard_free(), clean_tracks_exec(), clip_delete_track(), join_tracks_exec(), blender::TEST_F(), tracking_tracks_free(), and tracks_map_free().
MovieTrackingTrack* BKE_tracking_track_get_active | ( | MovieTracking * | tracking | ) |
Definition at line 1089 of file tracking.c.
References MovieTracking::act_track, BKE_tracking_get_active_tracks(), BLI_findindex(), and NULL.
Referenced by annotation_session_initdata(), BKE_movieclip_update_scopes(), box_select_graph_exec(), clean_tracks_exec(), clear_track_path_exec(), clip_delete_track(), clip_draw_grease_pencil(), delete_curve_exec(), delete_knot_exec(), draw_movieclip_cache(), draw_tracking_tracks(), draw_tracks_motion_and_error_curves(), ED_annotation_data_get_pointers_direct(), frame_jump_exec(), graph_disable_markers_exec(), graph_select_all_markers_exec(), hide_tracks_exec(), blender::nodes::node_composite_trackpos_cc::init(), join_tracks_exec(), mask_parent_set_exec(), mouse_select_curve(), mouse_select_knot(), select_exec(), select_grouped_exec(), set_plane_exec(), and track_copy_color_exec().
MovieTrackingTrack* BKE_tracking_track_get_indexed | ( | MovieTracking * | tracking, |
int | tracknr, | ||
ListBase ** | r_tracksbase | ||
) |
Definition at line 1056 of file tracking.c.
References BKE_tracking_object_get_tracks(), ListBase::first, MovieTrackingTrack::flag, MovieTrackingTrack::next, NULL, MovieTracking::objects, and TRACK_HAS_BUNDLE.
Referenced by ed_object_select_pick_camera_track().
float* BKE_tracking_track_get_mask | ( | int | frame_width, |
int | frame_height, | ||
MovieTrackingTrack * | track, | ||
MovieTrackingMarker * | marker | ||
) |
Definition at line 1221 of file tracking.c.
References MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, and tracking_track_get_mask_for_region().
Referenced by BKE_tracking_refine_marker(), and BKE_tracking_sample_pattern().
MovieTrackingTrack* BKE_tracking_track_get_named | ( | MovieTracking * | tracking, |
MovieTrackingObject * | object, | ||
const char * | name | ||
) |
Definition at line 1038 of file tracking.c.
References BKE_tracking_object_get_tracks(), ListBase::first, MovieTrackingTrack::name, MovieTrackingTrack::next, NULL, and STREQ.
Referenced by BKE_mask_point_parent_matrix_get(), followtrack_context_init(), and test_constraint().
float BKE_tracking_track_get_weight_for_marker | ( | MovieClip * | clip, |
MovieTrackingTrack * | track, | ||
MovieTrackingMarker * | marker | ||
) |
Definition at line 1239 of file tracking.c.
References BKE_movieclip_remap_clip_to_scene_frame(), evaluate_fcurve(), MovieTrackingMarker::framenr, MovieClip::id, id_data_find_fcurve(), NULL, and MovieTrackingTrack::weight.
Referenced by calculate_reprojection_error_at_marker().
bool BKE_tracking_track_has_enabled_marker_at_frame | ( | struct MovieTrackingTrack * | track, |
int | framenr | ||
) |
Check whether track has got enabled marker at specified frame.
Definition at line 727 of file tracking.c.
References BKE_tracking_marker_get_exact(), MovieTrackingMarker::flag, and MARKER_DISABLED.
Referenced by reconstruct_count_tracks_on_both_keyframes().
bool BKE_tracking_track_has_marker_at_frame | ( | struct MovieTrackingTrack * | track, |
int | framenr | ||
) |
Check whether track has got marker at specified frame.
Definition at line 722 of file tracking.c.
References BKE_tracking_marker_get_exact(), and NULL.
Referenced by tracking_marker_insert_disabled().
void BKE_tracking_track_path_clear | ( | MovieTrackingTrack * | track, |
const int | ref_frame, | ||
const eTrackClearAction | action | ||
) |
Definition at line 789 of file tracking.c.
References path_clear_all(), path_clear_remained(), path_clear_up_to(), TRACK_CLEAR_ALL, TRACK_CLEAR_REMAINED, and TRACK_CLEAR_UPTO.
Referenced by clear_track_path_exec().
void BKE_tracking_track_select | ( | struct ListBase * | tracksbase, |
struct MovieTrackingTrack * | track, | ||
int | area, | ||
bool | extend | ||
) |
area | which part of marker should be selected. see TRACK_AREA_* constants. |
Definition at line 1257 of file tracking.c.
References blender::compositor::area(), BKE_tracking_track_flag_clear(), BKE_tracking_track_flag_set(), ListBase::first, MovieTrackingTrack::flag, MovieTrackingTrack::next, SELECT, TRACK_AREA_ALL, and TRACK_HIDDEN.
Referenced by add_marker(), average_tracks_exec(), dopesheet_select_channel_exec(), ed_object_select_pick_camera_track(), mouse_select_curve(), and select_exec().
void BKE_tracking_track_unique_name | ( | struct ListBase * | tracksbase, |
struct MovieTrackingTrack * | track | ||
) |
Ensure specified track has got unique name, if it's not name of specified track will be changed keeping names of all other tracks unchanged.
Definition at line 596 of file tracking.c.
References BLI_uniquename(), BLT_I18NCONTEXT_ID_MOVIECLIP, CTX_DATA_, and MovieTrackingTrack::name.
Referenced by BKE_tracking_clipboard_paste_tracks(), and BKE_tracking_track_add_empty().
void BKE_tracking_tracks_average | ( | MovieTrackingTrack * | dst_track, |
MovieTrackingTrack ** | src_tracks, | ||
const int | num_src_tracks | ||
) |
Definition at line 1026 of file tracking.c.
References tracking_average_markers(), and tracking_average_tracks().
Referenced by average_tracks_exec().
Definition at line 1289 of file tracking.c.
References BKE_tracking_track_flag_clear(), LISTBASE_FOREACH, SELECT, TRACK_AREA_ALL, and TRACK_HIDDEN.
Referenced by create_plane_track_tracks_exec(), and paste_tracks_exec().
void BKE_tracking_tracks_first_last_frame_minmax | ( | struct MovieTrackingTrack ** | tracks, |
int | num_tracks, | ||
int * | r_first_frame, | ||
int * | r_last_frame | ||
) |
Find the minimum starting frame and maximum ending frame within given set of tracks.
Definition at line 623 of file tracking.c.
References BKE_tracking_track_first_last_frame_get(), max_ii(), min_ii(), and tracks.
Referenced by tracking_average_markers().
void BKE_tracking_tracks_join | ( | MovieTracking * | tracking, |
MovieTrackingTrack * | dst_track, | ||
MovieTrackingTrack * | src_track | ||
) |
Definition at line 806 of file tracking.c.
References Freestyle::a, usdtokens::b(), BKE_tracking_dopesheet_tag_update(), MovieTrackingMarker::flag, MovieTrackingMarker::framenr, interp_v2_v2v2(), inverse(), len, MARKER_DISABLED, markers, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_callocN, MEM_freeN, MEM_mallocN, pos, and MovieTrackingMarker::pos.
Referenced by join_tracks_exec().
ImBuf* BKE_tracking_undistort_frame | ( | MovieTracking * | tracking, |
ImBuf * | ibuf, | ||
int | calibration_width, | ||
int | calibration_height, | ||
float | overscan | ||
) |
Definition at line 2499 of file tracking.c.
References BKE_tracking_distortion_exec(), BKE_tracking_distortion_new(), MovieTracking::camera, camera, and NULL.
Referenced by get_undistorted_ibuf().
void BKE_tracking_undistort_v2 | ( | MovieTracking * | tracking, |
int | image_width, | ||
int | image_height, | ||
const float | co[2], | ||
float | r_co[2] | ||
) |
Definition at line 2480 of file tracking.c.
References MovieTracking::camera, camera, float(), libmv_cameraIntrinsicsDestroy(), libmv_cameraIntrinsicsInvert(), libmv_cameraIntrinsicsNew(), MovieTrackingCamera::pixel_aspect, tracking_cameraIntrinscisOptionsFromTracking(), x, and y.
Referenced by BKE_movieclip_update_scopes(), BKE_tracking_max_distortion_delta_across_bound(), draw_distortion(), ED_clip_point_undistorted_pos(), and followtrack_undistort_if_needed().
Definition at line 3063 of file tracking.c.
References Freestyle::a, usdtokens::b(), and channels_alpha_sort().
Referenced by tracking_dopesheet_channels_sort().
Definition at line 2956 of file tracking.c.
References Freestyle::a, usdtokens::b(), BLI_strcasecmp(), MovieTrackingTrack::name, and MovieTrackingDopesheetChannel::track.
Referenced by channels_alpha_inverse_sort(), channels_average_error_sort(), and tracking_dopesheet_channels_sort().
Definition at line 3090 of file tracking.c.
References Freestyle::a, usdtokens::b(), MovieTrackingTrack::error, and MovieTrackingDopesheetChannel::track.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 2992 of file tracking.c.
References Freestyle::a, usdtokens::b(), channels_alpha_sort(), MovieTrackingTrack::error, and MovieTrackingDopesheetChannel::track.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 3114 of file tracking.c.
References Freestyle::a, usdtokens::b(), compare_firstlast_putting_undefined_first(), MovieTrackingDopesheetChannel::last_not_disabled_marker_framenr, and MovieTrackingDopesheetChannel::tot_segment.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 3051 of file tracking.c.
References Freestyle::a, usdtokens::b(), compare_firstlast_putting_undefined_first(), MovieTrackingDopesheetChannel::last_not_disabled_marker_framenr, and MovieTrackingDopesheetChannel::tot_segment.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 3081 of file tracking.c.
References Freestyle::a, usdtokens::b(), and channels_longest_segment_sort().
Referenced by tracking_dopesheet_channels_sort().
Definition at line 2980 of file tracking.c.
References Freestyle::a, usdtokens::b(), and MovieTrackingDopesheetChannel::max_segment.
Referenced by channels_longest_segment_inverse_sort(), and tracking_dopesheet_channels_sort().
Definition at line 3102 of file tracking.c.
References Freestyle::a, usdtokens::b(), compare_firstlast_putting_undefined_first(), MovieTrackingDopesheetChannel::first_not_disabled_marker_framenr, and MovieTrackingDopesheetChannel::tot_segment.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 3039 of file tracking.c.
References Freestyle::a, usdtokens::b(), compare_firstlast_putting_undefined_first(), MovieTrackingDopesheetChannel::first_not_disabled_marker_framenr, and MovieTrackingDopesheetChannel::tot_segment.
Referenced by tracking_dopesheet_channels_sort().
Definition at line 3072 of file tracking.c.
References Freestyle::a, usdtokens::b(), and channels_total_track_sort().
Referenced by tracking_dopesheet_channels_sort().
Definition at line 2968 of file tracking.c.
References Freestyle::a, usdtokens::b(), and MovieTrackingDopesheetChannel::total_frames.
Referenced by channels_total_track_inverse_sort(), and tracking_dopesheet_channels_sort().
|
static |
Definition at line 3008 of file tracking.c.
References inverse().
Referenced by channels_end_inverse_sort(), channels_end_sort(), channels_start_inverse_sort(), and channels_start_sort().
|
static |
Definition at line 3316 of file tracking.c.
References count, TRACKING_COVERAGE_ACCEPTABLE, TRACKING_COVERAGE_BAD, and TRACKING_COVERAGE_OK.
Referenced by tracking_dopesheet_calc_coverage().
|
static |
Definition at line 2618 of file tracking.c.
References BKE_tracking_disable_channels(), MovieTrackingTrack::flag, TRACK_DISABLE_BLUE, TRACK_DISABLE_GREEN, and TRACK_DISABLE_RED.
Referenced by BKE_tracking_get_search_imbuf().
|
static |
Definition at line 1485 of file tracking.c.
References BLI_assert, ELEM, MovieTrackingMarker::flag, MARKER_DISABLED, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, and NULL.
Referenced by BKE_tracking_marker_get_interpolated().
|
static |
Definition at line 945 of file tracking.c.
References mul_v2_fl(), MovieTrackingMarker::pattern_corners, MovieTrackingMarker::pos, MovieTrackingMarker::search_max, and MovieTrackingMarker::search_min.
Referenced by tracking_average_markers().
|
static |
Definition at line 772 of file tracking.c.
References BKE_tracking_marker_get(), BKE_tracking_marker_insert(), MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_freeN, NULL, and tracking_marker_insert_disabled().
Referenced by BKE_tracking_track_path_clear().
|
static |
Definition at line 734 of file tracking.c.
References Freestyle::a, MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_reallocN, and tracking_marker_insert_disabled().
Referenced by BKE_tracking_track_path_clear().
|
static |
Definition at line 751 of file tracking.c.
References Freestyle::a, MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_reallocN, and tracking_marker_insert_disabled().
Referenced by BKE_tracking_track_path_clear().
BLI_INLINE int plane_marker_size_len_in_pixels | ( | const float | a[2], |
const float | b[2], | ||
const int | frame_width, | ||
const int | frame_height | ||
) |
Definition at line 2801 of file tracking.c.
References Freestyle::a, usdtokens::b(), ceilf, and len_v2v2().
Referenced by BKE_tracking_get_plane_imbuf().
|
static |
Definition at line 2145 of file tracking.c.
References Freestyle::a, MovieReconstructedCamera::framenr, and reconstruction.
Referenced by BKE_tracking_camera_get_reconstructed(), and BKE_tracking_camera_get_reconstructed_interpolate().
|
static |
Definition at line 2215 of file tracking.c.
References MovieTrackingObject::flag, mul_m4_m4m4(), MovieTrackingObject::scale, scale_m4_fl(), and TRACKING_OBJECT_CAMERA.
Referenced by BKE_tracking_camera_get_reconstructed_interpolate().
|
static |
Definition at line 1107 of file tracking.c.
References ListBase::first, bGPDlayer::flag, bGPDlayer::frames, GP_LAYER_ACTIVE, MovieTrackingTrack::gpd, bGPdata::layers, bGPDframe::next, bGPDlayer::next, NULL, and bGPDframe::strokes.
Referenced by tracking_track_get_mask_for_region().
|
static |
Definition at line 1158 of file tracking.c.
References BLI_bitmap_draw_2d_poly_v2i_n(), data, ListBase::first, bGPDstroke::flag, bGPDlayer::frames, GP_STROKE_2DSPACE, mask(), MEM_callocN, MEM_freeN, bGPDstroke::next, bGPDframe::next, point, bGPDstroke::points, bGPDframe::strokes, bGPDstroke::totpoints, track_mask_set_pixel_cb(), bGPDspoint::x, and bGPDspoint::y.
Referenced by tracking_track_get_mask_for_region().
Definition at line 1148 of file tracking.c.
References data, user_data, x, and y.
Referenced by track_mask_gpencil_layer_rasterize().
|
static |
Definition at line 957 of file tracking.c.
References accumulate_marker(), BKE_tracking_marker_get_interpolated(), BKE_tracking_marker_insert(), BKE_tracking_tracks_first_last_frame_minmax(), MovieTrackingMarker::flag, float(), MovieTrackingMarker::framenr, MARKER_DISABLED, MARKER_TRACKED, MEM_calloc_arrayN, MEM_freeN, and multiply_marker().
Referenced by BKE_tracking_tracks_average().
|
static |
Definition at line 1014 of file tracking.c.
References add_v2_v2(), mul_v2_fl(), MovieTrackingTrack::offset, and zero_v2().
Referenced by BKE_tracking_tracks_average().
|
static |
Definition at line 3332 of file tracking.c.
References BKE_tracking_object_get_active(), BKE_tracking_object_get_tracks(), BLI_addtail(), MovieTrackingDopesheetCoverageSegment::coverage, coverage_from_count(), MovieTrackingDopesheet::coverage_segments, MovieTracking::dopesheet, MovieTrackingDopesheetCoverageSegment::end_frame, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, LISTBASE_FOREACH, MARKER_DISABLED, max_ii(), MEM_callocN, MEM_freeN, min_ii(), MovieTrackingDopesheetCoverageSegment::start_frame, and TRACKING_COVERAGE_OK.
Referenced by BKE_tracking_dopesheet_update().
|
static |
Definition at line 3227 of file tracking.c.
References BKE_tracking_object_get_active(), BKE_tracking_object_get_reconstruction(), BKE_tracking_object_get_tracks(), BLI_addtail(), BLI_snprintf(), BLI_strncpy(), MovieTrackingDopesheet::channels, MovieTracking::dopesheet, MovieTrackingDopesheet::flag, LISTBASE_FOREACH, MEM_callocN, MovieTrackingDopesheetChannel::name, reconstruction, MovieTrackingDopesheet::tot_channel, MovieTrackingDopesheetChannel::track, TRACK_HIDDEN, TRACK_SELECTED, TRACKING_DOPE_SELECTED_ONLY, TRACKING_DOPE_SHOW_HIDDEN, tracking_dopesheet_channels_segments_calc(), and TRACKING_RECONSTRUCTED.
Referenced by BKE_tracking_dopesheet_update().
|
static |
Definition at line 3127 of file tracking.c.
References MovieTrackingDopesheetChannel::first_not_disabled_marker_framenr, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, MovieTrackingDopesheetChannel::last_not_disabled_marker_framenr, len, MARKER_DISABLED, MovieTrackingTrack::markers, max_ii(), MovieTrackingDopesheetChannel::max_segment, MEM_callocN, MovieTrackingDopesheetChannel::segments, MovieTrackingDopesheetChannel::tot_segment, MovieTrackingDopesheetChannel::total_frames, and MovieTrackingDopesheetChannel::track.
Referenced by tracking_dopesheet_channels_calc().
|
static |
Definition at line 3268 of file tracking.c.
References BLI_listbase_sort(), MovieTrackingDopesheet::channels, channels_alpha_inverse_sort(), channels_alpha_sort(), channels_average_error_inverse_sort(), channels_average_error_sort(), channels_end_inverse_sort(), channels_end_sort(), channels_longest_segment_inverse_sort(), channels_longest_segment_sort(), channels_start_inverse_sort(), channels_start_sort(), channels_total_track_inverse_sort(), channels_total_track_sort(), MovieTracking::dopesheet, inverse(), TRACKING_DOPE_SORT_AVERAGE_ERROR, TRACKING_DOPE_SORT_END, TRACKING_DOPE_SORT_LONGEST, TRACKING_DOPE_SORT_NAME, TRACKING_DOPE_SORT_START, and TRACKING_DOPE_SORT_TOTAL.
Referenced by BKE_tracking_dopesheet_update().
|
static |
Definition at line 126 of file tracking.c.
References BLI_freelistN(), BLI_listbase_clear(), MovieTrackingDopesheet::channels, MovieTrackingDopesheet::coverage_segments, ListBase::first, MEM_freeN, MovieTrackingDopesheetChannel::next, MovieTrackingDopesheetChannel::segments, and MovieTrackingDopesheet::tot_channel.
Referenced by BKE_tracking_dopesheet_update(), and BKE_tracking_free().
|
static |
Definition at line 234 of file tracking.c.
References MovieTrackingObject::plane_tracks, MovieTrackingObject::reconstruction, tracking_plane_tracks_copy(), tracking_reconstruction_copy(), tracking_tracks_copy(), and MovieTrackingObject::tracks.
Referenced by tracking_objects_copy().
|
static |
Definition at line 104 of file tracking.c.
References MovieTrackingObject::plane_tracks, MovieTrackingObject::reconstruction, tracking_plane_tracks_free(), tracking_reconstruction_free(), tracking_tracks_free(), and MovieTrackingObject::tracks.
Referenced by BKE_tracking_object_delete(), and tracking_objects_free().
|
static |
Definition at line 247 of file tracking.c.
References BLI_addtail(), BLI_listbase_clear(), LISTBASE_FOREACH, MEM_mallocN, and tracking_object_copy().
Referenced by BKE_tracking_copy().
Definition at line 112 of file tracking.c.
References BLI_freelistN(), LISTBASE_FOREACH, and tracking_object_free().
Referenced by BKE_tracking_free().
|
static |
Definition at line 189 of file tracking.c.
References BLI_addtail(), BLI_ghash_lookup(), BLI_listbase_clear(), Image::id, id_us_plus(), MovieTrackingPlaneTrack::image, LIB_ID_CREATE_NO_USER_REFCOUNT, LISTBASE_FOREACH, MovieTrackingPlaneTrack::markers, MEM_dupallocN, MEM_mallocN, MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by BKE_tracking_copy(), and tracking_object_copy().
Definition at line 78 of file tracking.c.
References BKE_tracking_plane_track_free(), BLI_freelistN(), and LISTBASE_FOREACH.
Referenced by BKE_tracking_free(), and tracking_object_free().
|
static |
Definition at line 215 of file tracking.c.
References MovieTrackingReconstruction::cameras, and MEM_dupallocN.
Referenced by BKE_tracking_copy(), and tracking_object_copy().
|
static |
Definition at line 92 of file tracking.c.
References MEM_freeN, and reconstruction.
Referenced by BKE_tracking_free(), and tracking_object_free().
|
static |
Definition at line 226 of file tracking.c.
Referenced by BKE_tracking_copy().
float* tracking_track_get_mask_for_region | ( | int | frame_width, |
int | frame_height, | ||
const float | region_min[2], | ||
const float | region_max[2], | ||
MovieTrackingTrack * | track | ||
) |
Region is in pixel space, relative to marker's center.
Definition at line 1203 of file tracking.c.
References mask(), MEM_callocN, NULL, track_mask_gpencil_layer_get(), and track_mask_gpencil_layer_rasterize().
Referenced by accessor_get_mask_for_track_callback(), and BKE_tracking_track_get_mask().
|
static |
Definition at line 165 of file tracking.c.
References BLI_addtail(), BLI_ghash_clear(), BLI_ghash_insert(), BLI_listbase_clear(), MovieTrackingTrack::gpd, bGPdata::id, id_us_plus(), LIB_ID_CREATE_NO_USER_REFCOUNT, LISTBASE_FOREACH, MovieTrackingTrack::markers, MEM_dupallocN, and NULL.
Referenced by BKE_tracking_copy(), and tracking_object_copy().
Definition at line 68 of file tracking.c.
References BKE_tracking_track_free(), BLI_freelistN(), LISTBASE_FOREACH, and tracks.
Referenced by BKE_tracking_free(), and tracking_object_free().
struct { ... } tracking_clipboard |
ListBase tracks |
Definition at line 60 of file tracking.c.
Referenced by mv::AddMarker(), autotrack_context_init_image_accessor(), BKE_animdata_merge_copy(), BKE_nla_blend_read_data(), BKE_nla_blend_read_expand(), BKE_nla_blend_read_lib(), BKE_nla_blend_write(), BKE_nla_tracks_free(), BKE_nlatrack_find_active(), BKE_nlatrack_free(), BKE_nlatrack_set_active(), BKE_nlatracks_have_animated_strips(), BKE_tracking_plane_track_add(), BKE_tracking_tracks_first_last_frame_minmax(), libmv::EuclideanBundle(), libmv::EuclideanBundleCommonIntrinsics(), libmv::EuclideanCompleteReconstruction(), libmv::InternalCompleteReconstruction(), libmv_solveModal(), libmv_solveReconstruction(), libmv_tracks_new(), libmv_tracksNew(), libmv_tracksNewN(), libmv::ModalSolver(), mv::PredictMarkerPosition(), libmv::ProjectiveCompleteReconstruction(), libmv::TEST(), mv::TEST(), tracking_image_accessor_new(), tracking_tracks_free(), tracks_map_merge(), and write_movieTracks().