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

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

#include <osg/FrameStamp>
#include <osg/GraphicsThread>
#include <osg/Group>
#include <osg/Node>
#include <osg/PagedLOD>
#include <osg/State>
#include <osgDB/DatabasePager>

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

TYPE_NAME_ALIAS(OpenThreads::Thread::ThreadPriority, osgDB::DatabasePager::ThreadPriority);

TYPE_NAME_ALIAS(std::list< osg::ref_ptr< osg::PagedLOD > >, osgDB::DatabasePager::PagedLODList);

TYPE_NAME_ALIAS(std::set< osg::ref_ptr< osg::StateSet > >, osgDB::DatabasePager::StateSetList);

TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osg::Drawable > >, osgDB::DatabasePager::DrawableList);

TYPE_NAME_ALIAS(std::pair< osgDB::DatabasePager::StateSetList COMMA  osgDB::DatabasePager::DrawableList >, osgDB::DatabasePager::DataToCompile);

TYPE_NAME_ALIAS(std::map< unsigned int COMMA  osgDB::DatabasePager::DataToCompile >, osgDB::DatabasePager::DataToCompileMap);

TYPE_NAME_ALIAS(std::set< unsigned int >, osgDB::DatabasePager::ActiveGraphicsContexts);

BEGIN_ENUM_REFLECTOR(osgDB::DatabasePager::DrawablePolicy)
	I_EnumLabel(osgDB::DatabasePager::DO_NOT_MODIFY_DRAWABLE_SETTINGS);
	I_EnumLabel(osgDB::DatabasePager::USE_DISPLAY_LISTS);
	I_EnumLabel(osgDB::DatabasePager::USE_VERTEX_BUFFER_OBJECTS);
	I_EnumLabel(osgDB::DatabasePager::USE_VERTEX_ARRAYS);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgDB::DatabasePager)
	I_BaseType(osg::NodeVisitor::DatabaseRequestHandler);
	I_Constructor0();
	I_Method4(void, requestNodeFile, IN, const std::string &, fileName, IN, osg::Group *, group, IN, float, priority, IN, const osg::FrameStamp *, framestamp);
	I_Method0(void, run);
	I_Method0(int, cancel);
	I_Method0(void, clear);
	I_Method1(void, setDatabasePagerThreadPause, IN, bool, pause);
	I_Method0(bool, getDatabasePagerThreadPause);
	I_Method1(void, setAcceptNewDatabaseRequests, IN, bool, acceptNewRequests);
	I_Method0(bool, getAcceptNewDatabaseRequests);
	I_Method1(void, setUseFrameBlock, IN, bool, useFrameBlock);
	I_Method0(bool, getUseFrameBlock);
	I_Method0(osg::Block *, getFrameBlock);
	I_Method1(void, setThreadPriorityDuringFrame, IN, osgDB::DatabasePager::ThreadPriority, duringFrame);
	I_Method0(osgDB::DatabasePager::ThreadPriority, getThreadPriorityDuringFrame);
	I_Method1(void, setThreadPriorityOutwithFrame, IN, osgDB::DatabasePager::ThreadPriority, outwithFrame);
	I_Method0(osgDB::DatabasePager::ThreadPriority, getThreadPriorityOutwithFrame);
	I_Method0(int, getNumFramesActive);
	I_Method1(void, signalBeginFrame, IN, const osg::FrameStamp *, framestamp);
	I_Method0(void, signalEndFrame);
	I_Method1(void, registerPagedLODs, IN, osg::Node *, subgraph);
	I_Method1(void, setDoPreCompile, IN, bool, flag);
	I_Method0(bool, getDoPreCompile);
	I_Method1(void, setTargetFrameRate, IN, double, tfr);
	I_Method0(double, getTargetFrameRate);
	I_Method1(void, setMinimumTimeAvailableForGLCompileAndDeletePerFrame, IN, double, ta);
	I_Method0(double, getMinimumTimeAvailableForGLCompileAndDeletePerFrame);
	I_Method1(void, setMaximumNumOfObjectsToCompilePerFrame, IN, unsigned int, num);
	I_Method0(unsigned int, getMaximumNumOfObjectsToCompilePerFrame);
	I_Method1(void, setExpiryDelay, IN, double, expiryDelay);
	I_Method0(double, getExpiryDelay);
	I_Method1(void, setDeleteRemovedSubgraphsInDatabaseThread, IN, bool, flag);
	I_Method0(bool, getDeleteRemovedSubgraphsInDatabaseThread);
	I_Method1(void, setDrawablePolicy, IN, osgDB::DatabasePager::DrawablePolicy, policy);
	I_Method0(osgDB::DatabasePager::DrawablePolicy, getDrawablePolicy);
	I_Method2(void, setUnrefImageDataAfterApplyPolicy, IN, bool, changeAutoUnRef, IN, bool, valueAutoUnRef);
	I_Method2(void, getUnrefImageDataAfterApplyPolicy, IN, bool &, changeAutoUnRef, IN, bool &, valueAutoUnRef);
	I_Method2(void, setMaxAnisotropyPolicy, IN, bool, changeAnisotropy, IN, float, valueAnisotropy);
	I_Method2(void, getMaxAnisotropyPolicy, IN, bool &, changeAnisotropy, IN, float &, valueAnisotropy);
	I_Method0(bool, requiresUpdateSceneGraph);
	I_Method1(void, updateSceneGraph, IN, double, currentFrameTime);
	I_Method2(void, setCompileGLObjectsForContextID, IN, unsigned int, contextID, IN, bool, on);
	I_Method1(bool, getCompileGLObjectsForContextID, IN, unsigned int, contextID);
	I_Method0(bool, requiresCompileGLObjects);
	I_Method2(void, compileGLObjects, IN, osg::State &, state, IN, double &, availableTime);
	I_Property(bool, AcceptNewDatabaseRequests);
	I_IndexedProperty1(bool, CompileGLObjectsForContextID, unsigned int, contextID);
	I_Property(bool, DatabasePagerThreadPause);
	I_Property(bool, DeleteRemovedSubgraphsInDatabaseThread);
	I_Property(bool, DoPreCompile);
	I_Property(osgDB::DatabasePager::DrawablePolicy, DrawablePolicy);
	I_Property(double, ExpiryDelay);
	I_ReadOnlyProperty(osg::Block *, FrameBlock);
	I_Property(unsigned int, MaximumNumOfObjectsToCompilePerFrame);
	I_Property(double, MinimumTimeAvailableForGLCompileAndDeletePerFrame);
	I_Property(double, TargetFrameRate);
	I_Property(osgDB::DatabasePager::ThreadPriority, ThreadPriorityDuringFrame);
	I_Property(osgDB::DatabasePager::ThreadPriority, ThreadPriorityOutwithFrame);
	I_Property(bool, UseFrameBlock);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osg::PagedLOD >)
	I_Constructor0();
	I_Constructor1(IN, osg::PagedLOD *, t);
	I_Constructor1(IN, const osg::ref_ptr< osg::PagedLOD > &, rp);
	I_Method0(bool, valid);
	I_Method0(osg::PagedLOD *, get);
	I_Method0(const osg::PagedLOD *, get);
	I_Method0(osg::PagedLOD *, take);
	I_Method0(osg::PagedLOD *, release);
	I_ReadOnlyProperty(osg::PagedLOD *, );
END_REFLECTOR

STD_LIST_REFLECTOR(std::list< osg::ref_ptr< osg::PagedLOD > >);

STD_MAP_REFLECTOR(std::map< unsigned int COMMA  osgDB::DatabasePager::DataToCompile >);

STD_PAIR_REFLECTOR(std::pair< osgDB::DatabasePager::StateSetList COMMA  osgDB::DatabasePager::DrawableList >);

STD_SET_REFLECTOR(std::set< osg::ref_ptr< osg::StateSet > >);

STD_SET_REFLECTOR(std::set< unsigned int >);

