|
Blender
V2.93
|
#include <limits.h>#include "MEM_guardedalloc.h"#include "DNA_anim_types.h"#include "DNA_movieclip_types.h"#include "BLI_listbase.h"#include "BLI_math.h"#include "BLI_string.h"#include "BLI_utildefines.h"#include "BLT_translation.h"#include "BKE_fcurve.h"#include "BKE_movieclip.h"#include "BKE_tracking.h"#include "RNA_access.h"#include "libmv-capi.h"#include "tracking_private.h"Go to the source code of this file.
Classes | |
| struct | MovieReconstructContext |
| struct | ReconstructProgressData |
Typedefs | |
| typedef struct MovieReconstructContext | MovieReconstructContext |
| typedef struct ReconstructProgressData | ReconstructProgressData |
This file contains blender-side implementation of camera solver.
Definition in file tracking_solver.c.
| typedef struct MovieReconstructContext MovieReconstructContext |
| typedef struct ReconstructProgressData ReconstructProgressData |
| bool BKE_tracking_reconstruction_check | ( | MovieTracking * | tracking, |
| MovieTrackingObject * | object, | ||
| char * | error_msg, | ||
| int | error_size | ||
| ) |
Definition at line 329 of file tracking_solver.c.
References BLI_strncpy(), MovieTrackingSettings::motion_flag, N_, reconstruct_count_tracks_on_both_keyframes(), MovieTrackingSettings::reconstruction_flag, MovieTracking::settings, TRACKING_MOTION_MODAL, and TRACKING_USE_KEYFRAME_SELECTION.
Referenced by solve_camera_initjob().
| void BKE_tracking_reconstruction_context_free | ( | MovieReconstructContext * | context | ) |
Definition at line 450 of file tracking_solver.c.
References context, libmv_reconstructionDestroy(), libmv_tracksDestroy(), MEM_freeN, NULL, and tracks_map_free().
Referenced by solve_camera_freejob().
| MovieReconstructContext* BKE_tracking_reconstruction_context_new | ( | MovieClip * | clip, |
| MovieTrackingObject * | object, | ||
| int | keyframe1, | ||
| int | keyframe2, | ||
| int | width, | ||
| int | height | ||
| ) |
Definition at line 362 of file tracking_solver.c.
References BKE_tracking_object_get_tracks(), BLI_listbase_count(), BLI_strncpy(), MovieTracking::camera, context, ListBase::first, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, height, libmv_tracks_new(), MARKER_DISABLED, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, max_ii(), MEM_callocN, min_ii(), MovieTrackingSettings::motion_flag, MovieTrackingObject::name, MovieTrackingTrack::next, NULL, MovieTrackingCamera::pixel_aspect, reconstruct_refine_intrinsics_get_flags(), MovieTrackingSettings::reconstruction_flag, MovieTracking::settings, MovieClip::tracking, tracking_cameraIntrinscisOptionsFromTracking(), TRACKING_OBJECT_CAMERA, TRACKING_USE_KEYFRAME_SELECTION, tracks_map_insert(), tracks_map_new(), and width.
Referenced by solve_camera_initjob().
| const char* BKE_tracking_reconstruction_error_message_get | ( | const MovieReconstructContext * | context | ) |
Definition at line 444 of file tracking_solver.c.
References context.
| bool BKE_tracking_reconstruction_finish | ( | MovieReconstructContext * | context, |
| MovieTracking * | tracking | ||
| ) |
Definition at line 548 of file tracking_solver.c.
References BKE_tracking_dopesheet_tag_update(), BKE_tracking_object_get_named(), BKE_tracking_reconstruction_report_error_message(), context, libmv_reconstructionIsValid(), reconstruct_retrieve_libmv(), reconstruction, MovieTracking::reconstruction, TRACKING_RECONSTRUCTED, and tracks_map_merge().
Referenced by solve_camera_freejob().
| void BKE_tracking_reconstruction_report_error_message | ( | MovieReconstructContext * | context, |
| const char * | error_message | ||
| ) |
Definition at line 434 of file tracking_solver.c.
References BLI_strncpy(), and context.
Referenced by BKE_tracking_reconstruction_finish().
| void BKE_tracking_reconstruction_scale | ( | MovieTracking * | tracking, |
| float | scale[3] | ||
| ) |
Definition at line 614 of file tracking_solver.c.
References BKE_tracking_object_get_reconstruction(), BKE_tracking_object_get_tracks(), LISTBASE_FOREACH, MovieTracking::objects, reconstruction, and tracking_scale_reconstruction().
Referenced by apply_objects_internal().
| void BKE_tracking_reconstruction_solve | ( | MovieReconstructContext * | context, |
| short * | stop, | ||
| short * | do_update, | ||
| float * | progress, | ||
| char * | stats_message, | ||
| int | message_size | ||
| ) |
Definition at line 498 of file tracking_solver.c.
References context, 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().
|
static |
Definition at line 82 of file tracking_solver.c.
References Freestyle::a, BKE_movieclip_remap_clip_to_scene_frame(), evaluate_fcurve(), ListBase::first, MovieTrackingMarker::flag, MovieTrackingMarker::framenr, height, MovieClip::id, id_data_find_fcurve(), libmv_tracksInsert(), libmv_tracksNew(), MARKER_DISABLED, MovieTrackingTrack::markers, MovieTrackingTrack::markersnr, MovieTrackingTrack::next, NULL, MovieTrackingTrack::offset, MovieTrackingMarker::pos, RNA_MovieTrackingTrack, tracks, MovieTrackingTrack::weight, and width.
Referenced by BKE_tracking_reconstruction_context_new().
|
static |
Definition at line 306 of file tracking_solver.c.
References BKE_tracking_object_get_tracks(), BKE_tracking_track_has_enabled_marker_at_frame(), ListBase::first, and MovieTrackingTrack::next.
Referenced by BKE_tracking_reconstruction_check().
|
static |
Definition at line 276 of file tracking_solver.c.
References MovieTrackingObject::flag, LIBMV_REFINE_FOCAL_LENGTH, LIBMV_REFINE_PRINCIPAL_POINT, LIBMV_REFINE_RADIAL_DISTORTION, LIBMV_REFINE_TANGENTIAL_DISTORTION, MovieTrackingSettings::refine_camera_intrinsics, REFINE_FOCAL_LENGTH, REFINE_PRINCIPAL_POINT, REFINE_RADIAL_DISTORTION, REFINE_TANGENTIAL_DISTORTION, MovieTracking::settings, and TRACKING_OBJECT_CAMERA.
Referenced by BKE_tracking_reconstruction_context_new().
|
static |
Definition at line 267 of file tracking_solver.c.
References context, reconstruct_retrieve_libmv_intrinsics(), and reconstruct_retrieve_libmv_tracks().
Referenced by BKE_tracking_reconstruction_finish().
|
static |
Definition at line 124 of file tracking_solver.c.
References context, libmv_cameraIntrinsicsExtractOptions(), libmv_reconstructionExtractIntrinsics(), and tracking_trackingCameraFromIntrinscisOptions().
Referenced by reconstruct_retrieve_libmv().
|
static |
Definition at line 141 of file tracking_solver.c.
References Freestyle::a, BKE_tracking_object_get_named(), MovieTrackingTrack::bundle_pos, context, copy_m4_m4(), error(), MovieReconstructedCamera::error, MovieTrackingTrack::error, ListBase::first, MovieTrackingTrack::flag, MovieReconstructedCamera::framenr, invert_m4_m4(), libmv_reprojectionCameraForImage(), libmv_reprojectionErrorForImage(), libmv_reprojectionErrorForTrack(), libmv_reprojectionPointForTrack(), MovieReconstructedCamera::mat, MEM_callocN, MEM_freeN, MEM_mallocN, mul_m4_m4m4(), mul_v3_m4v3(), MovieTrackingTrack::name, MovieTrackingTrack::next, NULL, pos, reconstruction, MovieTracking::reconstruction, size(), TRACK_HAS_BUNDLE, MovieTracking::tracks, and unit_m4().
Referenced by reconstruct_retrieve_libmv().
|
static |
Definition at line 464 of file tracking_solver.c.
References BLI_snprintf(), ReconstructProgressData::do_update, ReconstructProgressData::message_size, ReconstructProgressData::progress, and ReconstructProgressData::stats_message.
Referenced by BKE_tracking_reconstruction_solve().
|
static |
Definition at line 478 of file tracking_solver.c.
References context, libmv_ReconstructionOptions::keyframe1, libmv_ReconstructionOptions::keyframe2, libmv_ReconstructionOptions::refine_intrinsics, and libmv_ReconstructionOptions::select_keyframes.
Referenced by BKE_tracking_reconstruction_solve().
|
static |
Definition at line 587 of file tracking_solver.c.
References LISTBASE_FOREACH, MovieReconstructedCamera::mat, mul_v3_v3(), mul_v3_v3v3(), reconstruction, sub_v3_v3(), and TRACK_HAS_BUNDLE.
Referenced by BKE_tracking_reconstruction_scale().