// ***************************************************************************
//
//   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/Image>
#include <osg/Object>
#include <osg/Shape>
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osgTerrain/Layer>
#include <osgTerrain/Locator>
#include <osgTerrain/ValidDataOperator>

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

BEGIN_OBJECT_REFLECTOR(osgTerrain::HeightFieldLayer)
	I_DeclaringFile("osgTerrain/Layer");
	I_BaseType(osgTerrain::Layer);
	I_Constructor0(____HeightFieldLayer,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osgTerrain::HeightFieldLayer &, hfLayer, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____HeightFieldLayer__C5_HeightFieldLayer_R1__C5_osg_CopyOp_R1,
	                           "Copy constructor using CopyOp to manage deep vs shallow copy. ",
	                           "");
	I_Method2(bool, transform, IN, float, offset, IN, float, scale,
	          Properties::VIRTUAL,
	          __bool__transform__float__float,
	          "",
	          "");
	I_Method1(void, setHeightField, IN, osg::HeightField *, hf,
	          Properties::NON_VIRTUAL,
	          __void__setHeightField__osg_HeightField_P1,
	          "",
	          "");
	I_Method0(osg::HeightField *, getHeightField,
	          Properties::NON_VIRTUAL,
	          __osg_HeightField_P1__getHeightField,
	          "",
	          "");
	I_Method0(const osg::HeightField *, getHeightField,
	          Properties::NON_VIRTUAL,
	          __C5_osg_HeightField_P1__getHeightField,
	          "",
	          "");
	I_Method0(unsigned int, getNumColumns,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumColumns,
	          "",
	          "");
	I_Method0(unsigned int, getNumRows,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumRows,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, float &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__float_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec2 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec2_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec3 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec3_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec4 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec4_R1,
	          "",
	          "");
	I_SimpleProperty(osg::HeightField *, HeightField, 
	                 __osg_HeightField_P1__getHeightField, 
	                 __void__setHeightField__osg_HeightField_P1);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgTerrain::ImageLayer)
	I_DeclaringFile("osgTerrain/Layer");
	I_BaseType(osgTerrain::Layer);
	I_Constructor0(____ImageLayer,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osgTerrain::ImageLayer &, imageLayer, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____ImageLayer__C5_ImageLayer_R1__C5_osg_CopyOp_R1,
	                           "Copy constructor using CopyOp to manage deep vs shallow copy. ",
	                           "");
	I_Method2(bool, transform, IN, float, offset, IN, float, scale,
	          Properties::VIRTUAL,
	          __bool__transform__float__float,
	          "",
	          "");
	I_Method1(void, setImage, IN, osg::Image *, image,
	          Properties::NON_VIRTUAL,
	          __void__setImage__osg_Image_P1,
	          "",
	          "");
	I_Method0(osg::Image *, getImage,
	          Properties::NON_VIRTUAL,
	          __osg_Image_P1__getImage,
	          "",
	          "");
	I_Method0(const osg::Image *, getImage,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Image_P1__getImage,
	          "",
	          "");
	I_Method0(unsigned int, getNumColumns,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumColumns,
	          "",
	          "");
	I_Method0(unsigned int, getNumRows,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumRows,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, float &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__float_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec2 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec2_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec3 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec3_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec4 &, value,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned_int__unsigned_int__osg_Vec4_R1,
	          "",
	          "");
	I_SimpleProperty(osg::Image *, Image, 
	                 __osg_Image_P1__getImage, 
	                 __void__setImage__osg_Image_P1);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgTerrain::Layer)
	I_DeclaringFile("osgTerrain/Layer");
	I_BaseType(osg::Object);
	I_Constructor0(____Layer,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osgTerrain::Layer &, x, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____Layer__C5_Layer_R1__C5_osg_CopyOp_R1,
	                           "Copy constructor using CopyOp to manage deep vs shallow copy. ",
	                           "");
	I_Method0(osg::Object *, cloneType,
	          Properties::VIRTUAL,
	          __osg_Object_P1__cloneType,
	          "Clone the type of an object, with Object* return type. ",
	          "Must be defined by derived classes. ");
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
	          Properties::VIRTUAL,
	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
	          "Clone an object, with Object* return type. ",
	          "Must be defined by derived classes. ");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_osg_Object_P1,
	          "",
	          "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the name of the object's library. ",
	          "Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the object's class type. ",
	          "Must be defined by derived classes. ");
	I_Method1(void, setLocator, IN, osgTerrain::Locator *, locator,
	          Properties::NON_VIRTUAL,
	          __void__setLocator__Locator_P1,
	          "",
	          "");
	I_Method0(osgTerrain::Locator *, getLocator,
	          Properties::NON_VIRTUAL,
	          __Locator_P1__getLocator,
	          "",
	          "");
	I_Method0(const osgTerrain::Locator *, getLocator,
	          Properties::NON_VIRTUAL,
	          __C5_Locator_P1__getLocator,
	          "",
	          "");
	I_Method1(void, setValidDataOperator, IN, osgTerrain::ValidDataOperator *, validDataOp,
	          Properties::NON_VIRTUAL,
	          __void__setValidDataOperator__ValidDataOperator_P1,
	          "",
	          "");
	I_Method0(osgTerrain::ValidDataOperator *, getValidDataOperator,
	          Properties::NON_VIRTUAL,
	          __ValidDataOperator_P1__getValidDataOperator,
	          "",
	          "");
	I_Method0(const osgTerrain::ValidDataOperator *, getValidDataOperator,
	          Properties::NON_VIRTUAL,
	          __C5_ValidDataOperator_P1__getValidDataOperator,
	          "",
	          "");
	I_Method0(unsigned int, getNumColumns,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumColumns,
	          "",
	          "");
	I_Method0(unsigned int, getNumRows,
	          Properties::VIRTUAL,
	          __unsigned_int__getNumRows,
	          "",
	          "");
	I_Method1(void, setDefaultValue, IN, const osg::Vec4 &, value,
	          Properties::NON_VIRTUAL,
	          __void__setDefaultValue__C5_osg_Vec4_R1,
	          "",
	          "");
	I_Method0(const osg::Vec4 &, getDefaultValue,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Vec4_R1__getDefaultValue,
	          "",
	          "");
	I_Method2(bool, transform, IN, float, offset, IN, float, scale,
	          Properties::VIRTUAL,
	          __bool__transform__float__float,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned, int, IN, unsigned, int, IN, float &, x,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned__unsigned__float_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned, int, IN, unsigned, int, IN, osg::Vec2 &, x,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned__unsigned__osg_Vec2_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned, int, IN, unsigned, int, IN, osg::Vec3 &, x,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned__unsigned__osg_Vec3_R1,
	          "",
	          "");
	I_Method3(bool, getValue, IN, unsigned, int, IN, unsigned, int, IN, osg::Vec4 &, x,
	          Properties::VIRTUAL,
	          __bool__getValue__unsigned__unsigned__osg_Vec4_R1,
	          "",
	          "");
	I_Method3(bool, getValidValue, IN, unsigned int, i, IN, unsigned int, j, IN, float &, value,
	          Properties::NON_VIRTUAL,
	          __bool__getValidValue__unsigned_int__unsigned_int__float_R1,
	          "",
	          "");
	I_Method3(bool, getValidValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec2 &, value,
	          Properties::NON_VIRTUAL,
	          __bool__getValidValue__unsigned_int__unsigned_int__osg_Vec2_R1,
	          "",
	          "");
	I_Method3(bool, getValidValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec3 &, value,
	          Properties::NON_VIRTUAL,
	          __bool__getValidValue__unsigned_int__unsigned_int__osg_Vec3_R1,
	          "",
	          "");
	I_Method3(bool, getValidValue, IN, unsigned int, i, IN, unsigned int, j, IN, osg::Vec4 &, value,
	          Properties::NON_VIRTUAL,
	          __bool__getValidValue__unsigned_int__unsigned_int__osg_Vec4_R1,
	          "",
	          "");
	I_Method6(void, computeIndices, IN, double, ndc_x, IN, double, ndc_y, IN, unsigned int &, i, IN, unsigned int &, j, IN, double &, ir, IN, double &, jr,
	          Properties::NON_VIRTUAL,
	          __void__computeIndices__double__double__unsigned_int_R1__unsigned_int_R1__double_R1__double_R1,
	          "",
	          "");
	I_Method3(bool, getInterpolatedValue, IN, double, ndc_x, IN, double, ndc_y, IN, float &, value,
	          Properties::NON_VIRTUAL,
	          __bool__getInterpolatedValue__double__double__float_R1,
	          "",
	          "");
	I_Method0(osg::BoundingSphere, computeBound,
	          Properties::VIRTUAL,
	          __osg_BoundingSphere__computeBound,
	          "",
	          "");
	I_SimpleProperty(const osg::Vec4 &, DefaultValue, 
	                 __C5_osg_Vec4_R1__getDefaultValue, 
	                 __void__setDefaultValue__C5_osg_Vec4_R1);
	I_SimpleProperty(osgTerrain::Locator *, Locator, 
	                 __Locator_P1__getLocator, 
	                 __void__setLocator__Locator_P1);
	I_SimpleProperty(osgTerrain::ValidDataOperator *, ValidDataOperator, 
	                 __ValidDataOperator_P1__getValidDataOperator, 
	                 __void__setValidDataOperator__ValidDataOperator_P1);
END_REFLECTOR

