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

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

#include <osg/Geode>
#include <osg/Geometry>
#include <osgUtil/Simplifier>

// 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< unsigned int >, osgUtil::Simplifier::IndexList);

BEGIN_OBJECT_REFLECTOR(osgUtil::Simplifier)
	I_BaseType(osg::NodeVisitor);
	I_ConstructorWithDefaults3(IN, float, sampleRatio, 1.0f, IN, float, maximumError, FLT_MAX, IN, float, maximumLength, 0.0);
	I_Method1(void, setSampleRatio, IN, float, sampleRatio);
	I_Method0(float, getSampleRatio);
	I_Method1(void, setMaximumError, IN, float, error);
	I_Method0(float, getMaximumError);
	I_Method1(void, setMaximumLength, IN, float, length);
	I_Method0(float, getMaximumLength);
	I_Method1(void, setDoTriStrip, IN, bool, on);
	I_Method0(bool, getDoTriStrip);
	I_Method1(void, setSmoothing, IN, bool, on);
	I_Method0(bool, getSmoothing);
	I_Method1(void, setContinueSimplificationCallback, IN, osgUtil::Simplifier::ContinueSimplificationCallback *, cb);
	I_Method0(osgUtil::Simplifier::ContinueSimplificationCallback *, getContinueSimplificationCallback);
	I_Method0(const osgUtil::Simplifier::ContinueSimplificationCallback *, getContinueSimplificationCallback);
	I_Method3(bool, continueSimplification, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives);
	I_Method3(bool, continueSimplificationImplementation, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives);
	I_Method1(void, apply, IN, osg::Geode &, geode);
	I_Method1(void, simplify, IN, osg::Geometry &, geometry);
	I_Method2(void, simplify, IN, osg::Geometry &, geometry, IN, const osgUtil::Simplifier::IndexList &, protectedPoints);
	I_Property(osgUtil::Simplifier::ContinueSimplificationCallback *, ContinueSimplificationCallback);
	I_Property(bool, DoTriStrip);
	I_Property(float, MaximumError);
	I_Property(float, MaximumLength);
	I_Property(float, SampleRatio);
	I_Property(bool, Smoothing);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgUtil::Simplifier::ContinueSimplificationCallback)
	I_BaseType(osg::Referenced);
	I_Constructor0();
	I_Method4(bool, continueSimplification, IN, const osgUtil::Simplifier &, simplifier, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives);
END_REFLECTOR

