52 #ifndef __LIBS_TF_TRANSFORMER_H_ 53 #define __LIBS_TF_TRANSFORMER_H_ 55 #include <tf/buffer_core.h> 65 class TimeCacheInterface;
66 typedef std::shared_ptr<TimeCacheInterface> TimeCacheInterfacePtr;
71 Transformer(
float cache_time_sec = BufferCore::DEFAULT_CACHE_TIME);
74 void set_enabled(
bool enabled);
75 bool is_enabled()
const;
77 float get_cache_time()
const;
82 bool frame_exists(
const std::string& frame_id_str)
const;
83 TimeCacheInterfacePtr get_frame_cache(
const std::string& frame_id)
const;
84 std::vector<TimeCacheInterfacePtr> get_frame_caches()
const;
85 std::vector<std::string> get_frame_id_mappings()
const;
87 void lookup_transform(
const std::string& target_frame,
88 const std::string& source_frame,
92 void lookup_transform(
const std::string& target_frame,
94 const std::string& source_frame,
96 const std::string& fixed_frame,
99 void lookup_transform(
const std::string& target_frame,
100 const std::string& source_frame,
103 bool can_transform(
const std::string& target_frame,
const std::string& source_frame,
104 const fawkes::Time& time, std::string* error_msg = NULL)
const;
106 bool can_transform(
const std::string& target_frame,
const fawkes::Time& target_time,
107 const std::string& source_frame,
const fawkes::Time& source_time,
108 const std::string& fixed_frame, std::string* error_msg = NULL)
const;
110 void transform_quaternion(
const std::string& target_frame,
113 void transform_vector(
const std::string& target_frame,
116 void transform_point(
const std::string& target_frame,
118 void transform_pose(
const std::string& target_frame,
121 bool transform_origin(
const std::string& source_frame,
122 const std::string& target_frame,
126 void transform_quaternion(
const std::string& target_frame,
const fawkes::Time& target_time,
128 const std::string& fixed_frame,
130 void transform_vector(
const std::string& target_frame,
const fawkes::Time& target_time,
132 const std::string& fixed_frame,
134 void transform_point(
const std::string& target_frame,
const fawkes::Time& target_time,
136 const std::string& fixed_frame,
138 void transform_pose(
const std::string& target_frame,
const fawkes::Time& target_time,
140 const std::string& fixed_frame,
143 std::string all_frames_as_dot(
bool print_time,
fawkes::Time *time = 0)
const;
Fawkes library namespace.
A class for handling time.
A Class which provides coordinate transforms between any two frames in a system.
Wrapper class to add time stamp and frame ID to base types.