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;
FlashLightPlugin()
Constructor.
FlashLightSetting(const sdf::ElementPtr &_sdf, const physics::ModelPtr &_model, const common::Time &_currentTime)
Constructor.
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.
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