17 #ifndef GZ_RENDERING_OGRE_OGRELIGHT_HH_
18 #define GZ_RENDERING_OGRE_OGRELIGHT_HH_
33 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
42 public:
virtual math::Color DiffuseColor()
const override;
44 public:
virtual void SetDiffuseColor(
const math::Color &_color)
override;
46 public:
virtual math::Color SpecularColor()
const override;
48 public:
virtual void SetSpecularColor(
51 public:
virtual double AttenuationConstant()
const override;
53 public:
virtual void SetAttenuationConstant(
double _value)
override;
55 public:
virtual double AttenuationLinear()
const override;
57 public:
virtual void SetAttenuationLinear(
double _value)
override;
59 public:
virtual double AttenuationQuadratic()
const override;
61 public:
virtual void SetAttenuationQuadratic(
double _value)
override;
63 public:
virtual double AttenuationRange()
const override;
65 public:
virtual void SetAttenuationRange(
double _range)
override;
67 public:
virtual bool CastShadows()
const override;
69 public:
virtual void SetCastShadows(
bool _castShadows)
override;
72 public:
virtual double Intensity()
const override;
75 public:
virtual void SetIntensity(
double _intensity)
override;
77 public:
virtual Ogre::Light *
Light()
const;
79 public:
virtual void Destroy()
override;
81 protected:
virtual void Init()
override;
83 private:
void CreateLight();
85 private:
void UpdateAttenuation();
137 public:
virtual void SetInnerAngle(
const math::Angle &_angle);
141 public:
virtual void SetOuterAngle(
const math::Angle &_angle);
143 public:
virtual double Falloff()
const;
145 public:
virtual void SetFalloff(
double _falloff);