Go to the documentation of this file.
17 #ifndef IGNITION_RENDERING_LIGHT_HH_
18 #define IGNITION_RENDERING_LIGHT_HH_
21 #include "ignition/rendering/config.hh"
28 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
32 class IGNITION_RENDERING_VISIBLE
Light :
40 public:
virtual math::Color DiffuseColor()
const = 0;
47 public:
virtual void SetDiffuseColor(
double _r,
double _g,
double _b,
52 public:
virtual void SetDiffuseColor(
const math::Color &_color) = 0;
56 public:
virtual math::Color SpecularColor()
const = 0;
63 public:
virtual void SetSpecularColor(
double _r,
double _g,
double _b,
68 public:
virtual void SetSpecularColor(
const math::Color &_color) = 0;
72 public:
virtual double AttenuationConstant()
const = 0;
76 public:
virtual void SetAttenuationConstant(
double _value) = 0;
80 public:
virtual double AttenuationLinear()
const = 0;
84 public:
virtual void SetAttenuationLinear(
double _value) = 0;
88 public:
virtual double AttenuationQuadratic()
const = 0;
92 public:
virtual void SetAttenuationQuadratic(
double _value) = 0;
96 public:
virtual double AttenuationRange()
const = 0;
100 public:
virtual void SetAttenuationRange(
double _range) = 0;
104 public:
virtual bool CastShadows()
const = 0;
108 public:
virtual void SetCastShadows(
bool _castShadows) = 0;
127 public:
virtual void SetDirection(
double _x,
double _y,
double _z) = 0;
131 public:
virtual void SetDirection(
const math::Vector3d &_dir) = 0;
159 public:
virtual void SetDirection(
double _x,
double _y,
double _z) = 0;
163 public:
virtual void SetDirection(
const math::Vector3d &_dir) = 0;
167 public:
virtual math::Angle InnerAngle()
const = 0;
171 public:
virtual void SetInnerAngle(
double _radians) = 0;
175 public:
virtual void SetInnerAngle(
const math::Angle &_angle) = 0;
179 public:
virtual math::Angle OuterAngle()
const = 0;
183 public:
virtual void SetOuterAngle(
double _radians) = 0;
187 public:
virtual void SetOuterAngle(
const math::Angle &_angle) = 0;
191 public:
virtual double Falloff()
const = 0;
195 public:
virtual void SetFalloff(
double _falloff) = 0;
virtual void SetAttenuationConstant(double _value)=0
Set the attenuation constant value.
virtual math::Color DiffuseColor() const =0
Get the diffuse color.
Represents a single posable node in the scene graph.
Definition: Node.hh:37
virtual bool CastShadows() const =0
Determine if this light cast shadows.
virtual double AttenuationConstant() const =0
Get the attenuation constant value.
virtual void SetAttenuationLinear(double _value)=0
Set the attenuation linear value.
virtual math::Angle OuterAngle() const =0
Get the outer angle of the spotlight.
virtual void SetAttenuationRange(double _range)=0
Set the attenuation range.
virtual void SetOuterAngle(double _radians)=0
Set the outer angle of the spotlight.
Represents a spotlight.
Definition: Light.hh:145
virtual double AttenuationLinear() const =0
Get the attenuation linear value.
virtual void SetSpecularColor(double _r, double _g, double _b, double _a=1.0)=0
Set the specular color.
virtual void SetInnerAngle(double _radians)=0
Set the inner angle of the spotlight.
virtual double AttenuationQuadratic() const =0
Get the attenuation quadratic value.
virtual math::Vector3d Direction() const =0
Get direction of the light.
virtual ~PointLight()
Deconstructor.
Definition: Light.hh:140
virtual void SetDirection(double _x, double _y, double _z)=0
Set the direction of the light.
virtual void SetCastShadows(bool _castShadows)=0
Specify if this light should cast shadows.
virtual void SetDirection(double _x, double _y, double _z)=0
Set the direction of the light.
virtual math::Color SpecularColor() const =0
Get the specular color.
Represents a infinite directional light.
Definition: Light.hh:113
virtual void SetDiffuseColor(double _r, double _g, double _b, double _a=1.0)=0
Set the diffuse color.
virtual void SetAttenuationQuadratic(double _value)=0
Set the attenuation quadratic value.
virtual double AttenuationRange() const =0
Get the attenuation range.
Represents a point light.
Definition: Light.hh:136
Represents a light source in the scene graph.
Definition: Light.hh:32
virtual void SetFalloff(double _falloff)=0
Set the falloff of the spotlight.
virtual ~Light()
Deconstructor.
Definition: Light.hh:36
virtual math::Angle InnerAngle() const =0
Get the inner angle of the spotlight.
virtual ~SpotLight()
Deconstructor.
Definition: Light.hh:149
virtual double Falloff() const =0
Get the falloff of the spotlight.
virtual ~DirectionalLight()
Destructor.
Definition: Light.hh:117
virtual math::Vector3d Direction() const =0
Get the direction of the light.