// ***************************************************************************
//
//   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/Camera>
#include <osg/CopyOp>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/OcclusionQueryNode>
#include <osg/State>
#include <osg/StateSet>

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

#include <osg/observer_ptr>
        
BEGIN_OBJECT_REFLECTOR(osg::OcclusionQueryNode)
	I_DeclaringFile("osg/OcclusionQueryNode");
	I_BaseType(osg::Group);
	I_Constructor0(____OcclusionQueryNode,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osg::OcclusionQueryNode &, oqn, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____OcclusionQueryNode__C5_OcclusionQueryNode_R1__C5_osg_CopyOp_R1,
	                           "",
	                           "");
	I_Method0(osg::Object *, cloneType,
	          Properties::VIRTUAL,
	          __osg_Object_P1__cloneType,
	          "clone an object of the same type as the node. ",
	          "");
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
	          Properties::VIRTUAL,
	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
	          "return a clone of a node, with Object* return type. ",
	          "");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_osg_Object_P1,
	          "return true if this and obj are of the same kind of object. ",
	          "");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the node's class type. ",
	          "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the name of the node's library. ",
	          "");
	I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
	          Properties::VIRTUAL,
	          __void__accept__osg_NodeVisitor_R1,
	          "Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
	          "");
	I_Method0(osg::BoundingSphere, computeBound,
	          Properties::VIRTUAL,
	          __osg_BoundingSphere__computeBound,
	          "Compute the bounding sphere around Node's geometry or children. ",
	          "This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). ");
	I_MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0,
	                      Properties::VIRTUAL,
	                      __void__releaseGLObjects__osg_State_P1,
	                      "If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. ",
	                      "Otherwise, releases OpenGL objects for all graphics contexts. ");
	I_MethodWithDefaults1(void, setQueriesEnabled, IN, bool, enable, true,
	                      Properties::NON_VIRTUAL,
	                      __void__setQueriesEnabled__bool,
	                      "",
	                      "");
	I_Method0(bool, getQueriesEnabled,
	          Properties::NON_VIRTUAL,
	          __bool__getQueriesEnabled,
	          "",
	          "");
	I_Method1(void, setVisibilityThreshold, IN, unsigned int, pixels,
	          Properties::NON_VIRTUAL,
	          __void__setVisibilityThreshold__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getVisibilityThreshold,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getVisibilityThreshold,
	          "",
	          "");
	I_Method1(void, setQueryFrameCount, IN, int, frames,
	          Properties::NON_VIRTUAL,
	          __void__setQueryFrameCount__int,
	          "",
	          "");
	I_Method0(int, getQueryFrameCount,
	          Properties::NON_VIRTUAL,
	          __int__getQueryFrameCount,
	          "",
	          "");
	I_Method1(void, setDebugDisplay, IN, bool, enable,
	          Properties::NON_VIRTUAL,
	          __void__setDebugDisplay__bool,
	          "",
	          "");
	I_Method0(bool, getDebugDisplay,
	          Properties::NON_VIRTUAL,
	          __bool__getDebugDisplay,
	          "",
	          "");
	I_Method1(void, setQueryStateSet, IN, osg::StateSet *, ss,
	          Properties::NON_VIRTUAL,
	          __void__setQueryStateSet__osg_StateSet_P1,
	          "",
	          "");
	I_Method0(osg::StateSet *, getQueryStateSet,
	          Properties::NON_VIRTUAL,
	          __osg_StateSet_P1__getQueryStateSet,
	          "",
	          "");
	I_Method0(const osg::StateSet *, getQueryStateSet,
	          Properties::NON_VIRTUAL,
	          __C5_osg_StateSet_P1__getQueryStateSet,
	          "",
	          "");
	I_Method1(void, setDebugStateSet, IN, osg::StateSet *, ss,
	          Properties::NON_VIRTUAL,
	          __void__setDebugStateSet__osg_StateSet_P1,
	          "",
	          "");
	I_Method0(osg::StateSet *, getDebugStateSet,
	          Properties::NON_VIRTUAL,
	          __osg_StateSet_P1__getDebugStateSet,
	          "",
	          "");
	I_Method0(const osg::StateSet *, getDebugStateSet,
	          Properties::NON_VIRTUAL,
	          __C5_osg_StateSet_P1__getDebugStateSet,
	          "",
	          "");
	I_Method0(bool, getPassed,
	          Properties::NON_VIRTUAL,
	          __bool__getPassed,
	          "",
	          "");
	I_Method2(bool, getPassed, IN, const osg::Camera *, camera, IN, osg::NodeVisitor &, nv,
	          Properties::NON_VIRTUAL,
	          __bool__getPassed__C5_osg_Camera_P1__osg_NodeVisitor_R1,
	          "",
	          "");
	I_Method2(void, traverseQuery, IN, const osg::Camera *, camera, IN, osg::NodeVisitor &, nv,
	          Properties::NON_VIRTUAL,
	          __void__traverseQuery__C5_osg_Camera_P1__osg_NodeVisitor_R1,
	          "",
	          "");
	I_Method1(void, traverseDebug, IN, osg::NodeVisitor &, nv,
	          Properties::NON_VIRTUAL,
	          __void__traverseDebug__osg_NodeVisitor_R1,
	          "",
	          "");
	I_StaticMethod3(void, flushDeletedQueryObjects, IN, unsigned int, contextID, IN, double, currentTime, IN, double &, availableTime,
	                __void__flushDeletedQueryObjects__unsigned_int__double__double_R1_S,
	                "",
	                "");
	I_StaticMethod1(void, discardDeletedQueryObjects, IN, unsigned int, contextID,
	                __void__discardDeletedQueryObjects__unsigned_int_S,
	                "",
	                "");
	I_ProtectedMethod0(void, createSupportNodes,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__createSupportNodes,
	                   "",
	                   "");
	I_SimpleProperty(bool, DebugDisplay, 
	                 __bool__getDebugDisplay, 
	                 __void__setDebugDisplay__bool);
	I_SimpleProperty(osg::StateSet *, DebugStateSet, 
	                 __osg_StateSet_P1__getDebugStateSet, 
	                 __void__setDebugStateSet__osg_StateSet_P1);
	I_SimpleProperty(bool, Passed, 
	                 __bool__getPassed, 
	                 0);
	I_SimpleProperty(bool, QueriesEnabled, 
	                 __bool__getQueriesEnabled, 
	                 __void__setQueriesEnabled__bool);
	I_SimpleProperty(int, QueryFrameCount, 
	                 __int__getQueryFrameCount, 
	                 __void__setQueryFrameCount__int);
	I_SimpleProperty(osg::StateSet *, QueryStateSet, 
	                 __osg_StateSet_P1__getQueryStateSet, 
	                 __void__setQueryStateSet__osg_StateSet_P1);
	I_SimpleProperty(unsigned int, VisibilityThreshold, 
	                 __unsigned_int__getVisibilityThreshold, 
	                 __void__setVisibilityThreshold__unsigned_int);
END_REFLECTOR

