22 #ifndef __PLUGINS_ROS_TF_THREAD_H_
23 #define __PLUGINS_ROS_TF_THREAD_H_
25 #include <core/threading/thread.h>
26 #include <aspect/blocked_timing.h>
27 #include <aspect/clock.h>
28 #include <aspect/configurable.h>
29 #include <aspect/logging.h>
30 #include <aspect/blackboard.h>
31 #include <aspect/tf.h>
32 #include <plugins/ros/aspect/ros.h>
33 #include <blackboard/interface_listener.h>
34 #include <blackboard/interface_observer.h>
35 #include <interfaces/TransformInterface.h>
36 #include <core/threading/mutex.h>
42 #include <ros/node_handle.h>
43 #include <tf/tfMessage.h>
71 unsigned int instance_serial)
throw();
73 unsigned int instance_serial)
throw();
76 void tf_message_cb(const ::tf::tfMessage::ConstPtr &msg);
80 protected:
virtual void run() { Thread::run(); }
83 std::list<fawkes::TransformInterface *> __tfifs;
85 ros::Subscriber __sub_tf;
86 ros::Publisher __pub_tf;
89 unsigned int __active_queue;
90 std::queue<tf::tfMessage::ConstPtr> __tf_msg_queues[2];
93 unsigned int __seq_num;