#include "stdint.h"
#include "common.h"
typedef int64_t int64;
#include <iostream>
#include "opencv2/opencv_modules.hpp"
#include <string>
#include "common_opencv.h"
using namespace cv;
#include "types.h"
extern "C" {
#include "return_types.h"
void* cv_new_VectorOfPoint2d() {
return new std::vector<cv::Point2d>();
}
void cv_delete_VectorOfPoint2d(void* ptr) {
delete reinterpret_cast<std::vector<cv::Point2d>*>(ptr);
}
void cv_push_VectorOfPoint2d(void* ptr, void* ptr2) {
cv::Point2d* val = reinterpret_cast<cv::Point2d*>(ptr2);
reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->push_back(*val);
}
cv::Point2d* cv_VectorOfPoint2d_front_item(void* ptr) {
cv::Point2d val = reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->front();
return new cv::Point2d(val);
}
cv::Point2d* cv_VectorOfPoint2d_back_item(void* ptr) {
cv::Point2d val = reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->back();
return new cv::Point2d(val);
}
int cv_VectorOfPoint2d_len(void* ptr) {
return reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->size();
}
cv::Point2d* cv_VectorOfPoint2d_get(void* ptr, int index) {
cv::Point2d val = reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->data()[index];
return new cv::Point2d(val);
}
void** cv_VectorOfPoint2d_data(void* ptr) {
return reinterpret_cast<void**>(reinterpret_cast<std::vector<cv::Point2d>*>(ptr)->data());
}
}