From 4895bd6aceec57a08b471b6be9a0cabef30f7aa7 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Fri, 15 Dec 2017 12:51:17 +0100 Subject: Libmv: Add C-API function to set all markers within AutoTrack structure --- intern/libmv/intern/autotrack.cc | 15 +++++++++++++++ intern/libmv/intern/autotrack.h | 4 ++++ intern/libmv/intern/stub.cc | 6 ++++++ 3 files changed, 25 insertions(+) (limited to 'intern/libmv') diff --git a/intern/libmv/intern/autotrack.cc b/intern/libmv/intern/autotrack.cc index 3b7c9c5a010..980504ed163 100644 --- a/intern/libmv/intern/autotrack.cc +++ b/intern/libmv/intern/autotrack.cc @@ -82,6 +82,21 @@ void libmv_autoTrackAddMarker(libmv_AutoTrack* libmv_autotrack, ((AutoTrack*) libmv_autotrack)->AddMarker(marker); } +void libmv_autoTrackSetMarkers(libmv_AutoTrack* libmv_autotrack, + const libmv_Marker* libmv_marker, + size_t num_markers) { + if (num_markers == 0) { + // Early output. + return; + } + libmv::vector markers; + markers.resize(num_markers); + for (size_t i = 0; i < num_markers; ++i) { + libmv_apiMarkerToMarker(libmv_marker[i], &markers[i]); + } + ((AutoTrack*) libmv_autotrack)->SetMarkers(&markers); +} + int libmv_autoTrackGetMarker(libmv_AutoTrack* libmv_autotrack, int clip, int frame, diff --git a/intern/libmv/intern/autotrack.h b/intern/libmv/intern/autotrack.h index 2a4a8f3c97f..9a073ff249b 100644 --- a/intern/libmv/intern/autotrack.h +++ b/intern/libmv/intern/autotrack.h @@ -58,6 +58,10 @@ int libmv_autoTrackMarker(libmv_AutoTrack* libmv_autotrack, void libmv_autoTrackAddMarker(libmv_AutoTrack* libmv_autotrack, const libmv_Marker* libmv_marker); +void libmv_autoTrackSetMarkers(libmv_AutoTrack* libmv_autotrack, + const libmv_Marker* libmv_marker, + size_t num_markers); + int libmv_autoTrackGetMarker(libmv_AutoTrack* libmv_autotrack, int clip, int frame, diff --git a/intern/libmv/intern/stub.cc b/intern/libmv/intern/stub.cc index 8603cc03153..fa2509ffcf6 100644 --- a/intern/libmv/intern/stub.cc +++ b/intern/libmv/intern/stub.cc @@ -361,6 +361,12 @@ void libmv_autoTrackAddMarker(libmv_AutoTrack* /*libmv_autotrack*/, { } +void libmv_autoTrackSetMarkers(libmv_AutoTrack* /*libmv_autotrack*/, + const libmv_Marker* /*libmv_marker-*/, + size_t /*num_markers*/) +{ +} + int libmv_autoTrackGetMarker(libmv_AutoTrack* /*libmv_autotrack*/, int /*clip*/, int /*frame*/, -- cgit v1.2.3