22#include <ignition/math/Pose3.hh>
23#include <ignition/math/Angle.hh>
24#include <ignition/utils/ImplPtr.hh>
29#include "sdf/sdf_config.h"
35 inline namespace SDF_VERSION_NAMESPACE {
39 struct PoseRelativeToGraph;
40 template <
typename T>
class ScopedGraph;
86 public: std::string
Name()
const;
90 public:
void SetName(
const std::string &_name);
97 public:
const ignition::math::Pose3d &
RawPose()
const;
102 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
141 public: ignition::math::Color
Diffuse()
const;
147 public:
void SetDiffuse(
const ignition::math::Color &_color);
256 private:
void CopyFrom(
const Light &_light);
262 private:
void SetXmlParentName(
const std::string &_xmlParentName);
268 private:
void SetPoseRelativeToGraph(
284 IGN_UTILS_IMPL_PTR(dataPtr)
Provides a description of a light source.
Definition: Light.hh:64
void SetName(const std::string &_name)
Set the name of the light.
void SetSpotOuterAngle(const ignition::math::Angle &_angle)
Set the angle covered by the outer cone.
void SetPoseRelativeTo(const std::string &_frame)
Set the name of the coordinate frame relative to which this object's pose is expressed.
void SetSpecular(const ignition::math::Color &_color)
Set the specular color.
double LinearAttenuationFactor() const
Get the linear attenuation factor.
ignition::math::Angle SpotInnerAngle() const
Get the angle covered by the bright inner cone.
sdf::ElementPtr ToElement() const
Create and return an SDF element filled with data from this light object.
LightType Type() const
Get the light type.
ignition::math::Color Diffuse() const
Get the diffuse color.
void SetSpotFalloff(const double _falloff)
Set the rate of falloff between the inner and outer cones.
void SetDirection(const ignition::math::Vector3d &_dir)
Set the direction of the light source.
sdf::SemanticPose SemanticPose() const
Get SemanticPose object of this object to aid in resolving poses.
void SetIntensity(const double _intensity)
Set the light intensity.
void SetLinearAttenuationFactor(const double _factor)
Set the linear attenuation factor.
ignition::math::Angle SpotOuterAngle() const
Get the angle covered by the outer cone.
double SpotFalloff() const
Get the rate of falloff between the inner and outer cones.
void SetAttenuationRange(const double _range)
Set the range of the light source in meters.
void SetCastShadows(const bool _cast)
Set whether the light casts shadows.
ignition::math::Vector3d Direction() const
Get the direction of the light source.
void SetConstantAttenuationFactor(const double _factor)
Set the constant attenuation factor.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetType(const LightType _type)
Set the light type.
const ignition::math::Pose3d & RawPose() const
Get the pose of the light.
void SetDiffuse(const ignition::math::Color &_color)
Set the diffuse color.
void SetRawPose(const ignition::math::Pose3d &_pose)
Set the pose of the light.
std::string Name() const
Get the name of the light.
Light()
Default constructor.
Errors Load(ElementPtr _sdf)
Load the light based on a element pointer.
double Intensity() const
Get the light intensity.
bool CastShadows() const
Get whether the light casts shadows.
void SetSpotInnerAngle(const ignition::math::Angle &_angle)
Set the angle covered by the bright inner cone.
double ConstantAttenuationFactor() const
Get the constant attenuation factor.
double QuadraticAttenuationFactor() const
Get the quadratic attenuation factor which adds a curvature to the attenuation.
const std::string & PoseRelativeTo() const
Get the name of the coordinate frame relative to which this object's pose is expressed.
double AttenuationRange() const
Get the range of the light source in meters.
void SetQuadraticAttenuationFactor(const double _factor)
Set the quadratic attenuation factor which adds a curvature to the attenuation.
ignition::math::Color Specular() const
Get the specular color.
Definition: Collision.hh:39
SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a Pose...
Definition: SemanticPose.hh:55
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:106
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:54
LightType
The set of light types.
Definition: Light.hh:46
namespace for Simulation Description Format parser
Definition: Actor.hh:34
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:41