// This file has been generated by Py++.

#include "boost/python.hpp"
#include "__call_policies.pypp.hpp"
#include "opencv_converters.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "LDetector.pypp.hpp"

namespace bp = boost::python;

static void getMostStable2D_b5c618f0990cbbe4d2707bd2d9eb711d( ::cv::LDetector const & inst, ::cv::Mat const & image, bp::list & keypoints, int maxCount, ::cv::PatchGenerator const & patchGenerator ){
    std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > keypoints2;
    convert_from_object_to_T(keypoints, keypoints2);
    inst.getMostStable2D(image, keypoints2, maxCount, patchGenerator);
    convert_from_T_to_object(keypoints2, keypoints);
}

static boost::python::object __call___14ec982e59fdc13237968e34b82d6fe2( ::cv::LDetector const & inst, ::cv::Mat const & image, int maxCount=0, bool scaleCoords=true ){
    std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > keypoints2;
    bp::list keypoints3;
    inst.operator()(image, keypoints2, maxCount, scaleCoords);
    convert_from_T_to_object(keypoints2, keypoints3);
    return bp::object( keypoints3 );
}

static boost::python::object __call___015c5cd98f14b41d0eaab62238a1a6fe( ::cv::LDetector const & inst, bp::list const & pyr, int maxCount=0, bool scaleCoords=true ){
    std::vector<cv::KeyPoint, std::allocator<cv::KeyPoint> > keypoints2;
    bp::list keypoints3;
    std::vector<cv::Mat, std::allocator<cv::Mat> > pyr2;
    convert_from_object_to_T(pyr, pyr2);
    inst.operator()(pyr2, keypoints2, maxCount, scaleCoords);
    convert_from_T_to_object(keypoints2, keypoints3);
    return bp::object( keypoints3 );
}

void register_LDetector_class(){

    bp::class_< cv::LDetector >( "LDetector", bp::init< >() )    
        .add_property( "this", pyplus_conv::make_addressof_inst_getter< cv::LDetector >() )    
        .def( bp::init< int, int, int, int, double, double >(( bp::arg("_radius"), bp::arg("_threshold"), bp::arg("_nOctaves"), bp::arg("_nViews"), bp::arg("_baseFeatureSize"), bp::arg("_clusteringDistance") )) )    
        .def( 
            "getMostStable2D"
            , (void (*)( ::cv::LDetector const &,::cv::Mat const &,bp::list &,int,::cv::PatchGenerator const & ))( &getMostStable2D_b5c618f0990cbbe4d2707bd2d9eb711d )
            , ( bp::arg("inst"), bp::arg("image"), bp::arg("keypoints"), bp::arg("maxCount"), bp::arg("patchGenerator") )
            , "\nArgument 'keypoints':"\
    "\n    C/C++ type: ::std::vector< cv::KeyPoint > &."\
    "\n    Python type: list."\
    "\n    To convert a Mat into a list, invoke one of Mat's member functions "\
    "\n    to_list_of_...()." )    
        .def( 
            "__call__"
            , (boost::python::object (*)( ::cv::LDetector const &,::cv::Mat const &,int,bool ))( &__call___14ec982e59fdc13237968e34b82d6fe2 )
            , ( bp::arg("inst"), bp::arg("image"), bp::arg("maxCount")=(int)(0), bp::arg("scaleCoords")=(bool)(true) )
            , "\nWrapped function:"
    "\n    operator()"
    "\nArgument 'keypoints':"\
    "\n    C/C++ type: ::std::vector< cv::KeyPoint > &."\
    "\n    Python type: list."\
    "\n    To convert a Mat into a list, invoke one of Mat's member functions "\
    "\n    to_list_of_...()."\
    "\n    Output argument: omitted from the function's calling sequence, and is "\
    "\n    returned along with the function's return value (if any)." )    
        .def( 
            "__call__"
            , (boost::python::object (*)( ::cv::LDetector const &,bp::list const &,int,bool ))( &__call___015c5cd98f14b41d0eaab62238a1a6fe )
            , ( bp::arg("inst"), bp::arg("pyr"), bp::arg("maxCount")=(int)(0), bp::arg("scaleCoords")=(bool)(true) )
            , "\nWrapped function:"
    "\n    operator()"
    "\nArgument 'pyr':"\
    "\n    C/C++ type: ::std::vector< cv::Mat > const &."\
    "\n    Python type: list."\
    "\n    To convert a Mat into a list, invoke one of Mat's member functions "\
    "\n    to_list_of_...()."\
    "\nArgument 'keypoints':"\
    "\n    C/C++ type: ::std::vector< cv::KeyPoint > &."\
    "\n    Python type: list."\
    "\n    To convert a Mat into a list, invoke one of Mat's member functions "\
    "\n    to_list_of_...()."\
    "\n    Output argument: omitted from the function's calling sequence, and is "\
    "\n    returned along with the function's return value (if any)." )    
        .def( 
            "read"
            , (void ( ::cv::LDetector::* )( ::cv::FileNode const & ) )( &::cv::LDetector::read )
            , ( bp::arg("node") ) )    
        .def( 
            "setVerbose"
            , (void ( ::cv::LDetector::* )( bool ) )( &::cv::LDetector::setVerbose )
            , ( bp::arg("verbose") ) )    
        .def( 
            "write"
            , (void ( ::cv::LDetector::* )( ::cv::FileStorage &,::cv::String const & ) const)( &::cv::LDetector::write )
            , ( bp::arg("fs"), bp::arg("name")=std::string() ) )    
        .def_readwrite( "baseFeatureSize", &cv::LDetector::baseFeatureSize )    
        .def_readwrite( "clusteringDistance", &cv::LDetector::clusteringDistance )    
        .def_readwrite( "nOctaves", &cv::LDetector::nOctaves )    
        .def_readwrite( "nViews", &cv::LDetector::nViews )    
        .def_readwrite( "radius", &cv::LDetector::radius )    
        .def_readwrite( "threshold", &cv::LDetector::threshold )    
        .def_readwrite( "verbose", &cv::LDetector::verbose );

}
