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 ~Light()
Deconstructor.
Definition: Light.hh:36
virtual ~PointLight()
Deconstructor.
Definition: Light.hh:140
Represents a single posable node in the scene graph.
Definition: Node.hh:37
virtual ~SpotLight()
Deconstructor.
Definition: Light.hh:149
Represents a point light.
Definition: Light.hh:136
Represents a light source in the scene graph.
Definition: Light.hh:32
Represents a spotlight.
Definition: Light.hh:145
Represents a infinite directional light.
Definition: Light.hh:113
virtual ~DirectionalLight()
Destructor.
Definition: Light.hh:117