18#ifndef GAZEBO_PLUGINS_LEDPLUGIN_HH_
19#define GAZEBO_PLUGINS_LEDPLUGIN_HH_
24#include "gazebo/physics/physics.hh"
31 class LedSettingPrivate;
38 const sdf::ElementPtr &_sdf,
51 protected:
virtual void Flash();
54 protected:
virtual void Dim();
57 private: std::unique_ptr<LedSettingPrivate> dataPtr;
61 class LedPluginPrivate;
111 const sdf::ElementPtr &_sdf,
117 std::shared_ptr<FlashLightSetting> &_setting);
120 private: std::unique_ptr<LedPluginPrivate> dataPtr;
A plugin that blinks a light component in the model.
Definition FlashLightPlugin.hh:230
Internal data class to hold individual flash light settings.
Definition FlashLightPlugin.hh:39
A plugin that blinks light and visual elements in a model.
Definition LedPlugin.hh:102
virtual std::shared_ptr< FlashLightSetting > CreateSetting(const sdf::ElementPtr &_sdf, const physics::ModelPtr &_model, const common::Time &_currentTime)
Create an object of setting.
virtual ~LedPlugin()
Destructor.
virtual void InitSettingBySpecificData(std::shared_ptr< FlashLightSetting > &_setting)
Initialize the additional part of an object of setting.
Internal data class to hold individual LED light settings.
Definition LedPlugin.hh:35
virtual ~LedSetting()
Destructor.
LedSetting(const sdf::ElementPtr &_sdf, const physics::ModelPtr &_model, const common::Time &_currentTime)
Constructor.
virtual void Dim()
Dim the light This function is internally used to update the light in the environment.
virtual void Flash()
Flash the light This function is internally used to update the light in the environment.
virtual void InitPubVisual(const transport::PublisherPtr &_pubVisual) final
Set the publisher and send an initial visual command.
A Time class, can be used to hold wall- or sim-time.
Definition Time.hh:48
boost::shared_ptr< Model > ModelPtr
Definition PhysicsTypes.hh:93
boost::shared_ptr< Publisher > PublisherPtr
Definition TransportTypes.hh:49
Forward declarations for the common classes.
Definition Animation.hh:27