52 #ifndef __LIBS_TF_TRANSFORMER_H_
53 #define __LIBS_TF_TRANSFORMER_H_
60 # include <tr1/unordered_map>
62 # include <unordered_map>
82 static const unsigned int MAX_GRAPH_DEPTH = 100UL;
91 const std::string &authority =
"default_authority");
93 bool frame_exists(
const std::string& frame_id_str)
const;
96 void lookup_transform(
const std::string& target_frame,
97 const std::string& source_frame,
101 void lookup_transform(
const std::string& target_frame,
102 const std::string& source_frame,
105 void lookup_transform(
const std::string& target_frame,
107 const std::string& source_frame,
109 const std::string& fixed_frame,
112 bool can_transform(
const std::string& target_frame,
113 const std::string& source_frame,
116 bool can_transform(
const std::string& target_frame,
118 const std::string& source_frame,
120 const std::string& fixed_frame)
const;
122 const TimeCache * get_frame_cache(
const std::string &frame_id)
const;
124 void set_enabled(
bool enabled);
127 int get_latest_common_time(
const std::string &source_frame,
const std::string &target_frame,
128 fawkes::Time& time, std::string* error_string = 0)
const;
130 void transform_quaternion(
const std::string& target_frame,
133 void transform_vector(
const std::string& target_frame,
136 void transform_point(
const std::string& target_frame,
138 void transform_pose(
const std::string& target_frame,
141 void transform_quaternion(
const std::string& target_frame,
const fawkes::Time& target_time,
143 const std::string& fixed_frame,
145 void transform_vector(
const std::string& target_frame,
const fawkes::Time& target_time,
147 const std::string& fixed_frame,
149 void transform_point(
const std::string& target_frame,
const fawkes::Time& target_time,
151 const std::string& fixed_frame,
153 void transform_pose(
const std::string& target_frame,
const fawkes::Time& target_time,
155 const std::string& fixed_frame,
159 TimeCache * get_frame(
unsigned int frame_number)
const;
161 CompactFrameID lookup_frame_number(
const std::string &frameid_str)
const;
162 CompactFrameID lookup_or_insert_frame_number(
const std::string &frameid_str);
163 std::string lookup_frame_string(
unsigned int frame_id_num)
const;
203 int get_latest_common_time(CompactFrameID target_frame, CompactFrameID source_frame,
206 bool can_transform_no_lock(CompactFrameID target_id, CompactFrameID source_id,
208 void create_connectivity_error_string(CompactFrameID source_frame, CompactFrameID target_frame, std::string* out)
const;
212 CompactFrameID target_id, CompactFrameID source_id,
213 std::string* error_string)
const;
A class for handling time.
Time based transform cache.
Wrapper class to add time stamp and frame ID to base types.
Mutex mutual exclusion lock.