Cleanup: Variable scope in tracking files
This commit is contained in:
parent
1168665653
commit
953f719e58
|
@ -126,44 +126,36 @@ static bool reconstruct_retrieve_libmv_tracks(MovieReconstructContext *context,
|
|||
MovieTracking *tracking)
|
||||
{
|
||||
struct libmv_Reconstruction *libmv_reconstruction = context->reconstruction;
|
||||
MovieTrackingReconstruction *reconstruction = NULL;
|
||||
MovieReconstructedCamera *reconstructed;
|
||||
MovieTrackingTrack *track;
|
||||
ListBase *tracksbase = NULL;
|
||||
int tracknr = 0;
|
||||
bool ok = true;
|
||||
bool origin_set = false;
|
||||
int sfra = context->sfra, efra = context->efra;
|
||||
float imat[4][4];
|
||||
|
||||
MovieTrackingObject *object = BKE_tracking_object_get_named(tracking, context->object_name);
|
||||
|
||||
tracksbase = &object->tracks;
|
||||
reconstruction = &object->reconstruction;
|
||||
MovieTrackingReconstruction *reconstruction = &object->reconstruction;
|
||||
|
||||
unit_m4(imat);
|
||||
|
||||
track = tracksbase->first;
|
||||
while (track) {
|
||||
double pos[3];
|
||||
{
|
||||
int track_index = 0;
|
||||
LISTBASE_FOREACH_INDEX (MovieTrackingTrack *, track, &object->tracks, track_index) {
|
||||
double pos[3];
|
||||
|
||||
if (libmv_reprojectionPointForTrack(libmv_reconstruction, tracknr, pos)) {
|
||||
track->bundle_pos[0] = pos[0];
|
||||
track->bundle_pos[1] = pos[1];
|
||||
track->bundle_pos[2] = pos[2];
|
||||
if (libmv_reprojectionPointForTrack(libmv_reconstruction, track_index, pos)) {
|
||||
track->bundle_pos[0] = pos[0];
|
||||
track->bundle_pos[1] = pos[1];
|
||||
track->bundle_pos[2] = pos[2];
|
||||
|
||||
track->flag |= TRACK_HAS_BUNDLE;
|
||||
track->error = libmv_reprojectionErrorForTrack(libmv_reconstruction, tracknr);
|
||||
track->flag |= TRACK_HAS_BUNDLE;
|
||||
track->error = libmv_reprojectionErrorForTrack(libmv_reconstruction, track_index);
|
||||
}
|
||||
else {
|
||||
track->flag &= ~TRACK_HAS_BUNDLE;
|
||||
ok = false;
|
||||
|
||||
printf("Unable to reconstruct position for track #%d '%s'\n", track_index, track->name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
track->flag &= ~TRACK_HAS_BUNDLE;
|
||||
ok = false;
|
||||
|
||||
printf("Unable to reconstruct position for track #%d '%s'\n", tracknr, track->name);
|
||||
}
|
||||
|
||||
track = track->next;
|
||||
tracknr++;
|
||||
}
|
||||
|
||||
if (reconstruction->cameras) {
|
||||
|
@ -172,8 +164,9 @@ static bool reconstruct_retrieve_libmv_tracks(MovieReconstructContext *context,
|
|||
|
||||
reconstruction->camnr = 0;
|
||||
reconstruction->cameras = NULL;
|
||||
reconstructed = MEM_callocN((efra - sfra + 1) * sizeof(MovieReconstructedCamera),
|
||||
"temp reconstructed camera");
|
||||
|
||||
MovieReconstructedCamera *reconstructed_cameras = MEM_callocN(
|
||||
(efra - sfra + 1) * sizeof(MovieReconstructedCamera), "temp reconstructed camera");
|
||||
|
||||
for (int a = sfra; a <= efra; a++) {
|
||||
double matd[4][4];
|
||||
|
@ -208,9 +201,11 @@ static bool reconstruct_retrieve_libmv_tracks(MovieReconstructContext *context,
|
|||
mul_m4_m4m4(mat, imat, mat);
|
||||
}
|
||||
|
||||
copy_m4_m4(reconstructed[reconstruction->camnr].mat, mat);
|
||||
reconstructed[reconstruction->camnr].framenr = a;
|
||||
reconstructed[reconstruction->camnr].error = error;
|
||||
MovieReconstructedCamera *reconstructed_camera =
|
||||
&reconstructed_cameras[reconstruction->camnr];
|
||||
copy_m4_m4(reconstructed_camera->mat, mat);
|
||||
reconstructed_camera->framenr = a;
|
||||
reconstructed_camera->error = error;
|
||||
reconstruction->camnr++;
|
||||
}
|
||||
else {
|
||||
|
@ -220,23 +215,20 @@ static bool reconstruct_retrieve_libmv_tracks(MovieReconstructContext *context,
|
|||
}
|
||||
|
||||
if (reconstruction->camnr) {
|
||||
int size = reconstruction->camnr * sizeof(MovieReconstructedCamera);
|
||||
const size_t size = reconstruction->camnr * sizeof(MovieReconstructedCamera);
|
||||
reconstruction->cameras = MEM_mallocN(size, "reconstructed camera");
|
||||
memcpy(reconstruction->cameras, reconstructed, size);
|
||||
memcpy(reconstruction->cameras, reconstructed_cameras, size);
|
||||
}
|
||||
|
||||
if (origin_set) {
|
||||
track = tracksbase->first;
|
||||
while (track) {
|
||||
LISTBASE_FOREACH (MovieTrackingTrack *, track, &object->tracks) {
|
||||
if (track->flag & TRACK_HAS_BUNDLE) {
|
||||
mul_v3_m4v3(track->bundle_pos, imat, track->bundle_pos);
|
||||
}
|
||||
|
||||
track = track->next;
|
||||
}
|
||||
}
|
||||
|
||||
MEM_freeN(reconstructed);
|
||||
MEM_freeN(reconstructed_cameras);
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
@ -494,9 +486,6 @@ void BKE_tracking_reconstruction_solve(MovieReconstructContext *context,
|
|||
|
||||
bool BKE_tracking_reconstruction_finish(MovieReconstructContext *context, MovieTracking *tracking)
|
||||
{
|
||||
MovieTrackingReconstruction *reconstruction;
|
||||
MovieTrackingObject *object;
|
||||
|
||||
if (!libmv_reconstructionIsValid(context->reconstruction)) {
|
||||
BKE_tracking_reconstruction_report_error_message(
|
||||
context, "Failed to solve the motion: most likely there are no good keyframes");
|
||||
|
@ -506,8 +495,8 @@ bool BKE_tracking_reconstruction_finish(MovieReconstructContext *context, MovieT
|
|||
tracks_map_merge(context->tracks_map, tracking);
|
||||
BKE_tracking_dopesheet_tag_update(tracking);
|
||||
|
||||
object = BKE_tracking_object_get_named(tracking, context->object_name);
|
||||
reconstruction = &object->reconstruction;
|
||||
MovieTrackingObject *object = BKE_tracking_object_get_named(tracking, context->object_name);
|
||||
MovieTrackingReconstruction *reconstruction = &object->reconstruction;
|
||||
|
||||
/* update keyframe in the interface */
|
||||
if (context->select_keyframes) {
|
||||
|
|
|
@ -1137,9 +1137,7 @@ static int hide_tracks_exec(bContext *C, wmOperator *op)
|
|||
MovieClip *clip = ED_space_clip_get_clip(sc);
|
||||
MovieTracking *tracking = &clip->tracking;
|
||||
MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
|
||||
int unselected;
|
||||
|
||||
unselected = RNA_boolean_get(op->ptr, "unselected");
|
||||
const int unselected = RNA_boolean_get(op->ptr, "unselected");
|
||||
|
||||
/* Hide point tracks. */
|
||||
LISTBASE_FOREACH (MovieTrackingTrack *, track, &tracking_object->tracks) {
|
||||
|
|
|
@ -594,10 +594,8 @@ static MovieTrackingTrack *rna_trackingTracks_new(ID *id,
|
|||
{
|
||||
MovieClip *clip = (MovieClip *)id;
|
||||
MovieTrackingObject *tracking_camera_object = BKE_tracking_object_get_camera(&clip->tracking);
|
||||
|
||||
MovieTrackingTrack *track;
|
||||
|
||||
track = add_track_to_base(clip, tracking, &tracking_camera_object->tracks, name, frame);
|
||||
MovieTrackingTrack *track = add_track_to_base(
|
||||
clip, tracking, &tracking_camera_object->tracks, name, frame);
|
||||
|
||||
WM_main_add_notifier(NC_MOVIECLIP | NA_EDITED, clip);
|
||||
|
||||
|
@ -610,10 +608,8 @@ static MovieTrackingTrack *rna_trackingObject_tracks_new(ID *id,
|
|||
int frame)
|
||||
{
|
||||
MovieClip *clip = (MovieClip *)id;
|
||||
ListBase *tracksbase = &object->tracks;
|
||||
MovieTrackingTrack *track;
|
||||
|
||||
track = add_track_to_base(clip, &clip->tracking, tracksbase, name, frame);
|
||||
MovieTrackingTrack *track = add_track_to_base(
|
||||
clip, &clip->tracking, &object->tracks, name, frame);
|
||||
|
||||
WM_main_add_notifier(NC_MOVIECLIP | NA_EDITED, NULL);
|
||||
|
||||
|
|
Loading…
Reference in New Issue