A light source. More...
#include <rendering/rendering.hh>
Inherits enable_shared_from_this< Light >.
Public Member Functions | |
Light (ScenePtr _scene) | |
Constructor. More... | |
virtual | ~Light () |
Destructor. More... | |
bool | CastShadows () const |
Get cast shadows. More... | |
LightPtr | Clone (const std::string &_name, ScenePtr _scene) |
Clone the light with a new name. More... | |
common::Color | DiffuseColor () const |
Get the diffuse color. More... | |
ignition::math::Vector3d | Direction () const |
Get the direction. More... | |
void | FillMsg (msgs::Light &_msg) const |
Fill the contents of a light message. More... | |
std::string | LightType () const |
Get the light type. More... | |
void | Load (sdf::ElementPtr _sdf) |
Load the light using a set of SDF parameters. More... | |
void | Load () |
Load the light using default parameters. More... | |
void | LoadFromMsg (ConstLightPtr &_msg) |
Load from a light message. More... | |
void | LoadFromMsg (const msgs::Light &_msg) |
Load from a light message. More... | |
std::string | Name () const |
Get the name of the visual. More... | |
ignition::math::Vector3d | Position () const |
Get the position of the light. More... | |
ignition::math::Quaterniond | Rotation () const |
Get the rotation of the light. More... | |
void | SetAttenuation (double _constant, double _linear, double _quadratic) |
Set the attenuation. More... | |
void | SetCastShadows (const bool _cast) |
Set cast shadows. More... | |
void | SetDiffuseColor (const common::Color &_color) |
Set the diffuse color. More... | |
void | SetDirection (const ignition::math::Vector3d &_dir) |
Set the direction. More... | |
void | SetLightType (const std::string &_type) |
Set the light type. More... | |
void | SetName (const std::string &_name) |
Set the name of the visual. More... | |
void | SetPosition (const ignition::math::Vector3d &_p) |
Set the position of the light. More... | |
void | SetRange (const double _range) |
Set the range. More... | |
void | SetRotation (const ignition::math::Quaterniond &_q) |
Set the rotation of the light. More... | |
virtual bool | SetSelected (const bool _s) |
Set whether this entity has been selected by the user through the gui. More... | |
void | SetSpecularColor (const common::Color &_color) |
Set the specular color. More... | |
void | SetSpotFalloff (const double _value) |
Set the spot light falloff. More... | |
void | SetSpotInnerAngle (const double _angle) |
Set the spot light inner angle. More... | |
void | SetSpotOuterAngle (const double _angle) |
Set the spot light outer angle. More... | |
void | ShowVisual (const bool _s) |
Set whether to show the visual. More... | |
common::Color | SpecularColor () const |
Get the specular color. More... | |
void | ToggleShowVisual () |
std::string | Type () const |
Get the type of the light. More... | |
void | UpdateFromMsg (ConstLightPtr &_msg) |
Update a light source from a message. More... | |
bool | Visible () const |
Get whether the light is visible. More... | |
Protected Member Functions | |
virtual void | OnPoseChange () |
On pose change callback. More... | |
A light source.
There are three types of lights: Point, Spot, and Directional. This class encapsulates all three. Point lights are light light bulbs, spot lights project a cone of light, and directional lights are light sun light.
Constructor.
[in] | _scene | Pointer to the scene that contains the Light. |
|
virtual |
Destructor.
bool CastShadows | ( | ) | const |
Get cast shadows.
Clone the light with a new name.
[in] | _name | Name of the cloned light. |
[in] | _scene | Scene to contain the light. |
common::Color DiffuseColor | ( | ) | const |
Get the diffuse color.
ignition::math::Vector3d Direction | ( | ) | const |
Get the direction.
void FillMsg | ( | msgs::Light & | _msg | ) | const |
Fill the contents of a light message.
[out] | _msg | Message to fill. |
std::string LightType | ( | ) | const |
Get the light type.
void Load | ( | sdf::ElementPtr | _sdf | ) |
Load the light using a set of SDF parameters.
[in] | _sdf | Pointer to the SDF containing the Light description. |
void Load | ( | ) |
Load the light using default parameters.
void LoadFromMsg | ( | ConstLightPtr & | _msg | ) |
Load from a light message.
[in] | _msg | Containing the light information. |
void LoadFromMsg | ( | const msgs::Light & | _msg | ) |
Load from a light message.
[in] | _msg | Message containing the light information. |
std::string Name | ( | ) | const |
Get the name of the visual.
|
inlineprotectedvirtual |
On pose change callback.
ignition::math::Vector3d Position | ( | ) | const |
Get the position of the light.
ignition::math::Quaterniond Rotation | ( | ) | const |
Get the rotation of the light.
void SetAttenuation | ( | double | _constant, |
double | _linear, | ||
double | _quadratic | ||
) |
Set the attenuation.
[in] | _contant | Constant attenuation |
[in] | _linear | Linear attenuation |
[in] | _quadratic | Quadratic attenuation |
void SetCastShadows | ( | const bool | _cast | ) |
Set cast shadows.
[in] | _cast | Set to true to cast shadows. |
void SetDiffuseColor | ( | const common::Color & | _color | ) |
Set the diffuse color.
[in] | _color | Light diffuse color. |
void SetDirection | ( | const ignition::math::Vector3d & | _dir | ) |
Set the direction.
[in] | _dir | Set the light's direction. Only applicable to spot and directional lights. |
void SetLightType | ( | const std::string & | _type | ) |
Set the light type.
[in] | _type | The light type: "point", "spot", "directional" |
void SetName | ( | const std::string & | _name | ) |
Set the name of the visual.
[in] | _name | Name of the light source. |
void SetPosition | ( | const ignition::math::Vector3d & | _p | ) |
Set the position of the light.
[in] | _p | New position for the light |
void SetRange | ( | const double | _range | ) |
Set the range.
[in] | _range | Rage of the light in meters. |
void SetRotation | ( | const ignition::math::Quaterniond & | _q | ) |
Set the rotation of the light.
[in] | _q | New rotation for the light |
|
virtual |
Set whether this entity has been selected by the user through the gui.
[in] | _s | Set to True when the light is selected by the user. |
void SetSpecularColor | ( | const common::Color & | _color | ) |
Set the specular color.
[in] | _color | The specular color |
void SetSpotFalloff | ( | const double | _value | ) |
Set the spot light falloff.
[in] | _value | Falloff value |
void SetSpotInnerAngle | ( | const double | _angle | ) |
Set the spot light inner angle.
[in] | _angle | Inner angle in radians |
void SetSpotOuterAngle | ( | const double | _angle | ) |
Set the spot light outer angle.
[in] | _angle | Outer angle in radians |
void ShowVisual | ( | const bool | _s | ) |
Set whether to show the visual.
[in] | _s | Set to true to draw a representation of the light. |
common::Color SpecularColor | ( | ) | const |
Get the specular color.
void ToggleShowVisual | ( | ) |
std::string Type | ( | ) | const |
Get the type of the light.
void UpdateFromMsg | ( | ConstLightPtr & | _msg | ) |
Update a light source from a message.
[in] | _msg | Light message to update from |
bool Visible | ( | ) | const |
Get whether the light is visible.