1 #ifndef _RAPID_ROS_TF_LISTENER_H_
2 #define _RAPID_ROS_TF_LISTENER_H_
8 #include "tf/transform_datatypes.h"
9 #include "tf/transform_listener.h"
10 #include "ros/duration.h"
22 const std::string& source_frame,
23 const ros::Time& time,
24 const ros::Duration& timeout)
const = 0;
26 const std::string& source_frame,
27 const ros::Time& time,
28 tf::StampedTransform& transform)
const = 0;
36 const std::string& source_frame,
const ros::Time& time,
37 const ros::Duration& timeout)
const;
39 const std::string& source_frame,
const ros::Time& time,
40 tf::StampedTransform& transform)
const;
43 tf::TransformListener tf_;
57 typedef std::pair<std::string, std::string>
FramePair;
63 const std::string& source_frame,
const ros::Time& time,
64 const ros::Duration& timeout)
const;
68 const std::string& source_frame,
const ros::Time& time,
69 tf::StampedTransform& transform)
const;
74 void SetTransform(
const std::string& target,
const std::string& source,
75 const tf::StampedTransform& transform);
80 const ros::Duration& duration);
88 std::map<FramePair, tf::StampedTransform> transforms_;
89 std::map<FramePair, ros::Duration> durations_;
90 std::map<FramePair, bool> should_throw_exception_;
94 #endif // _RAPID_ROS_TF_LISTENER_H_
void SetTransform(const std::string &target, const std::string &source, const tf::StampedTransform &transform)
std::pair< std::string, std::string > FramePair
void SetThrowException(const std::string &target, const std::string &source, bool should_throw)
bool waitForTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, const ros::Duration &timeout) const
virtual ~TfListenerInterface()
void lookupTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, tf::StampedTransform &transform) const
virtual bool waitForTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, const ros::Duration &timeout) const =0
virtual void lookupTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, tf::StampedTransform &transform) const =0
void lookupTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, tf::StampedTransform &transform) const
void SetLookupDuration(const std::string &target, const std::string &source, const ros::Duration &duration)
bool waitForTransform(const std::string &target_frame, const std::string &source_frame, const ros::Time &time, const ros::Duration &timeout) const