Light Class Reference

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...
 

Detailed Description

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 & Destructor Documentation

Light ( ScenePtr  _scene)
explicit

Constructor.

Parameters
[in]_scenePointer to the scene that contains the Light.
virtual ~Light ( )
virtual

Destructor.

Member Function Documentation

bool CastShadows ( ) const

Get cast shadows.

Returns
True if cast shadows.
LightPtr Clone ( const std::string &  _name,
ScenePtr  _scene 
)

Clone the light with a new name.

Parameters
[in]_nameName of the cloned light.
[in]_sceneScene to contain the light.
Returns
a clone of the light
common::Color DiffuseColor ( ) const

Get the diffuse color.

Returns
The light's diffuse color.
ignition::math::Vector3d Direction ( ) const

Get the direction.

Returns
The light's direction.
void FillMsg ( msgs::Light &  _msg) const

Fill the contents of a light message.

Parameters
[out]_msgMessage to fill.
std::string LightType ( ) const

Get the light type.

Returns
The light type: "point", "spot", "directional".
void Load ( sdf::ElementPtr  _sdf)

Load the light using a set of SDF parameters.

Parameters
[in]_sdfPointer to the SDF containing the Light description.
void Load ( )

Load the light using default parameters.

void LoadFromMsg ( ConstLightPtr &  _msg)

Load from a light message.

Parameters
[in]_msgContaining the light information.
void LoadFromMsg ( const msgs::Light &  _msg)

Load from a light message.

Parameters
[in]_msgMessage containing the light information.
std::string Name ( ) const

Get the name of the visual.

Returns
The light's name.
virtual void OnPoseChange ( )
inlineprotectedvirtual

On pose change callback.

ignition::math::Vector3d Position ( ) const

Get the position of the light.

Returns
The position of the light
ignition::math::Quaterniond Rotation ( ) const

Get the rotation of the light.

Returns
The rotation of the light
void SetAttenuation ( double  _constant,
double  _linear,
double  _quadratic 
)

Set the attenuation.

Parameters
[in]_contantConstant attenuation
[in]_linearLinear attenuation
[in]_quadraticQuadratic attenuation
void SetCastShadows ( const bool  _cast)

Set cast shadows.

Parameters
[in]_castSet to true to cast shadows.
void SetDiffuseColor ( const common::Color _color)

Set the diffuse color.

Parameters
[in]_colorLight diffuse color.
void SetDirection ( const ignition::math::Vector3d &  _dir)

Set the direction.

Parameters
[in]_dirSet the light's direction. Only applicable to spot and directional lights.
void SetLightType ( const std::string &  _type)

Set the light type.

Parameters
[in]_typeThe light type: "point", "spot", "directional"
void SetName ( const std::string &  _name)

Set the name of the visual.

Parameters
[in]_nameName of the light source.
void SetPosition ( const ignition::math::Vector3d &  _p)

Set the position of the light.

Parameters
[in]_pNew position for the light
void SetRange ( const double  _range)

Set the range.

Parameters
[in]_rangeRage of the light in meters.
void SetRotation ( const ignition::math::Quaterniond &  _q)

Set the rotation of the light.

Parameters
[in]_qNew rotation for the light
virtual bool SetSelected ( const bool  _s)
virtual

Set whether this entity has been selected by the user through the gui.

Parameters
[in]_sSet to True when the light is selected by the user.
void SetSpecularColor ( const common::Color _color)

Set the specular color.

Parameters
[in]_colorThe specular color
void SetSpotFalloff ( const double  _value)

Set the spot light falloff.

Parameters
[in]_valueFalloff value
void SetSpotInnerAngle ( const double  _angle)

Set the spot light inner angle.

Parameters
[in]_angleInner angle in radians
void SetSpotOuterAngle ( const double  _angle)

Set the spot light outer angle.

Parameters
[in]_angleOuter angle in radians
void ShowVisual ( const bool  _s)

Set whether to show the visual.

Parameters
[in]_sSet to true to draw a representation of the light.
common::Color SpecularColor ( ) const

Get the specular color.

Returns
The specular color
void ToggleShowVisual ( )
std::string Type ( ) const

Get the type of the light.

Returns
The light type: "point", "spot", "directional".
void UpdateFromMsg ( ConstLightPtr &  _msg)

Update a light source from a message.

Parameters
[in]_msgLight message to update from
bool Visible ( ) const

Get whether the light is visible.

Returns
True if the light is visible.

The documentation for this class was generated from the following file: