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

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

#include <osg/BoundingBox>
#include <osg/ComputeBoundsVisitor>
#include <osg/Drawable>
#include <osg/Geode>
#include <osg/Matrix>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Polytope>
#include <osg/Transform>

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

BEGIN_OBJECT_REFLECTOR(osg::ComputeBoundsVisitor)
	I_DeclaringFile("osg/ComputeBoundsVisitor");
	I_BaseType(osg::NodeVisitor);
	I_ConstructorWithDefaults1(IN, osg::NodeVisitor::TraversalMode, traversalMode, osg::NodeVisitor::TRAVERSE_ALL_CHILDREN,
	                           Properties::NON_EXPLICIT,
	                           ____ComputeBoundsVisitor__TraversalMode,
	                           "",
	                           "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the library name/namespapce of the visitor's. ",
	          "Should be defined by derived classes. ");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the visitor's class type. ",
	          "Should be defined by derived classes. ");
	I_Method0(void, reset,
	          Properties::VIRTUAL,
	          __void__reset,
	          "Method to call to reset visitor. ",
	          "Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal. ");
	I_Method0(osg::BoundingBox &, getBoundingBox,
	          Properties::NON_VIRTUAL,
	          __osg_BoundingBox_R1__getBoundingBox,
	          "",
	          "");
	I_MethodWithDefaults2(void, getPolytope, IN, osg::Polytope &, polytope, , IN, float, margin, 0.1,
	                      Properties::NON_VIRTUAL,
	                      __void__getPolytope__osg_Polytope_R1__float,
	                      "",
	                      "");
	I_MethodWithDefaults2(void, getBase, IN, osg::Polytope &, polytope, , IN, float, margin, 0.1,
	                      Properties::NON_VIRTUAL,
	                      __void__getBase__osg_Polytope_R1__float,
	                      "",
	                      "");
	I_Method1(void, apply, IN, osg::Node &, node,
	          Properties::VIRTUAL,
	          __void__apply__osg_Node_R1,
	          "",
	          "");
	I_Method1(void, apply, IN, osg::Transform &, transform,
	          Properties::VIRTUAL,
	          __void__apply__osg_Transform_R1,
	          "",
	          "");
	I_Method1(void, apply, IN, osg::Geode &, geode,
	          Properties::VIRTUAL,
	          __void__apply__osg_Geode_R1,
	          "",
	          "");
	I_Method1(void, pushMatrix, IN, osg::Matrix &, matrix,
	          Properties::NON_VIRTUAL,
	          __void__pushMatrix__osg_Matrix_R1,
	          "",
	          "");
	I_Method0(void, popMatrix,
	          Properties::NON_VIRTUAL,
	          __void__popMatrix,
	          "",
	          "");
	I_Method1(void, applyDrawable, IN, osg::Drawable *, drawable,
	          Properties::NON_VIRTUAL,
	          __void__applyDrawable__osg_Drawable_P1,
	          "",
	          "");
	I_SimpleProperty(osg::BoundingBox &, BoundingBox, 
	                 __osg_BoundingBox_R1__getBoundingBox, 
	                 0);
END_REFLECTOR

