// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/Vec2d>
#include <osg/Vec3d>
#include <osg/Vec3f>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

#include <osg/io_utils>
	
TYPE_NAME_ALIAS(double, osg::Vec3d::value_type);

BEGIN_VALUE_REFLECTOR(osg::Vec3d)
	I_ReaderWriter(osgIntrospection::StdReaderWriter<reflected_type>);	// user-defined
	I_Comparator(osgIntrospection::PartialOrderComparator<reflected_type>);	// user-defined
	I_Constructor0();
	I_Constructor1(IN, const osg::Vec3f &, vec);
	I_Constructor3(IN, osg::Vec3d::value_type, x, IN, osg::Vec3d::value_type, y, IN, osg::Vec3d::value_type, z);
	I_Constructor2(IN, const osg::Vec2d &, v2, IN, osg::Vec3d::value_type, zz);
	I_Method0(osg::Vec3d::value_type *, ptr);
	I_Method0(const osg::Vec3d::value_type *, ptr);
	I_Method3(void, set, IN, osg::Vec3d::value_type, x, IN, osg::Vec3d::value_type, y, IN, osg::Vec3d::value_type, z);
	I_Method1(void, set, IN, const osg::Vec3d &, rhs);
	I_Method0(osg::Vec3d::value_type &, x);
	I_Method0(osg::Vec3d::value_type &, y);
	I_Method0(osg::Vec3d::value_type &, z);
	I_Method0(osg::Vec3d::value_type, x);
	I_Method0(osg::Vec3d::value_type, y);
	I_Method0(osg::Vec3d::value_type, z);
	I_Method0(bool, valid);
	I_Method0(bool, isNaN);
	I_Method0(osg::Vec3d::value_type, length);
	I_Method0(osg::Vec3d::value_type, length2);
	I_Method0(osg::Vec3d::value_type, normalize);
	I_WriteOnlyProperty(const osg::Vec3d &, );
END_REFLECTOR

