|
Blender V4.3
|
#include "BLI_sys_types.h"Go to the source code of this file.
Macros | |
| #define | TRACK_SELECTED(track) ((track)->flag & SELECT || (track)->pat_flag & SELECT || (track)->search_flag & SELECT) |
| #define | TRACK_AREA_SELECTED(track, area) |
| #define | TRACK_VIEW_SELECTED(sc, track) |
| #define | PLANE_TRACK_VIEW_SELECTED(plane_track) ((((plane_track)->flag & PLANE_TRACK_HIDDEN) == 0) && ((plane_track)->flag & SELECT)) |
Typedefs | |
| typedef enum eTrackArea | eTrackArea |
| typedef enum eTrackClearAction | eTrackClearAction |
Enumerations | |
| enum | eTrackArea { TRACK_AREA_POINT = (1 << 0) , TRACK_AREA_PAT = (1 << 1) , TRACK_AREA_SEARCH = (1 << 2) , TRACK_AREA_NONE = 0 , TRACK_AREA_ALL = (TRACK_AREA_POINT | TRACK_AREA_PAT | TRACK_AREA_SEARCH) } |
| enum | eTrackClearAction { TRACK_CLEAR_UPTO , TRACK_CLEAR_REMAINED , TRACK_CLEAR_ALL } |
| #define PLANE_TRACK_VIEW_SELECTED | ( | plane_track | ) | ((((plane_track)->flag & PLANE_TRACK_HIDDEN) == 0) && ((plane_track)->flag & SELECT)) |
Definition at line 824 of file BKE_tracking.h.
Referenced by delete_marker_exec(), delete_track_exec(), ED_clip_select_all(), ed_tracking_pick_plane_track(), ed_tracking_plane_track_pick_can_slide(), keyframe_set_flag(), planeTrackToTransDataIfNeeded(), select_exec(), and special_aftertrans_update__movieclip().
| #define TRACK_AREA_SELECTED | ( | track, | |
| area ) |
Definition at line 813 of file BKE_tracking.h.
Referenced by recalcData_tracking(), and select_exec().
| #define TRACK_SELECTED | ( | track | ) | ((track)->flag & SELECT || (track)->pat_flag & SELECT || (track)->search_flag & SELECT) |
Definition at line 810 of file BKE_tracking.h.
Referenced by autotrack_is_track_trackable(), BKE_tracking_clipboard_copy_tracks(), BKE_tracking_count_selected_tracks_in_list(), BKE_tracking_plane_track_add(), BKE_tracking_selected_tracks_in_active_object(), bundle_midpoint(), camera_view3d_reconstruction(), clip_graph_tracking_iterate(), clip_graph_tracking_values_iterate(), ed_object_select_pick_camera_track(), screen_ctx_selected_movieclip_tracks(), track_count_markers(), track_init_markers(), and tracking_dopesheet_channels_calc().
| #define TRACK_VIEW_SELECTED | ( | sc, | |
| track ) |
Definition at line 818 of file BKE_tracking.h.
Referenced by clear_track_path_exec(), count_selected_bundles(), createTransTrackingCurvesData(), delete_marker_exec(), delete_track_exec(), disable_markers_exec(), do_set_scale(), draw_marker_areas(), draw_marker_outline(), draw_marker_slide_zones(), draw_marker_texts(), draw_track_path(), ED_clip_select_all(), ed_tracking_pick_point_track(), ed_tracking_point_track_pick_can_slide(), hide_tracks_exec(), join_tracks_exec(), keyframe_set_flag(), lock_tracks_exec(), recalcData_tracking(), refine_marker_exec(), select_exec(), selected_tracking_boundbox(), set_axis_exec(), set_origin_exec(), set_plane_exec(), special_aftertrans_update__movieclip(), stabilize_2d_add_exec(), stabilize_2d_rotation_add_exec(), track_copy_color_exec(), track_count_markers(), track_init_markers(), tracking_has_selection(), and trackToTransDataIfNeeded().
| typedef enum eTrackArea eTrackArea |
| typedef enum eTrackClearAction eTrackClearAction |
Clear track's path.
| enum eTrackArea |
| Enumerator | |
|---|---|
| TRACK_AREA_POINT | |
| TRACK_AREA_PAT | |
| TRACK_AREA_SEARCH | |
| TRACK_AREA_NONE | |
| TRACK_AREA_ALL | |
Definition at line 39 of file BKE_tracking.h.
| enum eTrackClearAction |
Clear track's path.
| Enumerator | |
|---|---|
| TRACK_CLEAR_UPTO | |
| TRACK_CLEAR_REMAINED | |
| TRACK_CLEAR_ALL | |
Definition at line 219 of file BKE_tracking.h.
| void BKE_autotrack_context_finish | ( | struct AutoTrackContext * | context | ) |
Definition at line 836 of file tracking_auto.cc.
References BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_object_get_active(), BKE_tracking_plane_track_has_point_track(), BKE_tracking_track_plane_from_existing_motion(), AutoTrackClip::clip, AutoTrackTrack::is_trackable, LISTBASE_FOREACH, PLANE_TRACK_AUTOKEY, MovieTrackingObject::plane_tracks, and AutoTrackTrack::track.
Referenced by track_markers_endjob().
| void BKE_autotrack_context_free | ( | struct AutoTrackContext * | context | ) |
Definition at line 878 of file tracking_auto.cc.
References BLI_freelistN(), BLI_spin_end(), libmv_autoTrackDestroy(), MEM_freeN(), MEM_SAFE_FREE, release_keyframed_image_buffers(), and tracking_image_accessor_destroy().
Referenced by track_markers_freejob().
| struct AutoTrackContext * BKE_autotrack_context_new | ( | struct MovieClip * | clip, |
| struct MovieClipUser * | user, | ||
| bool | is_backwards ) |
Definition at line 541 of file tracking_auto.cc.
References autotrack_context_init_autotrack(), autotrack_context_init_clips(), autotrack_context_init_image_accessor(), autotrack_context_init_markers(), autotrack_context_init_tracks(), BLI_spin_init(), and MovieClipUser::framenr.
Referenced by track_markers_initjob().
| void BKE_autotrack_context_start | ( | struct AutoTrackContext * | context | ) |
Definition at line 610 of file tracking_auto.cc.
References reference_keyframed_image_buffers().
Referenced by track_markers_startjob().
| bool BKE_autotrack_context_step | ( | struct AutoTrackContext * | context | ) |
Definition at line 706 of file tracking_auto.cc.
References autotrack_context_reduce(), autotrack_context_step_cb(), BLI_listbase_clear(), BLI_movelisttolist(), BLI_parallel_range_settings_defaults(), BLI_spin_lock(), BLI_spin_unlock(), BLI_task_parallel_range(), libmv_autoTrackAddMarker(), LISTBASE_FOREACH, and AutoTrackTLS::results.
Referenced by track_markers_startjob().
| void BKE_autotrack_context_sync | ( | struct AutoTrackContext * | context | ) |
Definition at line 759 of file tracking_auto.cc.
References BKE_movieclip_remap_clip_to_scene_frame(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_dopesheet_tag_update(), BKE_tracking_marker_get_exact(), BKE_tracking_marker_insert(), BLI_assert, BLI_listbase_clear(), BLI_spin_lock(), BLI_spin_unlock(), AutoTrackClip::clip, libmv_Marker::clip, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, AutoTrackClip::height, libmv_marker_to_dna_marker(), LISTBASE_FOREACH_MUTABLE, MARKER_DISABLED, max_ii(), MEM_freeN(), min_ii(), AutoTrackTrack::track, libmv_Marker::track, tracking_marker_insert_disabled(), and AutoTrackClip::width.
Referenced by track_markers_endjob(), and track_markers_updatejob().
| void BKE_autotrack_context_sync_user | ( | struct AutoTrackContext * | context, |
| struct MovieClipUser * | user ) |
Definition at line 822 of file tracking_auto.cc.
References MovieClipUser::framenr.
Referenced by clip_main_region_draw().
| bool BKE_tracking_camera_distortion_equal | ( | const struct MovieTrackingCamera * | a, |
| const struct MovieTrackingCamera * | b ) |
Referenced by blender::realtime_compositor::operator==().
| uint64_t BKE_tracking_camera_distortion_hash | ( | const struct MovieTrackingCamera * | camera | ) |
Referenced by blender::realtime_compositor::DistortionGridKey::hash().
| struct MovieReconstructedCamera * BKE_tracking_camera_get_reconstructed | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object, | ||
| int | framenr ) |
Definition at line 2133 of file tracking.cc.
References reconstructed_camera_index_get(), MovieTrackingObject::reconstruction, and reconstruction.
Referenced by BKE_tracking_get_projection_matrix(), and frame_jump_exec().
| void BKE_tracking_camera_get_reconstructed_interpolate | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object, | ||
| float | framenr, | ||
| float | mat[4][4] ) |
Definition at line 2146 of file tracking.cc.
References blend_m4_m4m4(), copy_m4_m4(), float, MovieReconstructedCamera::framenr, reconstructed_camera_index_get(), reconstructed_camera_scale_set(), MovieTrackingObject::reconstruction, reconstruction, 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_principal_point_pixel_get | ( | struct MovieClip * | clip, |
| float | r_principal_point_pixel[2] ) |
Definition at line 2173 of file tracking.cc.
References BKE_movieclip_get_size(), DNA_struct_default_get, and tracking_principal_point_normalized_to_pixel().
| void BKE_tracking_camera_principal_point_pixel_set | ( | struct MovieClip * | clip, |
| const float | principal_point_pixel[2] ) |
Definition at line 2186 of file tracking.cc.
References BKE_movieclip_get_size(), DNA_struct_default_get, and tracking_principal_point_pixel_to_normalized().
| 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 2102 of file tracking.cc.
References tracking_principal_point_normalized_to_pixel().
Referenced by BKE_tracking_camera_to_blender(), and BKE_tracking_get_projection_matrix().
| void BKE_tracking_camera_to_blender | ( | struct MovieTracking * | tracking, |
| struct Scene * | scene, | ||
| struct Camera * | camera, | ||
| int | width, | ||
| int | height ) |
Definition at line 2115 of file tracking.cc.
References BKE_tracking_camera_shift_get(), and CAMERA_SENSOR_FIT_HOR.
Referenced by solve_camera_freejob().
| void BKE_tracking_clipboard_copy_tracks | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object ) |
Copy selected tracks from specified object to the clipboard.
Definition at line 460 of file tracking.cc.
References BKE_tracking_clipboard_free(), BKE_tracking_track_duplicate(), BLI_addtail(), LISTBASE_FOREACH, TRACK_HIDDEN, TRACK_SELECTED, tracking_clipboard, and MovieTrackingObject::tracks.
Referenced by copy_tracks_exec().
| void BKE_tracking_clipboard_free | ( | void | ) |
Free clipboard by freeing memory used by all tracks in it.
Definition at line 443 of file tracking.cc.
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().
| bool BKE_tracking_clipboard_has_tracks | ( | void | ) |
Check whether there are any tracks in the clipboard.
Definition at line 476 of file tracking.cc.
References BLI_listbase_is_empty(), and tracking_clipboard.
Referenced by paste_tracks_poll().
| void BKE_tracking_clipboard_paste_tracks | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object ) |
Paste tracks from clipboard to specified object.
Names of new tracks in object are guaranteed to be unique here.
Definition at line 481 of file tracking.cc.
References MovieTrackingObject::active_track, BKE_tracking_track_duplicate(), BKE_tracking_track_unique_name(), BLI_addtail(), LISTBASE_FOREACH, tracking_clipboard, and MovieTrackingObject::tracks.
Referenced by paste_tracks_exec().
| void BKE_tracking_copy | ( | struct MovieTracking * | tracking_dst, |
| const struct MovieTracking * | tracking_src, | ||
| int | flag ) |
Copy tracking structure content.
Referenced by movie_clip_copy_data().
| int BKE_tracking_count_selected_tracks_in_active_object | ( | struct MovieTracking * | tracking | ) |
Definition at line 640 of file tracking.cc.
References BKE_tracking_count_selected_tracks_in_list(), BKE_tracking_object_get_active(), and MovieTrackingObject::tracks.
Referenced by average_tracks_invoke(), and BKE_tracking_selected_tracks_in_active_object().
| void BKE_tracking_detect_fast | ( | struct MovieTracking * | tracking, |
| struct ListBase * | tracksbase, | ||
| struct ImBuf * | ibuf, | ||
| int | framenr, | ||
| int | margin, | ||
| int | min_trackness, | ||
| int | min_distance, | ||
| struct bGPDlayer * | layer, | ||
| bool | place_outside_layer ) |
Detect features using FAST detector.
Definition at line 136 of file tracking_detect.cc.
References LIBMV_DETECTOR_FAST, options, and run_configured_detector().
| void BKE_tracking_detect_harris | ( | struct MovieTracking * | tracking, |
| struct ListBase * | tracksbase, | ||
| struct ImBuf * | ibuf, | ||
| int | framenr, | ||
| int | margin, | ||
| float | threshold, | ||
| int | min_distance, | ||
| struct bGPDlayer * | layer, | ||
| bool | place_outside_layer ) |
Detect features using Harris detector.
Definition at line 157 of file tracking_detect.cc.
References LIBMV_DETECTOR_HARRIS, options, and run_configured_detector().
Referenced by detect_features_exec().
| 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 2876 of file tracking.cc.
References b, ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IB_RECT_INVALID, ImBuf::userflags, ImBuf::x, x, and ImBuf::y.
Referenced by disable_imbuf_channels(), and postprocess_frame().
| struct ImBuf * BKE_tracking_distort_frame | ( | struct MovieTracking * | tracking, |
| struct ImBuf * | ibuf, | ||
| int | calibration_width, | ||
| int | calibration_height, | ||
| float | overscan ) |
Definition at line 2493 of file tracking.cc.
References BKE_tracking_distortion_exec(), BKE_tracking_distortion_new(), and MovieTrackingCamera::intrinsics.
| void BKE_tracking_distort_v2 | ( | struct MovieTracking * | tracking, |
| int | image_width, | ||
| int | image_height, | ||
| const float | co[2], | ||
| float | r_co[2] ) |
Definition at line 2421 of file tracking.cc.
References image_height, image_width, libmv_cameraIntrinsicsApply(), libmv_cameraIntrinsicsDestroy(), libmv_cameraIntrinsicsNew(), MovieTrackingCamera::pixel_aspect, tracking_cameraIntrinscisOptionsFromTracking(), tracking_principal_point_normalized_to_pixel(), 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().
| struct MovieDistortion * BKE_tracking_distortion_copy | ( | struct MovieDistortion * | distortion | ) |
Definition at line 2313 of file tracking.cc.
References MovieDistortion::intrinsics, and libmv_cameraIntrinsicsCopy().
Referenced by local_merge(), and blender::nodes::node_composite_moviedistortion_cc::storage_copy().
| void BKE_tracking_distortion_distort_v2 | ( | struct MovieDistortion * | distortion, |
| const float | co[2], | ||
| float | r_co[2] ) |
Definition at line 2384 of file tracking.cc.
References libmv_cameraIntrinsicsApply(), x, and y.
Referenced by blender::compositor::MovieDistortionOperation::update_memory_buffer_partial().
| struct ImBuf * BKE_tracking_distortion_exec | ( | struct MovieDistortion * | distortion, |
| struct MovieTracking * | tracking, | ||
| struct ImBuf * | ibuf, | ||
| int | width, | ||
| int | height, | ||
| float | overscan, | ||
| bool | undistort ) |
Definition at line 2324 of file tracking.cc.
References BKE_tracking_distortion_update(), ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_dupImBuf(), imb_freerectImBuf(), libmv_cameraIntrinsicsDistortByte(), libmv_cameraIntrinsicsDistortFloat(), libmv_cameraIntrinsicsUndistortByte(), libmv_cameraIntrinsicsUndistortFloat(), ImBuf::x, and ImBuf::y.
Referenced by BKE_tracking_distort_frame(), BKE_tracking_undistort_frame(), and get_undistorted_ibuf().
| void BKE_tracking_distortion_free | ( | struct MovieDistortion * | distortion | ) |
Definition at line 2414 of file tracking.cc.
References 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().
| struct MovieDistortion * BKE_tracking_distortion_new | ( | struct MovieTracking * | tracking, |
| int | calibration_width, | ||
| int | calibration_height ) |
Definition at line 2263 of file tracking.cc.
References libmv_cameraIntrinsicsNew(), tracking_cameraIntrinscisOptionsFromTracking(), and tracking_principal_point_normalized_to_pixel().
Referenced by BKE_tracking_distort_frame(), BKE_tracking_undistort_frame(), blender::realtime_compositor::DistortionGrid::DistortionGrid(), do_movie_proxy(), do_sequence_proxy(), and blender::compositor::MovieDistortionOperation::init_execution().
| void BKE_tracking_distortion_set_threads | ( | struct MovieDistortion * | distortion, |
| int | threads ) |
Definition at line 2308 of file tracking.cc.
References libmv_cameraIntrinsicsSetThreads().
Referenced by do_movie_proxy().
| void BKE_tracking_distortion_undistort_v2 | ( | struct MovieDistortion * | distortion, |
| const float | co[2], | ||
| float | r_co[2] ) |
Definition at line 2402 of file tracking.cc.
References float, and libmv_cameraIntrinsicsInvert().
Referenced by blender::compositor::MovieDistortionOperation::update_memory_buffer_partial().
| void BKE_tracking_distortion_update | ( | struct MovieDistortion * | distortion, |
| struct MovieTracking * | tracking, | ||
| int | calibration_width, | ||
| int | calibration_height ) |
Definition at line 2287 of file tracking.cc.
References libmv_cameraIntrinsicsUpdate(), tracking_cameraIntrinscisOptionsFromTracking(), and tracking_principal_point_normalized_to_pixel().
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.cc.
References 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.cc.
References 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().
| struct MovieTrackingObject * BKE_tracking_find_object_for_plane_track | ( | const struct MovieTracking * | tracking, |
| const struct MovieTrackingPlaneTrack * | plane_track ) |
| struct MovieTrackingObject * BKE_tracking_find_object_for_track | ( | const struct MovieTracking * | tracking, |
| const struct MovieTrackingTrack * | track ) |
| 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 160 of file tracking.cc.
References BKE_tracking_distortion_free(), tracking_dopesheet_free(), and tracking_objects_free().
Referenced by movie_clip_free_data().
Get transformation matrix for a given object which is used for parenting motion tracker reconstruction to 3D world.
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().
| struct ImBuf * BKE_tracking_get_pattern_imbuf | ( | const struct ImBuf * | ibuf, |
| const struct MovieTrackingTrack * | track, | ||
| const struct MovieTrackingMarker * | marker, | ||
| bool | anchored, | ||
| bool | disable_channels ) |
| struct ImBuf * BKE_tracking_get_plane_imbuf | ( | const struct ImBuf * | frame_ibuf, |
| const struct MovieTrackingPlaneMarker * | plane_marker ) |
Referenced by sample_plane_marker_image_for_operator().
| void BKE_tracking_get_projection_matrix | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_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 386 of file tracking.cc.
References BKE_tracking_camera_get_reconstructed(), BKE_tracking_camera_shift_get(), camera, copy_m4_m4(), float, invert_m4_m4(), left, min_ii(), mul_m4_m4m4(), perspective_m4(), 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 ) |
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_maxncpy ) |
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_maxncpy ) |
| 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 ) |
| struct ImBuf * BKE_tracking_get_search_imbuf | ( | const struct ImBuf * | ibuf, |
| const struct MovieTrackingTrack * | track, | ||
| const struct MovieTrackingMarker * | marker, | ||
| bool | anchored, | ||
| bool | disable_channels ) |
Referenced by BKE_movieclip_update_scopes(), and track_get_search_floatbuf().
| void BKE_tracking_homography_between_two_quads | ( | float | reference_corners[4][2], |
| float | corners[4][2], | ||
| float | H[3][3] ) |
Definition at line 213 of file tracking_plane_tracker.cc.
References copy_m3_m3d(), float_corners_to_double(), H, and libmv_homography2DFromCorrespondencesEuc().
Referenced by BKE_mask_point_parent_matrix_get(), blender::compositor::PlaneDistortWarpImageOperation::calculate_corners(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::compute_homography_matrices(), blender::nodes::node_composite_cornerpin_cc::CornerPinOperation::compute_homography_matrix(), and draw_plane_marker_image().
| 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 1308 of file tracking.cc.
References 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 1338 of file tracking.cc.
References 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 1327 of file tracking.cc.
References 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 | ( | struct MovieTrackingTrack * | track, |
| int | framenr ) |
Definition at line 1281 of file tracking.cc.
References MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_freeN(), and MEM_reallocN.
Referenced by clip_delete_marker().
| struct MovieTrackingMarker * BKE_tracking_marker_ensure | ( | struct MovieTrackingTrack * | track, |
| int | framenr ) |
Definition at line 1402 of file tracking.cc.
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().
| struct 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 1358 of file tracking.cc.
References BLI_assert, BLI_assert_msg, clamp_i(), MovieTrackingMarker::framenr, MovieTrackingTrack::markers, and MovieTrackingTrack::markersnr.
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(), circle_select_exec(), clip_draw_grease_pencil(), blender::compositor::KeyingScreenOperation::compute_marker_points(), blender::realtime_compositor::compute_marker_points(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::compute_marker_position_at_frame(), do_lasso_select_marker(), draw_tracking_tracks(), ED_clip_select_all(), ed_tracking_pick_point_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(), tracking_context_get_reference_ibuf(), tracking_get_keyframed_marker(), tracking_has_selection(), and uiTemplateMarker().
| struct MovieTrackingMarker * BKE_tracking_marker_get_exact | ( | struct MovieTrackingTrack * | track, |
| int | framenr ) |
Definition at line 1391 of file tracking.cc.
References BKE_tracking_marker_get(), and MovieTrackingMarker::framenr.
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(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::compute_temporally_neighboring_marker_position(), 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 1437 of file tracking.cc.
References BKE_tracking_marker_get(), MovieTrackingMarker::flag, float, MovieTrackingMarker::framenr, get_usable_marker_for_interpolation(), interp_v2_v2v2(), MARKER_DISABLED, 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 | ( | struct MovieTrackingTrack * | track, |
| float | framenr, | ||
| float | pos[2] ) |
Definition at line 1507 of file tracking.cc.
References add_v2_v2(), BKE_tracking_marker_get(), copy_v2_v2(), MovieTrackingMarker::framenr, int, interp_v2_v2v2(), MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MovieTrackingTrack::offset, MovieTrackingMarker::pos, and pos.
Referenced by BKE_mask_point_parent_matrix_get(), and followtrack_evaluate_using_2d_position().
| struct MovieTrackingMarker * BKE_tracking_marker_insert | ( | struct MovieTrackingTrack * | track, |
| struct MovieTrackingMarker * | marker ) |
Definition at line 1235 of file tracking.cc.
References BKE_tracking_marker_get_exact(), MovieTrackingMarker::framenr, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, and MEM_reallocN.
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 struct MovieTrackingMarker * | marker, |
| float | min[2], | ||
| float | max[2] ) |
| void BKE_tracking_max_distortion_delta_across_bound | ( | struct MovieTracking * | tracking, |
| int | image_width, | ||
| int | image_height, | ||
| const struct rcti * | rect, | ||
| bool | undistort, | ||
| float | r_delta[2] ) |
Referenced by blender::compositor::MovieDistortionOperation::init_data().
| struct MovieTrackingObject * BKE_tracking_object_add | ( | struct MovieTracking * | tracking, |
| const char * | name ) |
Definition at line 1897 of file tracking.cc.
References BKE_tracking_dopesheet_tag_update(), BKE_tracking_object_unique_name(), BLI_addtail(), BLI_listbase_count(), MovieTrackingObject::flag, MovieTrackingObject::keyframe1, MovieTrackingObject::keyframe2, MovieTrackingObject::name, MovieTrackingObject::scale, STRNCPY, 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 | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object ) |
Definition at line 1926 of file tracking.cc.
References BKE_tracking_dopesheet_tag_update(), BLI_findindex(), BLI_freelinkN(), MovieTrackingObject::flag, TRACKING_OBJECT_CAMERA, and tracking_object_free().
Referenced by tracking_object_remove_exec().
| struct MovieTrackingPlaneTrack * BKE_tracking_object_find_plane_track_with_name | ( | struct MovieTrackingObject * | tracking_object, |
| const char * | name ) |
Definition at line 2005 of file tracking.cc.
References LISTBASE_FOREACH, MovieTrackingObject::plane_tracks, and STREQ.
Referenced by BKE_mask_point_parent_matrix_get(), and blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::get_plane_track().
| struct MovieTrackingTrack * BKE_tracking_object_find_track_with_name | ( | struct MovieTrackingObject * | tracking_object, |
| const char * | name ) |
Definition at line 1993 of file tracking.cc.
References LISTBASE_FOREACH, STREQ, and MovieTrackingObject::tracks.
Referenced by BKE_mask_point_parent_matrix_get(), followtrack_context_init(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::get_movie_tracking_track(), and blender::ed::object::test_constraint().
| struct MovieTrackingObject * BKE_tracking_object_get_active | ( | const struct MovieTracking * | tracking | ) |
Referenced by add_marker(), annotation_session_initdata(), apply_mouse_slide(), apply_solution_scale_poll(), autotrack_context_init_tracks_for_clip(), average_tracks_exec(), BKE_autotrack_context_finish(), BKE_movieclip_update_scopes(), box_select_exec(), box_select_graph_exec(), circle_select_exec(), clean_tracks_exec(), clear_solution_exec(), clear_track_path_exec(), clip_delete_plane_track(), clip_delete_track(), clip_draw_grease_pencil(), clip_graph_tracking_iterate(), clip_graph_tracking_values_iterate(), clip_graph_tracking_values_iterate_track_reprojection_error_values(), clip_tracking_clear_invisible_track_selection(), blender::compositor::KeyingScreenOperation::compute_marker_points(), copy_tracks_exec(), count_selected_bundles(), create_plane_track_tracks_exec(), createTransTrackingCurvesData(), createTransTrackingTracksData(), delete_curve_exec(), delete_knot_exec(), delete_marker_exec(), delete_track_exec(), detect_features_exec(), disable_markers_exec(), do_lasso_select_marker(), do_set_scale(), dopesheet_select_channel_exec(), draw_frame_curves(), draw_movieclip_cache(), draw_tracking_tracks(), draw_tracks_motion_and_error_curves(), ED_annotation_data_get_pointers_direct(), ED_clip_select_all(), ed_tracking_pick_plane_track(), ed_tracking_pick_point_track(), frame_jump_exec(), blender::nodes::node_composite_keyingscreen_cc::KeyingScreenOperation::get_movie_tracking_object(), get_orientation_object(), graph_disable_markers_exec(), graph_select_all_markers_exec(), hide_tracks_clear_exec(), hide_tracks_exec(), blender::nodes::node_composite_planetrackdeform_cc::init(), blender::nodes::node_composite_trackpos_cc::init(), join_tracks_exec(), keyframe_set_flag(), lock_tracks_exec(), mask_parent_set_exec(), mouse_select_curve(), mouse_select_knot(), new_image_from_plane_marker_exec(), new_image_from_plane_marker_poll(), blender::nodes::node_composite_keyingscreen_cc::node_composit_init_keyingscreen(), paste_tracks_exec(), recalcData_tracking(), refine_marker_exec(), sample_plane_marker_image_for_operator(), screen_ctx_selected_movieclip_tracks(), select_exec(), select_grouped_exec(), selected_tracking_boundbox(), set_axis_exec(), set_orientation_poll(), set_origin_exec(), set_plane_exec(), set_solution_scale_poll(), set_solver_keyframe_exec(), slide_marker_invoke(), slide_plane_marker_invoke(), solve_camera_freejob(), solve_camera_initjob(), solve_camera_invoke(), special_aftertrans_update__movieclip(), stabilize_2d_add_exec(), stabilize_2d_poll(), 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(), tracking_object_remove_exec(), update_image_from_plane_marker_exec(), update_image_from_plane_marker_poll(), and version_motion_tracking_legacy_camera_object().
| struct MovieTrackingObject * BKE_tracking_object_get_camera | ( | const struct MovieTracking * | tracking | ) |
Referenced by average_marker_positions(), average_track_contributions(), calculate_autoscale_factor(), camerasolver_evaluate(), establish_track_initialization_order(), find_next_working_frames(), followtrack_tracking_object_get(), init_all_tracks(), blender::ed::object::test_constraint(), and version_motion_tracking_legacy_camera_object().
| struct MovieTrackingObject * BKE_tracking_object_get_named | ( | struct MovieTracking * | tracking, |
| const char * | name ) |
Definition at line 1966 of file tracking.cc.
References LISTBASE_FOREACH, and STREQ.
Referenced by BKE_mask_point_parent_matrix_get(), BKE_tracking_reconstruction_finish(), blender::compositor::KeyingScreenOperation::compute_marker_points(), followtrack_tracking_object_get(), blender::nodes::node_composite_keyingscreen_cc::KeyingScreenOperation::get_movie_tracking_object(), blender::nodes::node_composite_trackpos_cc::TrackPositionOperation::get_movie_tracking_track(), blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::get_plane_track(), 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(), blender::ed::object::test_constraint(), and tracks_map_merge().
| void BKE_tracking_object_unique_name | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object ) |
Definition at line 1956 of file tracking.cc.
References BLI_uniquename(), DATA_, MovieTrackingObject::name, and offsetof.
Referenced by BKE_tracking_object_add().
| void BKE_tracking_plane_marker_delete | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | framenr ) |
Definition at line 1760 of file tracking.cc.
References MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, MEM_freeN(), and MEM_reallocN.
Referenced by delete_marker_exec().
| struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_ensure | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | framenr ) |
Ensure there's a marker for the given frame.
Definition at line 1849 of file tracking.cc.
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().
| struct 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 1791 of file tracking.cc.
References MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::last_marker, markers, MovieTrackingPlaneTrack::markers, and MovieTrackingPlaneTrack::markersnr.
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(), ed_tracking_pick_plane_track(), find_plane_keyframe(), mask_parent_set_exec(), sample_plane_marker_image_for_operator(), and track_plane_from_existing_motion().
| struct 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 1837 of file tracking.cc.
References BKE_tracking_plane_marker_get(), and MovieTrackingPlaneMarker::framenr.
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 | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| float | framenr, | ||
| float | corners[4][2] ) |
Definition at line 1866 of file tracking.cc.
References BKE_tracking_plane_marker_get(), copy_v2_v2(), MovieTrackingPlaneMarker::corners, MovieTrackingPlaneMarker::framenr, int, interp_v2_v2v2(), MovieTrackingPlaneTrack::markers, and MovieTrackingPlaneTrack::markersnr.
Referenced by BKE_mask_point_parent_matrix_get(), and blender::nodes::node_composite_planetrackdeform_cc::PlaneTrackDeformOperation::compute_homography_matrices().
| struct MovieTrackingPlaneMarker * BKE_tracking_plane_marker_insert | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| struct MovieTrackingPlaneMarker * | plane_marker ) |
Definition at line 1719 of file tracking.cc.
References BKE_tracking_plane_marker_get_exact(), MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::markers, MovieTrackingPlaneTrack::markersnr, and MEM_reallocN.
Referenced by BKE_tracking_plane_marker_ensure(), BKE_tracking_plane_track_add(), and track_plane_from_existing_motion().
| struct 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 1542 of file tracking.cc.
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, DATA_, MovieTrackingPlaneMarker::flag, MovieTrackingPlaneMarker::framenr, MovieTrackingPlaneTrack::image_opacity, INIT_MINMAX2, LISTBASE_FOREACH, minmax_v2v2_v2(), MovieTrackingPlaneTrack::name, MovieTrackingPlaneTrack::point_tracks, MovieTrackingPlaneTrack::point_tracksnr, MovieTrackingMarker::pos, STRNCPY, and TRACK_SELECTED.
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 1625 of file tracking.cc.
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().
| bool BKE_tracking_plane_track_has_enabled_marker_at_frame | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | framenr ) |
| bool BKE_tracking_plane_track_has_marker_at_frame | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | framenr ) |
| bool BKE_tracking_plane_track_has_point_track | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| struct MovieTrackingTrack * | track ) |
Definition at line 1641 of file tracking.cc.
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 | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| struct MovieTrackingTrack * | track ) |
Definition at line 1652 of file tracking.cc.
References MEM_freeN(), MovieTrackingPlaneTrack::point_tracks, and MovieTrackingPlaneTrack::point_tracksnr.
Referenced by BKE_tracking_plane_tracks_remove_point_track().
| void BKE_tracking_plane_track_replace_point_track | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| struct MovieTrackingTrack * | old_track, | ||
| struct MovieTrackingTrack * | new_track ) |
Definition at line 1691 of file tracking.cc.
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 | ( | struct ListBase * | plane_tracks_base, |
| struct MovieTrackingPlaneTrack * | plane_track ) |
Definition at line 1614 of file tracking.cc.
References BLI_uniquename(), BLT_I18NCONTEXT_ID_MOVIECLIP, CTX_DATA_, MovieTrackingPlaneTrack::name, and offsetof.
Referenced by BKE_tracking_plane_track_add().
| void BKE_tracking_plane_tracks_deselect_all | ( | struct ListBase * | plane_tracks_base | ) |
Definition at line 1634 of file tracking.cc.
References LISTBASE_FOREACH.
Referenced by add_marker(), and average_tracks_exec().
| void BKE_tracking_plane_tracks_remove_point_track | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingTrack * | track ) |
Definition at line 1675 of file tracking.cc.
References BKE_tracking_object_get_active(), BKE_tracking_plane_track_free(), BKE_tracking_plane_track_has_point_track(), BKE_tracking_plane_track_remove_point_track(), BLI_freelinkN(), LISTBASE_FOREACH_MUTABLE, and MovieTrackingObject::plane_tracks.
Referenced by clip_delete_track().
| void BKE_tracking_plane_tracks_replace_point_track | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingTrack * | old_track, | ||
| struct MovieTrackingTrack * | new_track ) |
Definition at line 1703 of file tracking.cc.
References BKE_tracking_object_get_active(), BKE_tracking_plane_track_has_point_track(), BKE_tracking_plane_track_replace_point_track(), LISTBASE_FOREACH, and MovieTrackingObject::plane_tracks.
| bool BKE_tracking_reconstruction_check | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingObject * | tracking_object, | ||
| char * | error_msg, | ||
| int | error_size ) |
Perform early check on whether everything is fine to start reconstruction.
Definition at line 291 of file tracking_solver.cc.
References BLI_strncpy(), N_, reconstruct_count_tracks_on_both_keyframes(), TRACKING_MOTION_MODAL, and TRACKING_USE_KEYFRAME_SELECTION.
Referenced by solve_camera_initjob().
| void BKE_tracking_reconstruction_context_free | ( | struct MovieReconstructContext * | context | ) |
Free memory used by a reconstruction process.
Definition at line 401 of file tracking_solver.cc.
References libmv_reconstructionDestroy(), libmv_tracksDestroy(), MEM_freeN(), and tracks_map_free().
Referenced by solve_camera_freejob().
| struct MovieReconstructContext * BKE_tracking_reconstruction_context_new | ( | struct MovieClip * | clip, |
| struct MovieTrackingObject * | tracking_object, | ||
| int | keyframe1, | ||
| int | keyframe2, | ||
| int | width, | ||
| int | height ) |
Create context for camera/object motion reconstruction. Copies all data needed for reconstruction from movie clip datablock, so editing this clip is safe during reconstruction job is in progress.
Definition at line 319 of file tracking_solver.cc.
References BLI_listbase_count(), MovieTrackingMarker::flag, MovieTrackingMarker::framenr, libmv_tracks_new(), LISTBASE_FOREACH, MARKER_DISABLED, max_ii(), min_ii(), MovieTrackingObject::name, reconstruct_refine_intrinsics_get_flags(), STRNCPY, tracking_cameraIntrinscisOptionsFromTracking(), TRACKING_USE_KEYFRAME_SELECTION, MovieTrackingObject::tracks, tracks_map_insert(), and tracks_map_new().
Referenced by solve_camera_initjob().
| const char * BKE_tracking_reconstruction_error_message_get | ( | const struct MovieReconstructContext * | context | ) |
Referenced by solve_camera_freejob().
| bool BKE_tracking_reconstruction_finish | ( | struct MovieReconstructContext * | context, |
| struct MovieTracking * | tracking ) |
Finish reconstruction process by copying reconstructed data to an actual movie clip data-block.
Definition at line 487 of file tracking_solver.cc.
References BKE_tracking_dopesheet_tag_update(), BKE_tracking_object_get_named(), BKE_tracking_reconstruction_report_error_message(), MovieTrackingObject::keyframe1, MovieTrackingObject::keyframe2, libmv_reconstructionIsValid(), reconstruct_retrieve_libmv(), MovieTrackingObject::reconstruction, reconstruction, TRACKING_RECONSTRUCTED, and tracks_map_merge().
Referenced by solve_camera_freejob().
| void BKE_tracking_reconstruction_report_error_message | ( | struct MovieReconstructContext * | context, |
| const char * | error_message ) |
Definition at line 386 of file tracking_solver.cc.
References STRNCPY.
Referenced by BKE_tracking_reconstruction_finish().
| void BKE_tracking_reconstruction_scale | ( | struct MovieTracking * | tracking, |
| float | scale[3] ) |
Apply scale on all reconstructed cameras and bundles, used by camera scale apply operator.
Definition at line 542 of file tracking_solver.cc.
References LISTBASE_FOREACH, and tracking_scale_reconstruction().
Referenced by blender::ed::object::apply_objects_internal().
| void BKE_tracking_reconstruction_solve | ( | struct MovieReconstructContext * | context, |
| bool * | stop, | ||
| bool * | do_update, | ||
| float * | progress, | ||
| char * | stats_message, | ||
| int | message_size ) |
Solve camera/object motion and reconstruct 3D markers position from a prepared reconstruction context.
stop is not actually used at this moment, so reconstruction job could not be stopped.
do_update, progress and stat_message are set by reconstruction callback in libmv side and passing to an interface.
Definition at line 440 of file tracking_solver.cc.
References ReconstructProgressData::do_update, error(), libmv_ReconstructionOptions::keyframe1, libmv_ReconstructionOptions::keyframe2, libmv_reprojectionError(), libmv_solveModal(), libmv_solveReconstruction(), ReconstructProgressData::message_size, ReconstructProgressData::progress, reconstruct_update_solve_cb(), reconstructionOptionsFromContext(), ReconstructProgressData::stats_message, ReconstructProgressData::stop, and TRACKING_MOTION_MODAL.
Referenced by solve_camera_startjob().
| void BKE_tracking_refine_marker | ( | struct MovieClip * | clip, |
| struct MovieTrackingTrack * | track, | ||
| struct MovieTrackingMarker * | marker, | ||
| bool | backwards ) |
Refine marker's position using previously known keyframe. Direction of searching for a keyframe depends on backwards flag, which means if backwards is false, previous keyframe will be as reference.
Definition at line 300 of file tracking_region_tracker.cc.
References MovieTrackingTrack::algorithm_flag, BKE_movieclip_get_ibuf_flag(), BKE_movieclip_get_size(), BKE_movieclip_remap_clip_to_scene_frame(), BKE_tracking_track_get_mask(), configure_and_run_tracker(), DNA_struct_default_get, MovieTrackingMarker::flag, MovieClipUser::framenr, MovieTrackingMarker::framenr, IMB_freeImBuf(), MARKER_TRACKED, MCLIP_TIMECODE_FLAGS, MEM_freeN(), MOVIECLIP_CACHE_SKIP, refine_marker_reference_frame_get(), TRACK_ALGORITHM_FLAG_USE_MASK, track_get_search_floatbuf(), tracking_context_get_reference_ibuf(), and tracking_set_marker_coords_from_tracking().
Referenced by refine_marker_exec().
| void BKE_tracking_retrack_plane_from_existing_motion_at_segment | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | start_frame ) |
Definition at line 182 of file tracking_plane_tracker.cc.
References find_plane_keyframe(), MovieTrackingPlaneMarker::framenr, and track_plane_from_existing_motion().
Referenced by keyframe_set_flag().
| struct ImBuf * BKE_tracking_sample_pattern | ( | int | frame_width, |
| int | frame_height, | ||
| const struct ImBuf * | search_ib, | ||
| const struct MovieTrackingTrack * | track, | ||
| const struct MovieTrackingMarker * | marker, | ||
| bool | from_anchor, | ||
| bool | use_mask, | ||
| int | num_samples_x, | ||
| int | num_samples_y, | ||
| float | pos[2] ) |
Referenced by ui_draw_but_TRACKPREVIEW().
| struct 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 646 of file tracking.cc.
References BKE_tracking_count_selected_tracks_in_active_object(), BKE_tracking_object_get_active(), LISTBASE_FOREACH, TRACK_SELECTED, and MovieTrackingObject::tracks.
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 329 of file tracking.cc.
References BKE_tracking_object_add(), CAMERA_UNITS_MM, DATA_, REFINE_NO_INTRINSICS, 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, and zero_v2().
Referenced by movie_clip_init_data().
| void BKE_tracking_stabilization_data_get | ( | struct MovieClip * | clip, |
| int | framenr, | ||
| int | width, | ||
| int | height, | ||
| float | translation[2], | ||
| float * | scale, | ||
| float * | angle ) |
Get stabilization data (translation, scaling and angle) for a given frame. Returned data describes how to compensate the detected movement, but with any chosen scale factor already applied and any target frame position already compensated. In case stabilization fails or is disabled, neutral values are returned.
| framenr | is a frame number, relative to the clip (not relative to the scene timeline). |
| width | is an effective width of the canvas (square pixels), used to scale the determined translation. |
Outputs:
| translation | of the lateral shift, absolute canvas coordinates (square pixels). |
| scale | of the scaling to apply. |
| angle | of the rotation angle, relative to the frame center. |
TODO(sergey): Use r_ prefix for output parameters here.
Definition at line 1250 of file tracking_stabilize.cc.
References MovieTracking::camera, compensate_rotation_center(), discard_stabilization_working_context(), float, init_stabilizer(), MovieTrackingCamera::pixel_aspect, stabilization_calculate_data(), stabilization_determine_offset_for_frame(), TRACKING_2D_STABILIZATION, and zero_v2().
Referenced by BKE_tracking_stabilize_frame(), blender::nodes::node_composite_movieclip_cc::MovieClipOperation::compute_stabilization_data(), blender::compositor::MovieClipNode::convert_to_operations(), blender::nodes::node_composite_stabilize2d_cc::Stabilize2DOperation::execute(), and get_stable_cached_frame().
| void BKE_tracking_stabilization_data_to_mat4 | ( | int | width, |
| int | height, | ||
| float | aspect, | ||
| float | translation[2], | ||
| float | scale, | ||
| float | angle, | ||
| float | mat[4][4] ) |
Build a 4x4 transformation matrix based on the given 2D stabilization data. mat is a 4x4 matrix in homogeneous coordinates, adapted to the final image buffer size and compensated for pixel aspect ratio, ready for direct OpenGL drawing.
TODO(sergey): The signature of this function should be changed. we actually don't need the dimensions of the image buffer. Instead we should consider to provide the pivot point of the rotation as a further stabilization data parameter.
Definition at line 1454 of file tracking_stabilize.cc.
References stabilization_data_to_mat4().
Referenced by BKE_tracking_stabilize_frame(), and clip_draw_main().
| struct ImBuf * BKE_tracking_stabilize_frame | ( | struct MovieClip * | clip, |
| int | framenr, | ||
| struct ImBuf * | ibuf, | ||
| float | translation[2], | ||
| float * | scale, | ||
| float * | angle ) |
Stabilize given image buffer using stabilization data for a specified frame number.
TODO(sergey): Use r_ prefix for output parameters here.
Definition at line 1364 of file tracking_stabilize.cc.
References BKE_tracking_stabilization_data_get(), BKE_tracking_stabilization_data_to_mat4(), BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), ImBuf::byte_buffer, copy_v2_v2(), ImBufByteBuffer::data, ImBufFloatBuffer::data, MovieTrackingStabilization::flag, ImBuf::float_buffer, IB_rect, IB_RECT_INVALID, IB_rectfloat, TrackingStabilizeFrameInterpolationData::ibuf, IMB_allocImBuf(), IMB_colormanagegent_copy_settings(), invert_m4(), ImBuf::planes, TRACKING_2D_STABILIZATION, tracking_stabilize_frame_interpolation_cb(), ImBuf::userflags, ImBuf::x, ImBuf::y, and zero_v2().
Referenced by put_stabilized_frame_to_cache().
| struct 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 525 of file tracking.cc.
References BKE_tracking_marker_insert(), BKE_tracking_track_add_empty(), copy_v2_v2(), MovieTrackingMarker::framenr, negate_v2_v2(), MovieTrackingMarker::pattern_corners, MovieTrackingMarker::pos, MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, x, and y.
Referenced by add_marker(), and detect_retrieve_libmv_features().
| struct 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 501 of file tracking.cc.
References MovieTrackingTrack::algorithm_flag, BKE_tracking_track_unique_name(), BLI_addtail(), BLT_I18NCONTEXT_ID_MOVIECLIP, CTX_DATA_, MovieTrackingTrack::flag, MovieTrackingTrack::frames_limit, MovieTrackingTrack::margin, MovieTrackingTrack::minimum_correlation, MovieTrackingTrack::motion_model, MovieTrackingTrack::name, MovieTrackingTrack::pattern_match, STRNCPY, MovieTrackingTrack::weight, and MovieTrackingTrack::weight_stab.
Referenced by average_tracks_exec(), and BKE_tracking_track_add().
| void BKE_tracking_track_deselect | ( | struct MovieTrackingTrack * | track, |
| int | area ) |
Definition at line 1217 of file tracking.cc.
References 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().
| struct MovieTrackingTrack * BKE_tracking_track_duplicate | ( | struct MovieTrackingTrack * | track | ) |
Duplicate the specified track, result will no belong to any list.
Definition at line 566 of file tracking.cc.
References MovieTrackingTrack::flag, MovieTrackingTrack::markers, MEM_dupallocN, MovieTrackingTrack::next, and MovieTrackingTrack::prev.
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 struct MovieTrackingTrack * | track, |
| int * | r_first_frame, | ||
| int * | r_last_frame ) |
Get frame numbers of the very first and last markers. There is no check on whether the marker is enabled or not.
| 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 692 of file tracking.cc.
References 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 675 of file tracking.cc.
References flag, 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 596 of file tracking.cc.
References MovieTrackingTrack::markers, and MEM_freeN().
Referenced by BKE_tracking_clipboard_free(), clean_tracks_exec(), clip_delete_track(), join_tracks_exec(), blender::TEST_F(), blender::TEST_F(), blender::TEST_F(), tracking_tracks_free(), and tracks_map_free().
| struct MovieTrackingTrack * BKE_tracking_track_get_for_selection_index | ( | struct MovieTracking * | tracking, |
| int | selection_index, | ||
| struct ListBase ** | r_tracksbase ) |
Definition at line 1025 of file tracking.cc.
References LISTBASE_FOREACH, and TRACK_HAS_BUNDLE.
Referenced by ed_object_select_pick_camera_track().
| float * BKE_tracking_track_get_mask | ( | int | frame_width, |
| int | frame_height, | ||
| const struct MovieTrackingTrack * | track, | ||
| const struct MovieTrackingMarker * | marker ) |
Referenced by BKE_tracking_refine_marker().
| float BKE_tracking_track_get_weight_for_marker | ( | struct MovieClip * | clip, |
| struct MovieTrackingTrack * | track, | ||
| struct MovieTrackingMarker * | marker ) |
Definition at line 1172 of file tracking.cc.
References BKE_movieclip_remap_clip_to_scene_frame(), evaluate_fcurve(), MovieTrackingMarker::framenr, id_data_find_fcurve(), 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 714 of file tracking.cc.
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 709 of file tracking.cc.
References BKE_tracking_marker_get_exact().
Referenced by tracking_marker_insert_disabled().
| void BKE_tracking_track_path_clear | ( | struct MovieTrackingTrack * | track, |
| int | ref_frame, | ||
| eTrackClearAction | action ) |
Definition at line 776 of file tracking.cc.
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_plane_from_existing_motion | ( | struct MovieTrackingPlaneTrack * | plane_track, |
| int | start_frame ) |
Definition at line 157 of file tracking_plane_tracker.cc.
References track_plane_from_existing_motion().
Referenced by apply_mouse_slide(), BKE_autotrack_context_finish(), create_plane_track_tracks_exec(), join_tracks_exec(), keyframe_set_flag(), slide_plane_marker_update_homographies(), and special_aftertrans_update__movieclip().
| 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 1190 of file tracking.cc.
References 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 586 of file tracking.cc.
References BLI_uniquename(), BLT_I18NCONTEXT_ID_MOVIECLIP, CTX_DATA_, MovieTrackingTrack::name, and offsetof.
Referenced by BKE_tracking_clipboard_paste_tracks(), and BKE_tracking_track_add_empty().
| void BKE_tracking_tracks_average | ( | struct MovieTrackingTrack * | dst_track, |
| struct MovieTrackingTrack ** | src_tracks, | ||
| int | num_src_tracks ) |
Definition at line 1013 of file tracking.cc.
References tracking_average_markers(), and tracking_average_tracks().
Referenced by average_tracks_exec().
| void BKE_tracking_tracks_deselect_all | ( | struct ListBase * | tracksbase | ) |
Definition at line 1222 of file tracking.cc.
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 613 of file tracking.cc.
References BKE_tracking_track_first_last_frame_get(), max_ii(), and min_ii().
Referenced by tracking_average_markers().
| void BKE_tracking_tracks_join | ( | struct MovieTracking * | tracking, |
| struct MovieTrackingTrack * | dst_track, | ||
| struct MovieTrackingTrack * | src_track ) |
Definition at line 793 of file tracking.cc.
References b, BKE_tracking_dopesheet_tag_update(), MovieTrackingMarker::flag, MovieTrackingMarker::framenr, interp_v2_v2v2(), inverse(), len, MARKER_DISABLED, markers, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MEM_freeN(), MovieTrackingMarker::pos, and pos.
Referenced by join_tracks_exec().
| struct ImBuf * BKE_tracking_undistort_frame | ( | struct MovieTracking * | tracking, |
| struct ImBuf * | ibuf, | ||
| int | calibration_width, | ||
| int | calibration_height, | ||
| float | overscan ) |
Definition at line 2471 of file tracking.cc.
References BKE_tracking_distortion_exec(), BKE_tracking_distortion_new(), and MovieTrackingCamera::intrinsics.
Referenced by get_undistorted_ibuf().
| void BKE_tracking_undistort_v2 | ( | struct MovieTracking * | tracking, |
| int | image_width, | ||
| int | image_height, | ||
| const float | co[2], | ||
| float | r_co[2] ) |
Definition at line 2448 of file tracking.cc.
References float, image_height, image_width, libmv_cameraIntrinsicsDestroy(), libmv_cameraIntrinsicsInvert(), libmv_cameraIntrinsicsNew(), MovieTrackingCamera::pixel_aspect, tracking_cameraIntrinscisOptionsFromTracking(), and tracking_principal_point_normalized_to_pixel().
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().