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

#include "boost/python.hpp"
#include "__ctypes_integration.pypp.hpp"
#include "opencv_headers.hpp"
#include "StereoBM.pypp.hpp"

namespace bp = boost::python;

void register_StereoBM_class(){

    { //::cv::StereoBM
        typedef bp::class_< cv::StereoBM > StereoBM_exposer_t;
        StereoBM_exposer_t StereoBM_exposer = StereoBM_exposer_t( "StereoBM", bp::init< >() );
        bp::scope StereoBM_scope( StereoBM_exposer );
        StereoBM_exposer.add_property( "this", pyplus_conv::make_addressof_inst_getter< cv::StereoBM >() );
        bp::scope().attr("PREFILTER_NORMALIZED_RESPONSE") = (int)cv::StereoBM::PREFILTER_NORMALIZED_RESPONSE;
        bp::scope().attr("PREFILTER_XSOBEL") = (int)cv::StereoBM::PREFILTER_XSOBEL;
        bp::scope().attr("BASIC_PRESET") = (int)cv::StereoBM::BASIC_PRESET;
        bp::scope().attr("FISH_EYE_PRESET") = (int)cv::StereoBM::FISH_EYE_PRESET;
        bp::scope().attr("NARROW_PRESET") = (int)cv::StereoBM::NARROW_PRESET;
        StereoBM_exposer.def( bp::init< int, bp::optional< int, int > >(( bp::arg("preset"), bp::arg("ndisparities")=(int)(0), bp::arg("SADWindowSize")=(int)(21) )) );
        bp::implicitly_convertible< int, cv::StereoBM >();
        { //::cv::StereoBM::init
        
            typedef void ( ::cv::StereoBM::*init_function_type )( int,int,int ) ;
            
            StereoBM_exposer.def( 
                "init"
                , init_function_type( &::cv::StereoBM::init )
                , ( bp::arg("preset"), bp::arg("ndisparities")=(int)(0), bp::arg("SADWindowSize")=(int)(21) ) );
        
        }
        { //::cv::StereoBM::operator()
        
            typedef void ( ::cv::StereoBM::*__call___function_type )( ::cv::Mat const &,::cv::Mat const &,::cv::Mat &,int ) ;
            
            StereoBM_exposer.def( 
                "__call__"
                , __call___function_type( &::cv::StereoBM::operator() )
                , ( bp::arg("left"), bp::arg("right"), bp::arg("disparity"), bp::arg("disptype")=(int)(3) )
                , "\nWrapped function:"
    "\n    operator()" );
        
        }
        StereoBM_exposer.def_readwrite( "state", &cv::StereoBM::state );
    }

}
