#ifdef __cplusplus #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // SfM Engines #include #include #include #include #include #include #include #include #endif // __cplusplus #include "./base.hpp" #include "frame.h" #include #include #include #include #include #if defined(__cplusplus) extern "C" { auto png_sig_cm = png_sig_cmp; } #endif // __cplusplus #define error_t int #ifdef __cplusplus class StreamedView : openMVG::sfm::View { private: const Frame *mFrame; public: StreamedView(const Frame *); }; #endif typedef struct _ImageResult { u_char *data; size_t data_len; error_t error; } ImageResult; _FFI_PLUGIN ImageResult *image_result_new(const u_char *, const size_t data_len); _FFI_PLUGIN ImageResult *image_result_new_error(const error_t); _FFI_PLUGIN int image_result_free(ImageResult *); #ifdef __cplusplus namespace Archimedes { std::vector get_image_data_as_vector(const Frame *frame); ImageResult *get_image_data(const Frame *); int images_to_sfm(const Frame **, size_t); } #endif _FFI_PLUGIN ImageResult *archimedes_get_image_data(const Frame *); _FFI_PLUGIN int archimedes_images_to_sfm(const Frame **, size_t);