Commit: 330aac3bc8ab383c09f33879ce6d36fddff0a226 Author: Sergey Sharybin Date: Wed Oct 5 17:41:58 2022 +0200 Branches: tracking_refactor_v3 https://developer.blender.org/rB330aac3bc8ab383c09f33879ce6d36fddff0a226
Cleanup: Variable scope in tracking files =================================================================== M source/blender/blenkernel/intern/tracking_solver.c M source/blender/editors/space_clip/tracking_ops.c M source/blender/makesrna/intern/rna_tracking.c =================================================================== diff --git a/source/blender/blenkernel/intern/tracking_solver.c b/source/blender/blenkernel/intern/tracking_solver.c index b5b96ed441c..a0d06d7e6c0 100644 --- a/source/blender/blenkernel/intern/tracking_solver.c +++ b/source/blender/blenkernel/intern/tracking_solver.c @@ -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); - } - else { - track->flag &= ~TRACK_HAS_BUNDLE; - ok = false; + 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", tracknr, track->name); + printf("Unable to reconstruct position for track #%d '%s'\n", track_index, 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) { diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index 4476bc78352..4c028500e30 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -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) { diff --git a/source/blender/makesrna/intern/rna_tracking.c b/source/blender/makesrna/intern/rna_tracking.c index e6e646faf97..a7fa8348cc0 100644 --- a/source/blender/makesrna/intern/rna_tracking.c +++ b/source/blender/makesrna/intern/rna_tracking.c @@ -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); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs