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

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

namespace bp = boost::python;

void register_SVD_class(){

    { //::cv::SVD
        typedef bp::class_< cv::SVD > SVD_exposer_t;
        SVD_exposer_t SVD_exposer = SVD_exposer_t( "SVD", bp::init< >() );
        bp::scope SVD_scope( SVD_exposer );
        SVD_exposer.add_property( "this", pyplus_conv::make_addressof_inst_getter< cv::SVD >() );
        bp::scope().attr("MODIFY_A") = (int)cv::SVD::MODIFY_A;
        bp::scope().attr("NO_UV") = (int)cv::SVD::NO_UV;
        bp::scope().attr("FULL_UV") = (int)cv::SVD::FULL_UV;
        SVD_exposer.def( bp::init< cv::Mat const &, bp::optional< int > >(( bp::arg("m"), bp::arg("flags")=(int)(0) )) );
        bp::implicitly_convertible< cv::Mat const &, cv::SVD >();
        { //::cv::SVD::backSubst
        
            typedef void ( ::cv::SVD::*backSubst_function_type )( ::cv::Mat const &,::cv::Mat & ) const;
            
            SVD_exposer.def( 
                "backSubst"
                , backSubst_function_type( &::cv::SVD::backSubst )
                , ( bp::arg("rhs"), bp::arg("dst") ) );
        
        }
        { //::cv::SVD::operator()
        
            typedef ::cv::SVD & ( ::cv::SVD::*__call___function_type )( ::cv::Mat const &,int ) ;
            
            SVD_exposer.def( 
                "__call__"
                , __call___function_type( &::cv::SVD::operator() )
                , ( bp::arg("m"), bp::arg("flags")=(int)(0) )
                , bp::return_self< >() );
        
        }
        { //::cv::SVD::solveZ
        
            typedef void ( *solveZ_function_type )( ::cv::Mat const &,::cv::Mat & );
            
            SVD_exposer.def( 
                "solveZ"
                , solveZ_function_type( &::cv::SVD::solveZ )
                , ( bp::arg("m"), bp::arg("dst") ) );
        
        }
        SVD_exposer.def_readwrite( "u", &cv::SVD::u );
        SVD_exposer.def_readwrite( "vt", &cv::SVD::vt );
        SVD_exposer.def_readwrite( "w", &cv::SVD::w );
        SVD_exposer.staticmethod( "solveZ" );
    }

}
