Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef GAZEBO_POPULATION_PLUGIN_HH_
00019 #define GAZEBO_POPULATION_PLUGIN_HH_
00020
00021 #include <memory>
00022 #include <gazebo/common/Plugin.hh>
00023 #include <gazebo/msgs/gz_string.pb.h>
00024 #include <gazebo/physics/PhysicsTypes.hh>
00025 #include <sdf/sdf.hh>
00026
00027 namespace gazebo
00028 {
00029
00030 class PopulationPluginPrivate;
00031
00035
00037
00080
00081 class GAZEBO_VISIBLE PopulationPlugin : public WorldPlugin
00082 {
00084 public: PopulationPlugin();
00085
00087 public: virtual ~PopulationPlugin();
00088
00089
00090 public: virtual void Load(physics::WorldPtr _world, sdf::ElementPtr _sdf);
00091
00093 public: void Pause();
00094
00096 public: void Resume();
00097
00099 public: virtual void Restart();
00100
00102 protected: void OnUpdate();
00103
00109 protected: void OnActivation(ConstGzStringPtr &_msg);
00110
00112 protected: bool Enabled() const;
00113
00116 private: virtual void Publish() const;
00117
00119 private: std::unique_ptr<PopulationPluginPrivate> dataPtr;
00120 };
00121 }
00122 #endif