#ifdef __cplusplus #include #include #include #include #include #include #include #endif // __cplusplus #include #include #include #include extern "C" auto png_sig_cm = png_sig_cmp; typedef struct _Frame { FILE *stream; int w; int h; int depth; } Frame; const Frame *new_frame_from_handle(FILE *, int, int, int); #ifdef __cplusplus extern "C" __attribute__((visibility("default"))) __attribute((used)) #else __attribute__((visibility("default"))) __attribute((used)) #endif // __cplusplus const Frame * new_frame_from_data(const uint8_t *, const size_t, int, int, int); #ifdef __cplusplus typedef openMVG::image::Image RgbImage; typedef std::vector FeatureVector; typedef openMVG::image::Image UImage; typedef std::vector RegionVector; typedef openMVG::sfm::SfM_Data Sfm_Data; extern "C" namespace Archimedes { int get_image_data(const Frame *, unsigned char *data); } #endif #ifdef __cplusplus extern "C" __attribute__((visibility("default"))) __attribute((used)) #else __attribute__((visibility("default"))) __attribute((used)) #endif // __cplusplus int archimedes_get_image_data(const Frame *, unsigned char *);