1 #ifndef TF2_SERVER_TF2_SERVER_H
2 #define TF2_SERVER_TF2_SERVER_H
7 #include <unordered_set>
11 #include <tf2_server/RequestTransformStream.h>
19 bool operator()(
const tf2_server::RequestTransformStreamRequest& r1,
20 const tf2_server::RequestTransformStreamRequest& r2)
const;
21 bool equals(
const tf2_server::RequestTransformStreamRequest& r1,
22 const tf2_server::RequestTransformStreamRequest& r2)
const;
27 bool operator()(
const tf2_server::RequestTransformStreamRequest& r1,
28 const tf2_server::RequestTransformStreamRequest& r2)
const;
29 bool equals(
const tf2_server::RequestTransformStreamRequest& r1,
30 const tf2_server::RequestTransformStreamRequest& r2)
const;
39 protected: std::unique_ptr<tf2_ros::Buffer>
buffer;
40 protected: std::unique_ptr<tf2_ros::BufferServer>
server;
41 protected: std::unique_ptr<tf2_ros::TransformListener>
listener;
49 protected: std::map<std::string, ros::Publisher>
publishers;
53 protected:
typedef std::pair<std::string, std::string>
FrameSpec;
57 protected:
typedef std::pair<std::string, std::string>
TopicsSpec;
58 protected: std::map<TopicsSpec, ros::Timer>
timers;
60 protected: std::map<TopicsSpec, RequestTransformStreamRequest>
streams;
73 public:
virtual void start();
77 protected:
virtual bool onRequestTransformStream(RequestTransformStreamRequest& req, RequestTransformStreamResponse& resp);
81 protected:
virtual std::unique_ptr<FramesList>
getFramesList(
const RequestTransformStreamRequest& req)
const;
94 #endif //TF2_SERVER_TF2_SERVER_H