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;
112 public:
virtual double Intensity()
const = 0;
116 public:
virtual void SetIntensity(
double _intensity) = 0;
135 public:
virtual void SetDirection(
double _x,
double _y,
double _z) = 0;
139 public:
virtual void SetDirection(
const math::Vector3d &_dir) = 0;
167 public:
virtual void SetDirection(
double _x,
double _y,
double _z) = 0;
171 public:
virtual void SetDirection(
const math::Vector3d &_dir) = 0;
175 public:
virtual math::Angle InnerAngle()
const = 0;
179 public:
virtual void SetInnerAngle(
double _radians) = 0;
183 public:
virtual void SetInnerAngle(
const math::Angle &_angle) = 0;
187 public:
virtual math::Angle OuterAngle()
const = 0;
191 public:
virtual void SetOuterAngle(
double _radians) = 0;
195 public:
virtual void SetOuterAngle(
const math::Angle &_angle) = 0;
199 public:
virtual double Falloff()
const = 0;
203 public:
virtual void SetFalloff(
double _falloff) = 0;
virtual ~Light()
Destructor.
Definition: Light.hh:36
virtual ~PointLight()
Destructor.
Definition: Light.hh:148
Represents a single posable node in the scene graph.
Definition: Node.hh:37
virtual ~SpotLight()
Destructor.
Definition: Light.hh:157
Represents a point light.
Definition: Light.hh:144
Represents a light source in the scene graph.
Definition: Light.hh:32
Represents a spotlight.
Definition: Light.hh:153
Represents a infinite directional light.
Definition: Light.hh:121
virtual ~DirectionalLight()
Destructor.
Definition: Light.hh:125