40 #ifndef _graphicslightproxy_h
41 #define _graphicslightproxy_h
47 #include "Graphics/graphicsenumerations.h"
48 #include "colourvalue.h"
72 virtual void CreateLight();
75 virtual void DestroyLight();
101 virtual void SetDirection(
const Vector3& Dir);
105 virtual Vector3 GetDirection()
const;
112 virtual void SetDiffuseColour(
const ColourValue& Diffuse);
118 virtual void SetSpecularColour(
const ColourValue& Specular);
134 virtual void SetAttenuation(
const Real Range,
const Real Constant,
const Real Linear,
const Real Quadratic);
137 virtual Real GetAttenuationRange()
const;
140 virtual Real GetAttenuationConstant()
const;
143 virtual Real GetAttenuationLinear()
const;
146 virtual Real GetAttenuationQuadratic()
const;
150 virtual void SetPowerScale(
const Real Scale);
154 virtual Real GetPowerScale()
const;
162 virtual void SetSpotlightRange(
const Real InnerAngle,
const Real OuterAngle,
const Real Falloff = 1.0);
166 virtual void SetSpotlightInnerAngle(
const Real Angle);
170 virtual Real GetSpotlightInnerAngle()
const;
174 virtual void SetSpotlightOuterAngle(
const Real Angle);
178 virtual Real GetSpotlightOuterAngle()
const;
182 virtual void SetSpotlightFalloff(
const Real Falloff);
186 virtual Real GetSpotlightFalloff()
const;
189 virtual void SetSpotlightNearClipDistance(
const Real NearClip);
192 virtual Real GetSpotlightNearClipDistance()
const;
198 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
200 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
203 virtual String GetDerivedSerializableName()
const;
205 static String GetSerializableName();
213 virtual Ogre::Light* _GetGraphicsObject()
const;
215 virtual Ogre::MovableObject* _GetBaseGraphicsObject()
const;