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 ~LedPlugin()
Destructor.
virtual std::shared_ptr< FlashLightSetting > CreateSetting(const sdf::ElementPtr &_sdf, const physics::ModelPtr &_model, const common::Time &_currentTime)
Create an object of setting.
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:94
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
Forward declarations for the common classes.
Definition: Animation.hh:27