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

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

#include <osg/BoundingSphere>
#include <osg/CopyOp>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec3>
#include <osgSim/Impostor>
#include <osgSim/ImpostorSprite>

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

TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgSim::ImpostorSprite > >, osgSim::Impostor::ImpostorSpriteList);

BEGIN_OBJECT_REFLECTOR(osgSim::Impostor)
	I_BaseType(osg::LOD);
	I_Constructor0();
	I_ConstructorWithDefaults2(IN, const osgSim::Impostor &, es, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY);
	I_Method0(osg::Object *, cloneType);
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop);
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj);
	I_Method0(const char *, className);
	I_Method0(const char *, libraryName);
	I_Method1(void, accept, IN, osg::NodeVisitor &, nv);
	I_Method1(void, traverse, IN, osg::NodeVisitor &, nv);
	I_Method1(void, setImpostorThreshold, IN, float, distance);
	I_Method0(float, getImpostorThreshold);
	I_MethodWithDefaults1(void, setImpostorThresholdToBound, IN, float, ratio, 1.0f);
	I_Method2(osgSim::ImpostorSprite *, findBestImpostorSprite, IN, unsigned int, contextID, IN, const osg::Vec3 &, currLocalEyePoint);
	I_Method2(void, addImpostorSprite, IN, unsigned int, contextID, IN, osgSim::ImpostorSprite *, is);
	I_Method1(osgSim::Impostor::ImpostorSpriteList &, getImpostorSpriteList, IN, unsigned int, contexID);
	I_Method1(const osgSim::Impostor::ImpostorSpriteList &, getImpostorSpriteList, IN, unsigned int, contexID);
	I_Method0(osg::BoundingSphere, computeBound);
	I_Property(float, ImpostorThreshold);
	I_WriteOnlyProperty(float, ImpostorThresholdToBound);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgSim::ImpostorSprite >)
	I_Constructor0();
	I_Constructor1(IN, osgSim::ImpostorSprite *, ptr);
	I_Constructor1(IN, const osg::ref_ptr< osgSim::ImpostorSprite > &, rp);
	I_Method0(osgSim::ImpostorSprite *, get);
	I_Method0(bool, valid);
	I_Method0(osgSim::ImpostorSprite *, release);
	I_Method1(void, swap, IN, osg::ref_ptr< osgSim::ImpostorSprite > &, rp);
	I_ReadOnlyProperty(osgSim::ImpostorSprite *, );
END_REFLECTOR

STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgSim::ImpostorSprite > >);

