Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-12-19 15:09:39 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-12-19 15:09:39 +0300
commite1921ed8718938f1151811bee4aa7e68e1297967 (patch)
treefc7e895a88496da51ba18fb4710d8ff1948e475f /source/blender/blenkernel/intern/tracking.c
parent9fa021cdaf9e5a2ba39c1d458a1930cb6c57b612 (diff)
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.
Diffstat (limited to 'source/blender/blenkernel/intern/tracking.c')
-rw-r--r--source/blender/blenkernel/intern/tracking.c40
1 files changed, 40 insertions, 0 deletions
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);
+ }
+}