[Bf-blender-cvs] [4d1a116cdfb] master: Refactor: Simplify tracking active element accessor API

Sergey Sharybin noreply at git.blender.org
Tue Nov 22 11:54:23 CET 2022


Commit: 4d1a116cdfb0375c1a28bfbfdc0e4806a64c58b8
Author: Sergey Sharybin
Date:   Fri Oct 7 11:32:21 2022 +0200
Branches: master
https://developer.blender.org/rB4d1a116cdfb0375c1a28bfbfdc0e4806a64c58b8

Refactor: Simplify tracking active element accessor API

Use active object accessor, and then access data from the
object. There is no need to have an API call for shortcut
of all object fields.

Should be no functional change.

===================================================================

M	source/blender/blenkernel/BKE_tracking.h
M	source/blender/blenkernel/intern/movieclip.c
M	source/blender/blenkernel/intern/tracking.c
M	source/blender/blenkernel/intern/tracking_auto.c
M	source/blender/editors/gpencil/annotate_paint.c
M	source/blender/editors/gpencil/gpencil_utils.c
M	source/blender/editors/mask/mask_relationships.c
M	source/blender/editors/screen/screen_context.c
M	source/blender/editors/space_clip/clip_draw.c
M	source/blender/editors/space_clip/clip_editor.c
M	source/blender/editors/space_clip/clip_graph_draw.c
M	source/blender/editors/space_clip/clip_graph_ops.c
M	source/blender/editors/space_clip/clip_utils.c
M	source/blender/editors/space_clip/tracking_ops.c
M	source/blender/editors/space_clip/tracking_ops_detect.c
M	source/blender/editors/space_clip/tracking_ops_orient.cc
M	source/blender/editors/space_clip/tracking_ops_plane.c
M	source/blender/editors/space_clip/tracking_ops_solve.c
M	source/blender/editors/space_clip/tracking_ops_stabilize.c
M	source/blender/editors/space_clip/tracking_ops_track.c
M	source/blender/editors/space_clip/tracking_ops_utils.c
M	source/blender/editors/space_clip/tracking_select.c
M	source/blender/editors/transform/transform_convert_tracking.c
M	source/blender/makesrna/intern/rna_tracking.c
M	source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
M	source/blender/nodes/composite/nodes/node_composite_trackpos.cc

===================================================================

diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index 8e66cf2e670..722013d82e5 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -67,20 +67,6 @@ void BKE_tracking_copy(struct MovieTracking *tracking_dst,
  */
 void BKE_tracking_settings_init(struct MovieTracking *tracking);
 
-/**
- * Get list base of active object's tracks.
- */
-struct ListBase *BKE_tracking_get_active_tracks(struct MovieTracking *tracking);
-/**
- * Get list base of active object's plane tracks.
- */
-struct ListBase *BKE_tracking_get_active_plane_tracks(struct MovieTracking *tracking);
-/**
- * Get reconstruction data of active object.
- */
-struct MovieTrackingReconstruction *BKE_tracking_get_active_reconstruction(
-    struct MovieTracking *tracking);
-
 /* Matrices for constraints and drawing. */
 
 /**
@@ -252,8 +238,6 @@ struct MovieTrackingTrack *BKE_tracking_track_get_indexed(struct MovieTracking *
                                                           int tracknr,
                                                           struct ListBase **r_tracksbase);
 
-struct MovieTrackingTrack *BKE_tracking_track_get_active(struct MovieTracking *tracking);
-
 float *BKE_tracking_track_get_mask(int frame_width,
                                    int frame_height,
                                    const struct MovieTrackingTrack *track,
@@ -378,9 +362,6 @@ bool BKE_tracking_plane_track_has_marker_at_frame(struct MovieTrackingPlaneTrack
 bool BKE_tracking_plane_track_has_enabled_marker_at_frame(
     struct MovieTrackingPlaneTrack *plane_track, int framenr);
 
-struct MovieTrackingPlaneTrack *BKE_tracking_plane_track_get_active(
-    struct MovieTracking *tracking);
-
 void BKE_tracking_plane_tracks_deselect_all(struct ListBase *plane_tracks_base);
 
 bool BKE_tracking_plane_track_has_point_track(struct MovieTrackingPlaneTrack *plane_track,
@@ -836,7 +817,7 @@ void BKE_tracking_get_rna_path_prefix_for_plane_track(
 
 #define MARKER_VISIBLE(sc, track, marker) \
   (((marker)->flag & MARKER_DISABLED) == 0 || ((sc)->flag & SC_HIDE_DISABLED) == 0 || \
-   (BKE_tracking_track_get_active(&(sc)->clip->tracking) == track))
+   (BKE_tracking_object_get_active(&(sc)->clip->tracking)->active_track == track))
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c
index dd2a9f582cf..f77a03c4eac 100644
--- a/source/blender/blenkernel/intern/movieclip.c
+++ b/source/blender/blenkernel/intern/movieclip.c
@@ -1769,7 +1769,8 @@ void BKE_movieclip_update_scopes(MovieClip *clip, MovieClipUser *user, MovieClip
     return;
   }
 
-  MovieTrackingTrack *track = BKE_tracking_track_get_active(&clip->tracking);
+  const MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(&clip->tracking);
+  MovieTrackingTrack *track = tracking_object->active_track;
   if (track == NULL) {
     return;
   }
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c
index 8277a731eef..ea8bccfb30f 100644
--- a/source/blender/blenkernel/intern/tracking.c
+++ b/source/blender/blenkernel/intern/tracking.c
@@ -355,28 +355,6 @@ void BKE_tracking_settings_init(MovieTracking *tracking)
   BKE_tracking_object_add(tracking, DATA_("Camera"));
 }
 
-ListBase *BKE_tracking_get_active_tracks(MovieTracking *tracking)
-{
-  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
-  BLI_assert(tracking_object != NULL);
-
-  return &tracking_object->tracks;
-}
-
-ListBase *BKE_tracking_get_active_plane_tracks(MovieTracking *tracking)
-{
-  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
-  BLI_assert(tracking_object != NULL);
-
-  return &tracking_object->plane_tracks;
-}
-
-MovieTrackingReconstruction *BKE_tracking_get_active_reconstruction(MovieTracking *tracking)
-{
-  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
-  return &tracking_object->reconstruction;
-}
-
 void BKE_tracking_get_camera_object_matrix(Object *camera_object, float mat[4][4])
 {
   BLI_assert(camera_object != NULL);
@@ -648,8 +626,8 @@ int BKE_tracking_count_selected_tracks_in_list(const ListBase *tracks_list)
 
 int BKE_tracking_count_selected_tracks_in_active_object(/*const*/ MovieTracking *tracking)
 {
-  ListBase *tracks_list = BKE_tracking_get_active_tracks(tracking);
-  return BKE_tracking_count_selected_tracks_in_list(tracks_list);
+  const MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
+  return BKE_tracking_count_selected_tracks_in_list(&tracking_object->tracks);
 }
 
 MovieTrackingTrack **BKE_tracking_selected_tracks_in_active_object(MovieTracking *tracking,
@@ -657,10 +635,7 @@ MovieTrackingTrack **BKE_tracking_selected_tracks_in_active_object(MovieTracking
 {
   *r_num_tracks = 0;
 
-  ListBase *tracks_list = BKE_tracking_get_active_tracks(tracking);
-  if (tracks_list == NULL) {
-    return NULL;
-  }
+  const MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
 
   /* Initialize input. */
   const int num_selected_tracks = BKE_tracking_count_selected_tracks_in_active_object(tracking);
@@ -671,7 +646,7 @@ MovieTrackingTrack **BKE_tracking_selected_tracks_in_active_object(MovieTracking
   MovieTrackingTrack **source_tracks = MEM_malloc_arrayN(
       num_selected_tracks, sizeof(MovieTrackingTrack *), "selected tracks array");
   int source_track_index = 0;
-  LISTBASE_FOREACH (MovieTrackingTrack *, track, tracks_list) {
+  LISTBASE_FOREACH (MovieTrackingTrack *, track, &tracking_object->tracks) {
     if (!TRACK_SELECTED(track)) {
       continue;
     }
@@ -1058,19 +1033,6 @@ MovieTrackingTrack *BKE_tracking_track_get_indexed(MovieTracking *tracking,
   return NULL;
 }
 
-MovieTrackingTrack *BKE_tracking_track_get_active(MovieTracking *tracking)
-{
-  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
-  if (tracking_object->active_track == NULL) {
-    return NULL;
-  }
-
-  /* Perform data consistency check. */
-  BLI_assert(BLI_findindex(&tracking_object->tracks, tracking_object->active_track) != -1);
-
-  return tracking_object->active_track;
-}
-
 static bGPDlayer *track_mask_gpencil_layer_get(const MovieTrackingTrack *track)
 {
   bGPDlayer *layer;
@@ -1667,20 +1629,6 @@ void BKE_tracking_plane_track_free(MovieTrackingPlaneTrack *plane_track)
   MEM_freeN(plane_track->point_tracks);
 }
 
-MovieTrackingPlaneTrack *BKE_tracking_plane_track_get_active(struct MovieTracking *tracking)
-{
-  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
-  if (tracking_object->active_plane_track == NULL) {
-    return NULL;
-  }
-
-  /* Perform data consistency check. */
-  BLI_assert(BLI_findindex(&tracking_object->plane_tracks, tracking_object->active_plane_track) !=
-             -1);
-
-  return tracking_object->active_plane_track;
-}
-
 void BKE_tracking_plane_tracks_deselect_all(ListBase *plane_tracks_base)
 {
   LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, plane_tracks_base) {
@@ -1725,13 +1673,14 @@ bool BKE_tracking_plane_track_remove_point_track(MovieTrackingPlaneTrack *plane_
 void BKE_tracking_plane_tracks_remove_point_track(MovieTracking *tracking,
                                                   MovieTrackingTrack *track)
 {
-  ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
-  LISTBASE_FOREACH_MUTABLE (MovieTrackingPlaneTrack *, plane_track, plane_tracks_base) {
+  MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
+  LISTBASE_FOREACH_MUTABLE (
+      MovieTrackingPlaneTrack *, plane_track, &tracking_object->plane_tracks) {
     if (BKE_tracking_plane_track_has_point_track(plane_track, track)) {
       if (!BKE_tracking_plane_track_remove_point_track(plane_track, track)) {
         /* Delete planes with less than 3 point tracks in it. */
         BKE_tracking_plane_track_free(plane_track);
-        BLI_freelinkN(plane_tracks_base, plane_track);
+        BLI_freelinkN(&tracking_object->plane_tracks, plane_track);
       }
     }
   }
@@ -1753,8 +1702,8 @@ void BKE_tracking_plane_tracks_replace_point_track(MovieTracking *tracking,
                                                    MovieTrackingTrack *old_track,
                                                    MovieTrackingTrack *new_track)
 {
-  ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
-  LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, plane_tracks_base) {
+  const MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
+  LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, &tracking_object->plane_tracks) {
     if (BKE_tracking_plane_track_has_point_track(plane_track, old_track)) {
       BKE_tracking_plane_track_replace_point_track(plane_track, old_track, new_track);
     }
diff --git a/source/blender/blenkernel/intern/tracking_auto.c b/source/blender/blenkernel/intern/tracking_auto.c
index 6145e51920f..4ca0aa12bf9 100644
--- a/source/blender/blenkernel/intern/tracking_auto.c
+++ b/source/blender/blenkernel/intern/tracking_auto.c
@@ -361,10 +361,9 @@ static void autotrack_context_init_tracks_for_clip(AutoTrackContext *context, in
 
   const AutoTrackClip *autotrack_clip = &context->autotrack_clips[clip_index];
   MovieClip *clip = autotrack_clip->clip;
-  MovieTracking *tracking = &clip->tracking;
-  ListBase *tracks_base = BKE_tracking_get_active_tracks(tracking);
+  const MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(&clip->tracking);
 
-  const int num_clip_tracks = BLI_listbase_count(tracks_base);
+  const int num_clip_tracks = BLI_listbase_count(&tracking_object->tracks);
   if (num_clip_tracks == 0) {
     return;
   }
@@ -373,7 +372,7 @@ static void autotrack_context_init_tracks_for_clip(AutoTrackContext *context, in
                                                (context->num_all_tracks + num_clip_tracks) *
                                                    sizeof(AutoTrackTrack));
 
-  LISTBASE_FOREACH (MovieTrackingTrack *, track, tracks_base) {
+  LISTBASE_F

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list