From 47de8dd38f0d2b476343c7ef0f0de04f5eb32b8d Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 15 Nov 2019 18:04:16 +0300 Subject: [PATCH] python: force using of ArgInfo --- .../misc/python/pyopencv_LSDDetector.hpp | 2 +- modules/rgbd/misc/python/pyopencv_linemod.hpp | 8 ++++---- .../opencv2/surface_matching/pose_3d.hpp | 2 +- .../misc/python/pyopencv_ppf_match_3d.hpp | 17 +++++++++++++++++ 4 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 modules/surface_matching/misc/python/pyopencv_ppf_match_3d.hpp diff --git a/modules/line_descriptor/misc/python/pyopencv_LSDDetector.hpp b/modules/line_descriptor/misc/python/pyopencv_LSDDetector.hpp index 2c9a6605c..6f8efccb4 100644 --- a/modules/line_descriptor/misc/python/pyopencv_LSDDetector.hpp +++ b/modules/line_descriptor/misc/python/pyopencv_LSDDetector.hpp @@ -2,7 +2,7 @@ template<> struct pyopencvVecConverter { - static bool to(PyObject* obj, std::vector& value, const ArgInfo info) + static bool to(PyObject* obj, std::vector& value, const ArgInfo& info) { return pyopencv_to_generic_vec(obj, value, info); } diff --git a/modules/rgbd/misc/python/pyopencv_linemod.hpp b/modules/rgbd/misc/python/pyopencv_linemod.hpp index 8bcd5c47d..ccd4b1579 100644 --- a/modules/rgbd/misc/python/pyopencv_linemod.hpp +++ b/modules/rgbd/misc/python/pyopencv_linemod.hpp @@ -3,7 +3,7 @@ template<> struct pyopencvVecConverter { - static bool to(PyObject* obj, std::vector& value, const ArgInfo info) + static bool to(PyObject* obj, std::vector& value, const ArgInfo& info) { return pyopencv_to_generic_vec(obj, value, info); } @@ -16,7 +16,7 @@ template<> struct pyopencvVecConverter template<> struct pyopencvVecConverter { - static bool to(PyObject* obj, std::vector& value, const ArgInfo info) + static bool to(PyObject* obj, std::vector& value, const ArgInfo& info) { return pyopencv_to_generic_vec(obj, value, info); } @@ -29,7 +29,7 @@ template<> struct pyopencvVecConverter template<> struct pyopencvVecConverter { - static bool to(PyObject* obj, std::vector& value, const ArgInfo info) + static bool to(PyObject* obj, std::vector& value, const ArgInfo& info) { return pyopencv_to_generic_vec(obj, value, info); } @@ -42,7 +42,7 @@ template<> struct pyopencvVecConverter template<> struct pyopencvVecConverter > { - static bool to(PyObject* obj, std::vector >& value, const ArgInfo info) + static bool to(PyObject* obj, std::vector >& value, const ArgInfo& info) { return pyopencv_to_generic_vec(obj, value, info); } diff --git a/modules/surface_matching/include/opencv2/surface_matching/pose_3d.hpp b/modules/surface_matching/include/opencv2/surface_matching/pose_3d.hpp index 82984bf34..c594239ee 100644 --- a/modules/surface_matching/include/opencv2/surface_matching/pose_3d.hpp +++ b/modules/surface_matching/include/opencv2/surface_matching/pose_3d.hpp @@ -67,7 +67,7 @@ typedef Ptr PoseCluster3DPtr; * various helper methods to work with poses * */ -class CV_EXPORTS Pose3D +class CV_EXPORTS_W Pose3D { public: Pose3D() diff --git a/modules/surface_matching/misc/python/pyopencv_ppf_match_3d.hpp b/modules/surface_matching/misc/python/pyopencv_ppf_match_3d.hpp new file mode 100644 index 000000000..bbe9c3a5b --- /dev/null +++ b/modules/surface_matching/misc/python/pyopencv_ppf_match_3d.hpp @@ -0,0 +1,17 @@ +#ifdef HAVE_OPENCV_SURFACE_MATCHING + +template<> struct pyopencvVecConverter +{ + static bool to(PyObject* obj, std::vector& value, const ArgInfo& info) + { + return pyopencv_to_generic_vec(obj, value, info); + } + + static PyObject* from(const std::vector& value) + { + return pyopencv_from_generic_vec(value); + } +}; + +typedef std::vector vector_Pose3DPtr; +#endif