17 #ifndef IGNITION_RENDERING_BASE_BASELIGHTVISUAL_HH_ 18 #define IGNITION_RENDERING_BASE_BASELIGHTVISUAL_HH_ 31 inline namespace IGNITION_RENDERING_VERSION_NAMESPACE {
46 protected:
virtual void Init()
override;
49 protected:
virtual void PreRender()
override;
55 public:
virtual void SetInnerAngle(
double _innerAngle)
override;
58 public:
virtual double InnerAngle()
override;
61 public:
virtual void SetOuterAngle(
double _innerAngle)
override;
64 public:
virtual double OuterAngle()
override;
76 protected:
double innerAngle = 0;
79 protected:
double outerAngle = 0;
82 protected:
bool dirtyLightVisual =
false;
116 this->dirtyLightVisual =
true;
130 this->innerAngle = _innerAngle;
131 this->dirtyLightVisual =
true;
138 return this->innerAngle;
145 this->outerAngle = _outerAngle;
146 this->dirtyLightVisual =
true;
153 return this->outerAngle;
223 angles[0] = range * tan(outerAngle / 2.0);
224 angles[1] = range * tan(innerAngle / 2.0);
231 for (i = 0; i < 2; i++)
235 angles[i], angles[i], -range));
239 -angles[i], -angles[i], -range));
243 angles[i], -angles[i], -range));
247 -angles[i], angles[i], -range));
250 angles[i], angles[i], -range));
252 -angles[i], angles[i], -range));
255 -angles[i], angles[i], -range));
257 -angles[i], -angles[i], -range));
260 -angles[i], -angles[i], -range));
262 angles[i], -angles[i], -range));
265 angles[i], -angles[i], -range));
267 angles[i], angles[i], -range));
No type.
Definition: LightVisual.hh:35
Base implementation of a light visual.
Definition: BaseLightVisual.hh:35
Represents a light visual.
Definition: LightVisual.hh:49
Spot light.
Definition: LightVisual.hh:44
Directional light.
Definition: LightVisual.hh:41
virtual double InnerAngle() override
Get inner angle.
Definition: BaseLightVisual.hh:136
virtual double OuterAngle() override
Get outer angle.
Definition: BaseLightVisual.hh:151
std::vector< ignition::math::Vector3d > CreateVisualLines()
Draw the light visual using dynamic renderables.
Definition: BaseLightVisual.hh:158
BaseLightVisual()
Constructor.
Definition: BaseLightVisual.hh:87
LightVisualType
Enum for LightVisual types.
Definition: LightVisual.hh:32
virtual void Init() override
Definition: BaseLightVisual.hh:106
virtual void PreRender() override
Prepare this object and any of its children for rendering. This should be called for each object in a...
Definition: BaseLightVisual.hh:99
virtual void SetInnerAngle(double _innerAngle) override
Set inner angle for spot lights.
Definition: BaseLightVisual.hh:128
virtual ~BaseLightVisual()
Destructor.
Definition: BaseLightVisual.hh:93
virtual void SetOuterAngle(double _innerAngle) override
Set outer angle for spot lights.
Definition: BaseLightVisual.hh:143
virtual void SetType(LightVisualType _type) override
set type of the light
Definition: BaseLightVisual.hh:113
virtual LightVisualType Type() override
Get light visual type.
Definition: BaseLightVisual.hh:121
Point light.
Definition: LightVisual.hh:38
T emplace_back(T... args)