25 #include <boost/enable_shared_from_this.hpp>
48 class Sensor :
public boost::enable_shared_from_this<Sensor>
59 public:
virtual void Load(
const std::string &_worldName,
64 public:
virtual void Load(
const std::string &_worldName);
67 public:
virtual void Init();
71 public:
virtual void SetParent(
const std::string &_name);
80 public:
void Update(
bool _force);
98 public:
virtual void Fini();
102 public: std::string
GetName()
const;
114 public:
virtual void SetActive(
bool _value);
122 public: std::string
GetType()
const;
139 public:
virtual std::string
GetTopic()
const;
143 public:
void FillMsg(msgs::Sensor &_msg);
154 public:
template<
typename T>
156 {
return this->updated.
Connect(_subscriber);}
170 private:
void OnControl(ConstWorldControlPtr &_data);
203 protected: std::vector<SensorPluginPtr>
plugins;