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();
103 virtual void SetDirection(
const Vector3& Dir);
107 virtual Vector3 GetDirection()
const;
114 virtual void SetDiffuseColour(
const ColourValue& Diffuse);
120 virtual void SetSpecularColour(
const ColourValue& Specular);
136 virtual void SetAttenuation(
const Real Range,
const Real Constant,
const Real Linear,
const Real Quadratic);
139 virtual Real GetAttenuationRange()
const;
142 virtual Real GetAttenuationConstant()
const;
145 virtual Real GetAttenuationLinear()
const;
148 virtual Real GetAttenuationQuadratic()
const;
152 virtual void SetPowerScale(
const Real Scale);
156 virtual Real GetPowerScale()
const;
164 virtual void SetSpotlightRange(
const Real InnerAngle,
const Real OuterAngle,
const Real Falloff = 1.0);
168 virtual void SetSpotlightInnerAngle(
const Real Angle);
172 virtual Real GetSpotlightInnerAngle()
const;
176 virtual void SetSpotlightOuterAngle(
const Real Angle);
180 virtual Real GetSpotlightOuterAngle()
const;
184 virtual void SetSpotlightFalloff(
const Real Falloff);
188 virtual Real GetSpotlightFalloff()
const;
191 virtual void SetSpotlightNearClipDistance(
const Real NearClip);
194 virtual Real GetSpotlightNearClipDistance()
const;
200 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
202 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
205 virtual String GetDerivedSerializableName()
const;
207 static String GetSerializableName();
215 virtual Ogre::Light* _GetGraphicsObject()
const;
217 virtual Ogre::MovableObject* _GetBaseGraphicsObject()
const;
LightType
This is used by LightProxies to describe how light is emitted from the proxy source.
This class contains utilities and functions to allow the manipulation of the Graphical scene...
This file contains the declaration for the base class from which graphics proxies inherit...
This is the base proxy class for world proxies wrapping functionality of the graphics subsystem...
This is a simple class for holding 4 reals representing the colour any give object or lightsource can...
float Real
A Datatype used to represent a real floating point number.
A light-weight handle for manipulating nodes in DOM tree.
ProxyType
Used by all World proxies to describe what their derived types are.
uint32_t UInt32
An 32-bit unsigned integer.
Ogre::Light * GraphicsLight
A pointer to the internal Light this proxy is based on.
This is used to represent a point in space, or a vector through space.
The bulk of the engine components go in this namspace.
This is the proxy class for placing and manipulating lighting in the scene.
std::string String
A datatype used to a series of characters.