[Bf-blender-cvs] [e1921ed8718] master: Tracking: Add utility function to get RNA path prefix for given track
Sergey Sharybin
noreply at git.blender.org
Tue Dec 19 13:40:02 CET 2017
Commit: e1921ed8718938f1151811bee4aa7e68e1297967
Author: Sergey Sharybin
Date: Tue Dec 19 13:09:39 2017 +0100
Branches: master
https://developer.blender.org/rBe1921ed8718938f1151811bee4aa7e68e1297967
Tracking: Add utility function to get RNA path prefix for given track
Some code could be de-duplicated with the full path case, but that's
for another rainy day i guess.
===================================================================
M source/blender/blenkernel/BKE_tracking.h
M source/blender/blenkernel/intern/tracking.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index b44f90cbf73..13302caa09d 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -310,11 +310,21 @@ void BKE_tracking_get_rna_path_for_track(
const struct MovieTrackingTrack *track,
char *rna_path,
size_t rna_path_len);
+void BKE_tracking_get_rna_path_prefix_for_track(
+ const struct MovieTracking *tracking,
+ const struct MovieTrackingTrack *track,
+ char *rna_path,
+ size_t rna_path_len);
void BKE_tracking_get_rna_path_for_plane_track(
const struct MovieTracking *tracking,
const struct MovieTrackingPlaneTrack *plane_track,
char *rna_path,
size_t rna_path_len);
+void BKE_tracking_get_rna_path_prefix_for_plane_track(
+ const struct MovieTracking *tracking,
+ const struct MovieTrackingPlaneTrack *plane_track,
+ char *rna_path,
+ size_t rna_path_len);
/* **** Utility macros **** */
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c
index 7890f17c4df..f9d34534a45 100644
--- a/source/blender/blenkernel/intern/tracking.c
+++ b/source/blender/blenkernel/intern/tracking.c
@@ -2992,6 +2992,26 @@ void BKE_tracking_get_rna_path_for_track(
}
}
+void BKE_tracking_get_rna_path_prefix_for_track(
+ const struct MovieTracking *tracking,
+ const struct MovieTrackingTrack *track,
+ char *rna_path,
+ size_t rna_path_len)
+{
+ MovieTrackingObject *object =
+ BKE_tracking_find_object_for_track(tracking, track);
+ if (object == NULL) {
+ BLI_snprintf(rna_path, rna_path_len, "tracking.tracks");
+ }
+ else {
+ char object_name_esc[MAX_NAME * 2];
+ BLI_strescape(object_name_esc, object->name, sizeof(object_name_esc));
+ BLI_snprintf(rna_path, rna_path_len,
+ "tracking.objects[\"%s\"]",
+ object_name_esc);
+ }
+}
+
void BKE_tracking_get_rna_path_for_plane_track(
const struct MovieTracking *tracking,
const struct MovieTrackingPlaneTrack *plane_track,
@@ -3016,3 +3036,23 @@ void BKE_tracking_get_rna_path_for_plane_track(
track_name_esc);
}
}
+
+void BKE_tracking_get_rna_path_prefix_for_plane_track(
+ const struct MovieTracking *tracking,
+ const struct MovieTrackingPlaneTrack *plane_track,
+ char *rna_path,
+ size_t rna_path_len)
+{
+ MovieTrackingObject *object =
+ BKE_tracking_find_object_for_plane_track(tracking, plane_track);
+ if (object == NULL) {
+ BLI_snprintf(rna_path, rna_path_len, "tracking.plane_tracks");
+ }
+ else {
+ char object_name_esc[MAX_NAME * 2];
+ BLI_strescape(object_name_esc, object->name, sizeof(object_name_esc));
+ BLI_snprintf(rna_path, rna_path_len,
+ "tracking.objects[\"%s\"].plane_tracks",
+ object_name_esc);
+ }
+}
More information about the Bf-blender-cvs
mailing list