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

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

#include <osg/CopyOp>
#include <osg/Light>
#include <osg/Object>
#include <osg/Shader>
#include <osg/Vec2s>
#include <osgShadow/StandardShadowMap>

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

TYPE_NAME_ALIAS(osgShadow::StandardShadowMap, osgShadow::StandardShadowMap::ThisClass)

TYPE_NAME_ALIAS(osgShadow::DebugShadowMap, osgShadow::StandardShadowMap::BaseClass)

BEGIN_OBJECT_REFLECTOR(osgShadow::StandardShadowMap)
	I_DeclaringFile("osgShadow/StandardShadowMap");
	I_BaseType(osgShadow::DebugShadowMap);
	I_Constructor0(____StandardShadowMap,
	               "Classic OSG constructor. ",
	               "");
	I_ConstructorWithDefaults2(IN, const osgShadow::StandardShadowMap &, ssm, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____StandardShadowMap__C5_StandardShadowMap_R1__C5_osg_CopyOp_R1,
	                           "Classic OSG cloning constructor. ",
	                           "");
	I_Method0(osg::Object *, cloneType,
	          Properties::VIRTUAL,
	          __osg_Object_P1__cloneType,
	          "Declaration of standard OSG object methods. ",
	          "");
	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, setBaseTextureUnit, IN, unsigned int, unit,
	          Properties::NON_VIRTUAL,
	          __void__setBaseTextureUnit__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getBaseTextureUnit,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getBaseTextureUnit,
	          "",
	          "");
	I_Method1(void, setShadowTextureUnit, IN, unsigned int, unit,
	          Properties::NON_VIRTUAL,
	          __void__setShadowTextureUnit__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getShadowTextureUnit,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getShadowTextureUnit,
	          "",
	          "");
	I_Method1(void, setBaseTextureCoordIndex, IN, unsigned int, index,
	          Properties::NON_VIRTUAL,
	          __void__setBaseTextureCoordIndex__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getBaseTextureCoordIndex,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getBaseTextureCoordIndex,
	          "",
	          "");
	I_Method1(void, setShadowTextureCoordIndex, IN, unsigned int, index,
	          Properties::NON_VIRTUAL,
	          __void__setShadowTextureCoordIndex__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getShadowTextureCoordIndex,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getShadowTextureCoordIndex,
	          "",
	          "");
	I_Method1(void, setTextureSize, IN, const osg::Vec2s &, textureSize,
	          Properties::NON_VIRTUAL,
	          __void__setTextureSize__C5_osg_Vec2s_R1,
	          "",
	          "");
	I_Method0(osg::Vec2s, getTextureSize,
	          Properties::NON_VIRTUAL,
	          __osg_Vec2s__getTextureSize,
	          "",
	          "");
	I_Method1(void, setLight, IN, osg::Light *, light,
	          Properties::NON_VIRTUAL,
	          __void__setLight__osg_Light_P1,
	          "",
	          "");
	I_Method0(osg::Light *, getLight,
	          Properties::NON_VIRTUAL,
	          __osg_Light_P1__getLight,
	          "",
	          "");
	I_Method0(osg::Shader *, getShadowVertexShader,
	          Properties::NON_VIRTUAL,
	          __osg_Shader_P1__getShadowVertexShader,
	          "",
	          "");
	I_Method0(osg::Shader *, getShadowFragmentShader,
	          Properties::NON_VIRTUAL,
	          __osg_Shader_P1__getShadowFragmentShader,
	          "",
	          "");
	I_Method0(osg::Shader *, getMainVertexShader,
	          Properties::NON_VIRTUAL,
	          __osg_Shader_P1__getMainVertexShader,
	          "",
	          "");
	I_Method0(osg::Shader *, getMainFragmentShader,
	          Properties::NON_VIRTUAL,
	          __osg_Shader_P1__getMainFragmentShader,
	          "",
	          "");
	I_Method1(void, setShadowVertexShader, IN, osg::Shader *, shader,
	          Properties::NON_VIRTUAL,
	          __void__setShadowVertexShader__osg_Shader_P1,
	          "",
	          "");
	I_Method1(void, setShadowFragmentShader, IN, osg::Shader *, shader,
	          Properties::NON_VIRTUAL,
	          __void__setShadowFragmentShader__osg_Shader_P1,
	          "",
	          "");
	I_Method1(void, setMainVertexShader, IN, osg::Shader *, shader,
	          Properties::NON_VIRTUAL,
	          __void__setMainVertexShader__osg_Shader_P1,
	          "",
	          "");
	I_Method1(void, setMainFragmentShader, IN, osg::Shader *, shader,
	          Properties::NON_VIRTUAL,
	          __void__setMainFragmentShader__osg_Shader_P1,
	          "",
	          "");
	I_ProtectedMethod2(void, updateTextureCoordIndices, IN, unsigned int, baseTexCoordIndex, IN, unsigned int, shadowTexCoordIndex,
	                   Properties::VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__updateTextureCoordIndices__unsigned_int__unsigned_int,
	                   "",
	                   "");
	I_ProtectedMethod3(void, searchAndReplaceShaderSource, IN, osg::Shader *, x, IN, std::string, fromString, IN, std::string, toString,
	                   Properties::VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__searchAndReplaceShaderSource__osg_Shader_P1__std_string__std_string,
	                   "",
	                   "");
	I_SimpleProperty(unsigned int, BaseTextureCoordIndex, 
	                 __unsigned_int__getBaseTextureCoordIndex, 
	                 __void__setBaseTextureCoordIndex__unsigned_int);
	I_SimpleProperty(unsigned int, BaseTextureUnit, 
	                 __unsigned_int__getBaseTextureUnit, 
	                 __void__setBaseTextureUnit__unsigned_int);
	I_SimpleProperty(osg::Light *, Light, 
	                 __osg_Light_P1__getLight, 
	                 __void__setLight__osg_Light_P1);
	I_SimpleProperty(osg::Shader *, MainFragmentShader, 
	                 __osg_Shader_P1__getMainFragmentShader, 
	                 __void__setMainFragmentShader__osg_Shader_P1);
	I_SimpleProperty(osg::Shader *, MainVertexShader, 
	                 __osg_Shader_P1__getMainVertexShader, 
	                 __void__setMainVertexShader__osg_Shader_P1);
	I_SimpleProperty(osg::Shader *, ShadowFragmentShader, 
	                 __osg_Shader_P1__getShadowFragmentShader, 
	                 __void__setShadowFragmentShader__osg_Shader_P1);
	I_SimpleProperty(unsigned int, ShadowTextureCoordIndex, 
	                 __unsigned_int__getShadowTextureCoordIndex, 
	                 __void__setShadowTextureCoordIndex__unsigned_int);
	I_SimpleProperty(unsigned int, ShadowTextureUnit, 
	                 __unsigned_int__getShadowTextureUnit, 
	                 __void__setShadowTextureUnit__unsigned_int);
	I_SimpleProperty(osg::Shader *, ShadowVertexShader, 
	                 __osg_Shader_P1__getShadowVertexShader, 
	                 __void__setShadowVertexShader__osg_Shader_P1);
	I_SimpleProperty(osg::Vec2s, TextureSize, 
	                 __osg_Vec2s__getTextureSize, 
	                 __void__setTextureSize__C5_osg_Vec2s_R1);
END_REFLECTOR

