Cleanup: More clear function name in tracking module

Make it more obvious in the name that an operation is not
cheap, and that the function operates on a tracks from
object and does not need a global tracking structure.
This commit is contained in:
Sergey Sharybin 2022-10-07 09:46:11 +02:00
parent 016f9c2cf5
commit 1300da6d39
8 changed files with 48 additions and 45 deletions

View File

@ -248,8 +248,6 @@ void BKE_tracking_tracks_average(struct MovieTrackingTrack *dst_track,
/*const*/ struct MovieTrackingTrack **src_tracks,
int num_src_tracks);
struct MovieTrackingTrack *BKE_tracking_track_get_named(
struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object, const char *name);
struct MovieTrackingTrack *BKE_tracking_track_get_indexed(struct MovieTracking *tracking,
int tracknr,
struct ListBase **r_tracksbase);
@ -380,9 +378,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_named(
struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object, const char *name);
struct MovieTrackingPlaneTrack *BKE_tracking_plane_track_get_active(
struct MovieTracking *tracking);
@ -450,6 +445,16 @@ struct MovieTrackingObject *BKE_tracking_object_get_named(struct MovieTracking *
struct MovieTrackingObject *BKE_tracking_object_get_active(const struct MovieTracking *tracking);
struct MovieTrackingObject *BKE_tracking_object_get_camera(const struct MovieTracking *tracking);
/* Find point track with the given name in the tracking object.
* If such track does not exist NULL is returned. */
struct MovieTrackingTrack *BKE_tracking_object_find_track_with_name(
struct MovieTrackingObject *tracking_object, const char *name);
/* Find plane track with the given name in the tracking object.
* If such track does not exist NULL is returned. */
struct MovieTrackingPlaneTrack *BKE_tracking_object_find_plane_track_with_name(
struct MovieTrackingObject *tracking_object, const char *name);
/* --------------------------------------------------------------------
* Camera.
*/

View File

@ -4880,8 +4880,7 @@ static bool followtrack_context_init(FollowTrackContext *context,
return false;
}
context->track = BKE_tracking_track_get_named(
context->tracking, context->tracking_object, data->track);
context->track = BKE_tracking_object_find_track_with_name(context->tracking_object, data->track);
if (context->track == NULL) {
return false;
}

View File

@ -1298,8 +1298,8 @@ void BKE_mask_point_parent_matrix_get(MaskSplinePoint *point,
BKE_movieclip_user_set_frame(&user, ctime);
if (parent->type == MASK_PARENT_POINT_TRACK) {
MovieTrackingTrack *track = BKE_tracking_track_get_named(
tracking, ob, parent->sub_parent);
MovieTrackingTrack *track = BKE_tracking_object_find_track_with_name(ob,
parent->sub_parent);
if (track) {
float marker_position[2], parent_co[2];
@ -1309,8 +1309,8 @@ void BKE_mask_point_parent_matrix_get(MaskSplinePoint *point,
}
}
else /* if (parent->type == MASK_PARENT_PLANE_TRACK) */ {
MovieTrackingPlaneTrack *plane_track = BKE_tracking_plane_track_get_named(
tracking, ob, parent->sub_parent);
MovieTrackingPlaneTrack *plane_track = BKE_tracking_object_find_plane_track_with_name(
ob, parent->sub_parent);
if (plane_track) {
float corners[4][2];

View File

@ -1034,19 +1034,6 @@ void BKE_tracking_tracks_average(MovieTrackingTrack *dst_track,
tracking_average_tracks(dst_track, src_tracks, num_src_tracks);
}
MovieTrackingTrack *BKE_tracking_track_get_named(MovieTracking *UNUSED(tracking),
MovieTrackingObject *tracking_object,
const char *name)
{
LISTBASE_FOREACH (MovieTrackingTrack *, track, &tracking_object->tracks) {
if (STREQ(track->name, name)) {
return track;
}
}
return NULL;
}
MovieTrackingTrack *BKE_tracking_track_get_indexed(MovieTracking *tracking,
int tracknr,
ListBase **r_tracksbase)
@ -1680,19 +1667,6 @@ void BKE_tracking_plane_track_free(MovieTrackingPlaneTrack *plane_track)
MEM_freeN(plane_track->point_tracks);
}
MovieTrackingPlaneTrack *BKE_tracking_plane_track_get_named(MovieTracking *UNUSED(tracking),
MovieTrackingObject *tracking_object,
const char *name)
{
LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, &tracking_object->plane_tracks) {
if (STREQ(plane_track->name, name)) {
return plane_track;
}
}
return NULL;
}
MovieTrackingPlaneTrack *BKE_tracking_plane_track_get_active(struct MovieTracking *tracking)
{
MovieTrackingObject *tracking_object = BKE_tracking_object_get_active(tracking);
@ -2068,6 +2042,30 @@ MovieTrackingObject *BKE_tracking_object_get_camera(const MovieTracking *trackin
return NULL;
}
MovieTrackingTrack *BKE_tracking_object_find_track_with_name(MovieTrackingObject *tracking_object,
const char *name)
{
LISTBASE_FOREACH (MovieTrackingTrack *, track, &tracking_object->tracks) {
if (STREQ(track->name, name)) {
return track;
}
}
return NULL;
}
MovieTrackingPlaneTrack *BKE_tracking_object_find_plane_track_with_name(
MovieTrackingObject *tracking_object, const char *name)
{
LISTBASE_FOREACH (MovieTrackingPlaneTrack *, plane_track, &tracking_object->plane_tracks) {
if (STREQ(plane_track->name, name)) {
return plane_track;
}
}
return NULL;
}
/* --------------------------------------------------------------------
* Camera.
*/

View File

@ -52,7 +52,8 @@ void PlaneTrackCommon::read_corners_from_track(float corners[4][2], float frame)
tracking_object_name_);
if (tracking_object) {
MovieTrackingPlaneTrack *plane_track;
plane_track = BKE_tracking_plane_track_get_named(tracking, tracking_object, plane_track_name_);
plane_track = BKE_tracking_object_find_plane_track_with_name(tracking_object,
plane_track_name_);
if (plane_track) {
float clip_framenr = BKE_movieclip_remap_scene_to_clip_frame(movie_clip_, frame);
BKE_tracking_plane_marker_get_subframe_corners(plane_track, clip_framenr, corners);

View File

@ -54,8 +54,8 @@ void TrackPositionOperation::calc_track_position()
MovieTrackingObject *tracking_object = BKE_tracking_object_get_named(tracking,
tracking_object_name_);
if (tracking_object) {
MovieTrackingTrack *track = BKE_tracking_track_get_named(
tracking, tracking_object, track_name_);
MovieTrackingTrack *track = BKE_tracking_object_find_track_with_name(tracking_object,
track_name_);
if (track) {
MovieTrackingMarker *marker;

View File

@ -428,7 +428,7 @@ static void test_constraint(
con->flag |= CONSTRAINT_DISABLE;
}
else {
if (!BKE_tracking_track_get_named(tracking, tracking_object, data->track)) {
if (!BKE_tracking_object_find_track_with_name(tracking_object, data->track)) {
con->flag |= CONSTRAINT_DISABLE;
}
}

View File

@ -66,8 +66,8 @@ static void rna_Mask_update_parent(Main *bmain, Scene *scene, PointerRNA *ptr)
int clip_framenr = BKE_movieclip_remap_scene_to_clip_frame(clip, scene->r.cfra);
if (parent->type == MASK_PARENT_POINT_TRACK) {
MovieTrackingTrack *track = BKE_tracking_track_get_named(
tracking, tracking_object, parent->sub_parent);
MovieTrackingTrack *track = BKE_tracking_object_find_track_with_name(tracking_object,
parent->sub_parent);
if (track) {
MovieTrackingMarker *marker = BKE_tracking_marker_get(track, clip_framenr);
@ -84,8 +84,8 @@ static void rna_Mask_update_parent(Main *bmain, Scene *scene, PointerRNA *ptr)
}
}
else /* if (parent->type == MASK_PARENT_PLANE_TRACK) */ {
MovieTrackingPlaneTrack *plane_track = BKE_tracking_plane_track_get_named(
tracking, tracking_object, parent->sub_parent);
MovieTrackingPlaneTrack *plane_track = BKE_tracking_object_find_plane_track_with_name(
tracking_object, parent->sub_parent);
if (plane_track) {
MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_get(plane_track,
clip_framenr);