Пример #1
0
void register_Quat_class(){

    { //::osg::Quat
        typedef bp::class_< osg::Quat > Quat_exposer_t;
        Quat_exposer_t Quat_exposer = Quat_exposer_t( "Quat", "\n A quaternion class. It can be used to represent an orientation in 3D space.\n", bp::init< >() );
        bp::scope Quat_scope( Quat_exposer );
        Quat_exposer.def( bp::init< double, double, double, double >(( bp::arg("x"), bp::arg("y"), bp::arg("z"), bp::arg("w") )) );
        Quat_exposer.def( bp::init< osg::Vec4f const & >(( bp::arg("v") )) );
        bp::implicitly_convertible< osg::Vec4f const &, osg::Quat >();
        Quat_exposer.def( bp::init< osg::Vec4d const & >(( bp::arg("v") )) );
        bp::implicitly_convertible< osg::Vec4d const &, osg::Quat >();
        Quat_exposer.def( bp::init< double, osg::Vec3f const & >(( bp::arg("angle"), bp::arg("axis") )) );
        Quat_exposer.def( bp::init< double, osg::Vec3d const & >(( bp::arg("angle"), bp::arg("axis") )) );
        Quat_exposer.def( bp::init< double, osg::Vec3f const &, double, osg::Vec3f const &, double, osg::Vec3f const & >(( bp::arg("angle1"), bp::arg("axis1"), bp::arg("angle2"), bp::arg("axis2"), bp::arg("angle3"), bp::arg("axis3") )) );
        Quat_exposer.def( bp::init< double, osg::Vec3d const &, double, osg::Vec3d const &, double, osg::Vec3d const & >(( bp::arg("angle1"), bp::arg("axis1"), bp::arg("angle2"), bp::arg("axis2"), bp::arg("angle3"), bp::arg("axis3") )) );
        { //::osg::Quat::asVec3
        
            typedef ::osg::Vec3d ( ::osg::Quat::*asVec3_function_type )(  ) const;
            
            Quat_exposer.def( 
                "asVec3"
                , asVec3_function_type( &::osg::Quat::asVec3 ) );
        
        }
        { //::osg::Quat::asVec4
        
            typedef ::osg::Vec4d ( ::osg::Quat::*asVec4_function_type )(  ) const;
            
            Quat_exposer.def( 
                "asVec4"
                , asVec4_function_type( &::osg::Quat::asVec4 ) );
        
        }
        { //::osg::Quat::conj
        
            typedef ::osg::Quat ( ::osg::Quat::*conj_function_type )(  ) const;
            
            Quat_exposer.def( 
                "conj"
                , conj_function_type( &::osg::Quat::conj )
                , "\n Conjugate\n" );
        
        }
        { //::osg::Quat::get
        
            typedef void ( ::osg::Quat::*get_function_type )( ::osg::Matrixf & ) const;
            
            Quat_exposer.def( 
                "get"
                , get_function_type( &::osg::Quat::get )
                , ( bp::arg("matrix") ) );
        
        }
        { //::osg::Quat::get
        
            typedef void ( ::osg::Quat::*get_function_type )( ::osg::Matrixd & ) const;
            
            Quat_exposer.def( 
                "get"
                , get_function_type( &::osg::Quat::get )
                , ( bp::arg("matrix") ) );
        
        }
        { //::osg::Quat::getRotate
        
            typedef boost::python::tuple ( *getRotate_function_type )( ::osg::Quat const & );
            
            Quat_exposer.def( 
                "getRotate"
                , getRotate_function_type( &getRotate_7cd433cce0eabe855a9b774688d2845e )
                , ( bp::arg("inst") )
                , " Return the angle and vector represented by the quaternion." );
        
        }
        { //::osg::Quat::inverse
        
            typedef ::osg::Quat const ( ::osg::Quat::*inverse_function_type )(  ) const;
            
            Quat_exposer.def( 
                "inverse"
                , inverse_function_type( &::osg::Quat::inverse )
                , "\n Multiplicative inverse method: q^(-1) = q^*/(q.q^*)\n" );
        
        }
        { //::osg::Quat::length
        
            typedef double ( ::osg::Quat::*length_function_type )(  ) const;
            
            Quat_exposer.def( 
                "length"
                , length_function_type( &::osg::Quat::length )
                , "\n Length of the quaternion = sqrt( vec . vec )\n" );
        
        }
        { //::osg::Quat::length2
        
            typedef double ( ::osg::Quat::*length2_function_type )(  ) const;
            
            Quat_exposer.def( 
                "length2"
                , length2_function_type( &::osg::Quat::length2 )
                , "\n Length of the quaternion = vec . vec\n" );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( double,double,double,double ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("angle"), bp::arg("x"), bp::arg("y"), bp::arg("z") ) );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( double,::osg::Vec3f const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("angle"), bp::arg("vec") ) );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( double,::osg::Vec3d const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("angle"), bp::arg("vec") ) );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( double,::osg::Vec3f const &,double,::osg::Vec3f const &,double,::osg::Vec3f const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("angle1"), bp::arg("axis1"), bp::arg("angle2"), bp::arg("axis2"), bp::arg("angle3"), bp::arg("axis3") ) );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( double,::osg::Vec3d const &,double,::osg::Vec3d const &,double,::osg::Vec3d const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("angle1"), bp::arg("axis1"), bp::arg("angle2"), bp::arg("axis2"), bp::arg("angle3"), bp::arg("axis3") ) );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( ::osg::Vec3f const &,::osg::Vec3f const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("vec1"), bp::arg("vec2") )
                , "\n Make a rotation Quat which will rotate vec1 to vec2.\n            Generally take a dot product to get the angle between these\n            and then use a cross product to get the rotation axis\n            Watch out for the two special cases when the vectors\n            are co-incident or opposite in direction.\n" );
        
        }
        { //::osg::Quat::makeRotate
        
            typedef void ( ::osg::Quat::*makeRotate_function_type )( ::osg::Vec3d const &,::osg::Vec3d const & ) ;
            
            Quat_exposer.def( 
                "makeRotate"
                , makeRotate_function_type( &::osg::Quat::makeRotate )
                , ( bp::arg("vec1"), bp::arg("vec2") )
                , "\n Make a rotation Quat which will rotate vec1 to vec2.\n            Generally take a dot product to get the angle between these\n            and then use a cross product to get the rotation axis\n            Watch out for the two special cases of when the vectors\n            are co-incident or opposite in direction.\n" );
        
        }
        { //::osg::Quat::makeRotate_original
        
            typedef void ( ::osg::Quat::*makeRotate_original_function_type )( ::osg::Vec3d const &,::osg::Vec3d const & ) ;
            
            Quat_exposer.def( 
                "makeRotate_original"
                , makeRotate_original_function_type( &::osg::Quat::makeRotate_original )
                , ( bp::arg("vec1"), bp::arg("vec2") ) );
        
        }
        Quat_exposer.def( bp::self != bp::self );
        Quat_exposer.def( bp::self * bp::other< double >() );
        Quat_exposer.def( bp::self * bp::self );
        Quat_exposer.def( bp::self * bp::other< osg::Vec3f >() );
        Quat_exposer.def( bp::self * bp::other< osg::Vec3d >() );
        Quat_exposer.def( bp::self *= bp::other< double >() );
        Quat_exposer.def( bp::self *= bp::self );
        Quat_exposer.def( bp::self + bp::self );
        Quat_exposer.def( bp::self += bp::self );
        Quat_exposer.def( bp::self - bp::self );
        Quat_exposer.def( -bp::self );
        Quat_exposer.def( bp::self -= bp::self );
        Quat_exposer.def( bp::self / bp::other< double >() );
        Quat_exposer.def( bp::self / bp::self );
        Quat_exposer.def( bp::self /= bp::other< double >() );
        Quat_exposer.def( bp::self /= bp::self );
        Quat_exposer.def( bp::self < bp::self );
        { //::osg::Quat::operator=
        
            typedef ::osg::Quat & ( ::osg::Quat::*assign_function_type )( ::osg::Quat const & ) ;
            
            Quat_exposer.def( 
                "assign"
                , assign_function_type( &::osg::Quat::operator= )
                , ( bp::arg("v") )
                , bp::return_self< >() );
        
        }
        Quat_exposer.def( bp::self == bp::self );
        { //::osg::Quat::operator[]
        
            typedef double & ( ::osg::Quat::*__getitem___function_type )( int ) ;
            
            Quat_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Quat::operator[] )
                , ( bp::arg("i") )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Quat::operator[]
        
            typedef double ( ::osg::Quat::*__getitem___function_type )( int ) const;
            
            Quat_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Quat::operator[] )
                , ( bp::arg("i") ) );
        
        }
        { //::osg::Quat::set
        
            typedef void ( ::osg::Quat::*set_function_type )( double,double,double,double ) ;
            
            Quat_exposer.def( 
                "set"
                , set_function_type( &::osg::Quat::set )
                , ( bp::arg("x"), bp::arg("y"), bp::arg("z"), bp::arg("w") ) );
        
        }
        { //::osg::Quat::set
        
            typedef void ( ::osg::Quat::*set_function_type )( ::osg::Vec4f const & ) ;
            
            Quat_exposer.def( 
                "set"
                , set_function_type( &::osg::Quat::set )
                , ( bp::arg("v") ) );
        
        }
        { //::osg::Quat::set
        
            typedef void ( ::osg::Quat::*set_function_type )( ::osg::Vec4d const & ) ;
            
            Quat_exposer.def( 
                "set"
                , set_function_type( &::osg::Quat::set )
                , ( bp::arg("v") ) );
        
        }
        { //::osg::Quat::set
        
            typedef void ( ::osg::Quat::*set_function_type )( ::osg::Matrixf const & ) ;
            
            Quat_exposer.def( 
                "set"
                , set_function_type( &::osg::Quat::set )
                , ( bp::arg("matrix") ) );
        
        }
        { //::osg::Quat::set
        
            typedef void ( ::osg::Quat::*set_function_type )( ::osg::Matrixd const & ) ;
            
            Quat_exposer.def( 
                "set"
                , set_function_type( &::osg::Quat::set )
                , ( bp::arg("matrix") ) );
        
        }
        { //::osg::Quat::slerp
        
            typedef void ( ::osg::Quat::*slerp_function_type )( double,::osg::Quat const &,::osg::Quat const & ) ;
            
            Quat_exposer.def( 
                "slerp"
                , slerp_function_type( &::osg::Quat::slerp )
                , ( bp::arg("t"), bp::arg("from"), bp::arg("to") )
                , "\n Spherical Linear Interpolation.\n        As t goes from 0 to 1, the Quat object goes from from to to.\n" );
        
        }
        { //::osg::Quat::w
        
            typedef double & ( ::osg::Quat::*w_function_type )(  ) ;
            
            Quat_exposer.def( 
                "w"
                , w_function_type( &::osg::Quat::w )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Quat::w
        
            typedef double ( ::osg::Quat::*w_function_type )(  ) const;
            
            Quat_exposer.def( 
                "w"
                , w_function_type( &::osg::Quat::w ) );
        
        }
        { //::osg::Quat::x
        
            typedef double & ( ::osg::Quat::*x_function_type )(  ) ;
            
            Quat_exposer.def( 
                "x"
                , x_function_type( &::osg::Quat::x )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Quat::x
        
            typedef double ( ::osg::Quat::*x_function_type )(  ) const;
            
            Quat_exposer.def( 
                "x"
                , x_function_type( &::osg::Quat::x ) );
        
        }
        { //::osg::Quat::y
        
            typedef double & ( ::osg::Quat::*y_function_type )(  ) ;
            
            Quat_exposer.def( 
                "y"
                , y_function_type( &::osg::Quat::y )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Quat::y
        
            typedef double ( ::osg::Quat::*y_function_type )(  ) const;
            
            Quat_exposer.def( 
                "y"
                , y_function_type( &::osg::Quat::y ) );
        
        }
        { //::osg::Quat::z
        
            typedef double & ( ::osg::Quat::*z_function_type )(  ) ;
            
            Quat_exposer.def( 
                "z"
                , z_function_type( &::osg::Quat::z )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Quat::z
        
            typedef double ( ::osg::Quat::*z_function_type )(  ) const;
            
            Quat_exposer.def( 
                "z"
                , z_function_type( &::osg::Quat::z ) );
        
        }
        { //::osg::Quat::zeroRotation
        
            typedef bool ( ::osg::Quat::*zeroRotation_function_type )(  ) const;
            
            Quat_exposer.def( 
                "zeroRotation"
                , zeroRotation_function_type( &::osg::Quat::zeroRotation )
                , "\n return true if the Quat represents a zero rotation, and therefore can be ignored in computations.\n" );
        
        }
        Quat_exposer.def( bp::self_ns::str( bp::self ) );
        Quat_exposer.def( bp::self_ns::str(bp::self) );
        Quat_exposer.def(bp::indexing::container_suite<
                                    osg::Quat, 
                                    bp::indexing::all_methods, 
                                    OsgVec_algorithms<osg::Quat, osg::Quat::value_type, 4> >());
    }

}
Пример #2
0
void register_Vec2d_class(){

    { //::osg::Vec2d
        typedef bp::class_< osg::Vec2d > Vec2d_exposer_t;
        Vec2d_exposer_t Vec2d_exposer = Vec2d_exposer_t( "Vec2d", "\n General purpose double pair, uses include representation of\n texture coordinates.\n No support yet added for double * Vec2d - is it necessary?\n Need to define a non-member non-friend operator* etc.\n BTW: Vec2d * double is okay\n", bp::init< >("\n Constructor that sets all components of the vector to zero\n") );
        bp::scope Vec2d_scope( Vec2d_exposer );
        bp::scope().attr("num_components") = (int)osg::Vec2d::num_components;
        Vec2d_exposer.def( bp::init< double, double >(( bp::arg("x"), bp::arg("y") )) );
        Vec2d_exposer.def( bp::init< osg::Vec2f const & >(( bp::arg("vec") )) );
        bp::implicitly_convertible< osg::Vec2f const &, osg::Vec2d >();
        { //::osg::Vec2d::isNaN
        
            typedef bool ( ::osg::Vec2d::*isNaN_function_type )(  ) const;
            
            Vec2d_exposer.def( 
                "isNaN"
                , isNaN_function_type( &::osg::Vec2d::isNaN )
                , "\n Returns true if at least one component has value NaN.\n" );
        
        }
        { //::osg::Vec2d::length
        
            typedef double ( ::osg::Vec2d::*length_function_type )(  ) const;
            
            Vec2d_exposer.def( 
                "length"
                , length_function_type( &::osg::Vec2d::length )
                , "\n Length of the vector = sqrt( vec . vec )\n" );
        
        }
        { //::osg::Vec2d::length2
        
            typedef double ( ::osg::Vec2d::*length2_function_type )(  ) const;
            
            Vec2d_exposer.def( 
                "length2"
                , length2_function_type( &::osg::Vec2d::length2 )
                , "\n Length squared of the vector = vec . vec\n" );
        
        }
        { //::osg::Vec2d::normalize
        
            typedef double ( ::osg::Vec2d::*normalize_function_type )(  ) ;
            
            Vec2d_exposer.def( 
                "normalize"
                , normalize_function_type( &::osg::Vec2d::normalize )
                , "\n Normalize the vector so that it has length unity.\n Returns the previous length of the vector.\n" );
        
        }
        Vec2d_exposer.def( "as__scope_osg_scope_Vec2f", &osg::Vec2d::operator ::osg::Vec2f  );
        Vec2d_exposer.def( bp::self != bp::self );
        Vec2d_exposer.def( bp::self * bp::self );
        Vec2d_exposer.def( bp::self * bp::other< double >() );
        Vec2d_exposer.def( bp::self *= bp::other< double >() );
        Vec2d_exposer.def( bp::self + bp::self );
        Vec2d_exposer.def( bp::self += bp::self );
        Vec2d_exposer.def( bp::self - bp::self );
        Vec2d_exposer.def( -bp::self );
        Vec2d_exposer.def( bp::self -= bp::self );
        Vec2d_exposer.def( bp::self / bp::other< double >() );
        Vec2d_exposer.def( bp::self /= bp::other< double >() );
        Vec2d_exposer.def( bp::self < bp::self );
        Vec2d_exposer.def( bp::self == bp::self );
        { //::osg::Vec2d::operator[]
        
            typedef double & ( ::osg::Vec2d::*__getitem___function_type )( int ) ;
            
            Vec2d_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Vec2d::operator[] )
                , ( bp::arg("i") )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Vec2d::operator[]
        
            typedef double ( ::osg::Vec2d::*__getitem___function_type )( int ) const;
            
            Vec2d_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Vec2d::operator[] )
                , ( bp::arg("i") ) );
        
        }
        { //::osg::Vec2d::set
        
            typedef void ( ::osg::Vec2d::*set_function_type )( double,double ) ;
            
            Vec2d_exposer.def( 
                "set"
                , set_function_type( &::osg::Vec2d::set )
                , ( bp::arg("x"), bp::arg("y") ) );
        
        }
        { //::osg::Vec2d::valid
        
            typedef bool ( ::osg::Vec2d::*valid_function_type )(  ) const;
            
            Vec2d_exposer.def( 
                "valid"
                , valid_function_type( &::osg::Vec2d::valid )
                , "\n Returns true if all components have values that are not NaN.\n" );
        
        }
        { //property "x"[fget=::osg::Vec2d::x]
        
            typedef double & ( ::osg::Vec2d::*fget )(  ) ;
            
            Vec2d_exposer.add_property( 
                "x"
                , bp::make_function( 
                      fget( &::osg::Vec2d::x )
                    , bp::return_value_policy< bp::copy_non_const_reference >() )  );
        
        }
        { //property "x"[fget=::osg::Vec2d::x]
        
            typedef double ( ::osg::Vec2d::*fget )(  ) const;
            
            Vec2d_exposer.add_property( 
                "x"
                , fget( &::osg::Vec2d::x ) );
        
        }
        { //property "y"[fget=::osg::Vec2d::y]
        
            typedef double & ( ::osg::Vec2d::*fget )(  ) ;
            
            Vec2d_exposer.add_property( 
                "y"
                , bp::make_function( 
                      fget( &::osg::Vec2d::y )
                    , bp::return_value_policy< bp::copy_non_const_reference >() )  );
        
        }
        { //property "y"[fget=::osg::Vec2d::y]
        
            typedef double ( ::osg::Vec2d::*fget )(  ) const;
            
            Vec2d_exposer.add_property( 
                "y"
                , fget( &::osg::Vec2d::y ) );
        
        }
        Vec2d_exposer.def( bp::self_ns::str( bp::self ) );
        Vec2d_exposer.def( bp::self_ns::str(bp::self) );
        Vec2d_exposer.def(bp::indexing::container_suite<
                                    osg::Vec2d, 
                                    bp::indexing::all_methods, 
                                    OsgVec_algorithms<osg::Vec2d, osg::Vec2d::value_type, osg::Vec2d::num_components> >());
    }

}
Пример #3
0
void register_Vec3f_class(){

    { //::osg::Vec3f
        typedef bp::class_< osg::Vec3f > Vec3f_exposer_t;
        Vec3f_exposer_t Vec3f_exposer = Vec3f_exposer_t( "Vec3f", "\n General purpose float triple for use as vertices, vectors and normals.\n Provides general math operations from addition through to cross products.\n No support yet added for float * Vec3f - is it necessary?\n Need to define a non-member non-friend operator*  etc.\n Vec3f * float is okay\n", bp::init< >("\n Constructor that sets all components of the vector to zero\n") );
        bp::scope Vec3f_scope( Vec3f_exposer );
        bp::scope().attr("num_components") = (int)osg::Vec3f::num_components;
        Vec3f_exposer.def( bp::init< float, float, float >(( bp::arg("x"), bp::arg("y"), bp::arg("z") )) );
        Vec3f_exposer.def( bp::init< osg::Vec2f const &, float >(( bp::arg("v2"), bp::arg("zz") )) );
        { //::osg::Vec3f::isNaN
        
            typedef bool ( ::osg::Vec3f::*isNaN_function_type)(  ) const;
            
            Vec3f_exposer.def( 
                "isNaN"
                , isNaN_function_type( &::osg::Vec3f::isNaN )
                , "\n Returns true if at least one component has value NaN.\n" );
        
        }
        { //::osg::Vec3f::length
        
            typedef float ( ::osg::Vec3f::*length_function_type)(  ) const;
            
            Vec3f_exposer.def( 
                "length"
                , length_function_type( &::osg::Vec3f::length )
                , "\n Length of the vector = sqrt( vec . vec )\n" );
        
        }
        { //::osg::Vec3f::length2
        
            typedef float ( ::osg::Vec3f::*length2_function_type)(  ) const;
            
            Vec3f_exposer.def( 
                "length2"
                , length2_function_type( &::osg::Vec3f::length2 )
                , "\n Length squared of the vector = vec . vec\n" );
        
        }
        { //::osg::Vec3f::normalize
        
            typedef float ( ::osg::Vec3f::*normalize_function_type)(  ) ;
            
            Vec3f_exposer.def( 
                "normalize"
                , normalize_function_type( &::osg::Vec3f::normalize )
                , "\n Normalize the vector so that it has length unity.\n Returns the previous length of the vector.\n" );
        
        }
        Vec3f_exposer.def( bp::self != bp::self );
        Vec3f_exposer.def( bp::self * bp::self );
        Vec3f_exposer.def( bp::self * bp::other< float >() );
        Vec3f_exposer.def( bp::self *= bp::other< float >() );
        Vec3f_exposer.def( bp::self + bp::self );
        Vec3f_exposer.def( bp::self += bp::self );
        Vec3f_exposer.def( bp::self - bp::self );
        Vec3f_exposer.def( -bp::self );
        Vec3f_exposer.def( bp::self -= bp::self );
        Vec3f_exposer.def( bp::self / bp::other< float >() );
        Vec3f_exposer.def( bp::self /= bp::other< float >() );
        Vec3f_exposer.def( bp::self < bp::self );
        Vec3f_exposer.def( bp::self == bp::self );
        { //::osg::Vec3f::operator[]
        
            typedef float & ( ::osg::Vec3f::*__getitem___function_type)( int ) ;
            
            Vec3f_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Vec3f::operator[] )
                , ( bp::arg("i") )
                , bp::return_value_policy< bp::copy_non_const_reference >() );
        
        }
        { //::osg::Vec3f::operator[]
        
            typedef float ( ::osg::Vec3f::*__getitem___function_type)( int ) const;
            
            Vec3f_exposer.def( 
                "__getitem__"
                , __getitem___function_type( &::osg::Vec3f::operator[] )
                , ( bp::arg("i") ) );
        
        }
        Vec3f_exposer.def( bp::self ^ bp::self );
        { //::osg::Vec3f::set
        
            typedef void ( ::osg::Vec3f::*set_function_type)( float,float,float ) ;
            
            Vec3f_exposer.def( 
                "set"
                , set_function_type( &::osg::Vec3f::set )
                , ( bp::arg("x"), bp::arg("y"), bp::arg("z") ) );
        
        }
        { //::osg::Vec3f::set
        
            typedef void ( ::osg::Vec3f::*set_function_type)( ::osg::Vec3f const & ) ;
            
            Vec3f_exposer.def( 
                "set"
                , set_function_type( &::osg::Vec3f::set )
                , ( bp::arg("rhs") ) );
        
        }
        { //::osg::Vec3f::valid
        
            typedef bool ( ::osg::Vec3f::*valid_function_type)(  ) const;
            
            Vec3f_exposer.def( 
                "valid"
                , valid_function_type( &::osg::Vec3f::valid )
                , "\n Returns true if all components have values that are not NaN.\n" );
        
        }
        { //property "x"[fget=::osg::Vec3f::x]
        
            typedef float & ( ::osg::Vec3f::*fget)(  ) ;
            
            Vec3f_exposer.add_property( 
                "x"
                , bp::make_function( 
                      fget( &::osg::Vec3f::x )
                    , bp::return_value_policy< bp::copy_non_const_reference >() )  );
        
        }
        { //property "x"[fget=::osg::Vec3f::x]
        
            typedef float ( ::osg::Vec3f::*fget)(  ) const;
            
            Vec3f_exposer.add_property( 
                "x"
                , fget( &::osg::Vec3f::x ) );
        
        }
        { //property "y"[fget=::osg::Vec3f::y]
        
            typedef float & ( ::osg::Vec3f::*fget)(  ) ;
            
            Vec3f_exposer.add_property( 
                "y"
                , bp::make_function( 
                      fget( &::osg::Vec3f::y )
                    , bp::return_value_policy< bp::copy_non_const_reference >() )  );
        
        }
        { //property "y"[fget=::osg::Vec3f::y]
        
            typedef float ( ::osg::Vec3f::*fget)(  ) const;
            
            Vec3f_exposer.add_property( 
                "y"
                , fget( &::osg::Vec3f::y ) );
        
        }
        { //property "z"[fget=::osg::Vec3f::z]
        
            typedef float & ( ::osg::Vec3f::*fget)(  ) ;
            
            Vec3f_exposer.add_property( 
                "z"
                , bp::make_function( 
                      fget( &::osg::Vec3f::z )
                    , bp::return_value_policy< bp::copy_non_const_reference >() )  );
        
        }
        { //property "z"[fget=::osg::Vec3f::z]
        
            typedef float ( ::osg::Vec3f::*fget)(  ) const;
            
            Vec3f_exposer.add_property( 
                "z"
                , fget( &::osg::Vec3f::z ) );
        
        }
        Vec3f_exposer.def( bp::self * bp::other< osg::Matrixf >() );
        Vec3f_exposer.def( bp::self * bp::other< osg::Matrixd >() );
        Vec3f_exposer.def( bp::self * bp::other< osg::Vec4d >() );
        Vec3f_exposer.def( bp::self * bp::other< osg::Vec4f >() );
        Vec3f_exposer.def( bp::self_ns::str( bp::self ) );
        Vec3f_exposer.def( bp::self_ns::str(bp::self) );
        Vec3f_exposer.def(bp::indexing::container_suite<
                            osg::Vec3f, 
                            bp::indexing::all_methods, 
                            OsgVec_algorithms<osg::Vec3f, osg::Vec3f::value_type, osg::Vec3f::num_components> >());
    }

}