36 #include <geometry_msgs/TransformStamped.h>
48 : rotation_(data.getRotation())
49 , translation_(data.getOrigin())
52 , child_frame_id_(child_frame_id)
56 : max_storage_time_(max_storage_time)
64 *error_str =
"Unable to lookup transform, cache is empty";
73 ss <<
"Lookup would require extrapolation at time " << t0 <<
", but only time " << t1 <<
" is in the buffer";
74 *error_str = ss.str();
83 ss <<
"Lookup would require extrapolation into the future. Requested time " << t0 <<
" but the latest data is at time " << t1;
84 *error_str = ss.str();
93 ss <<
"Lookup would require extrapolation into the past. Requested time " << t0 <<
" but the earliest data is at time " << t1;
94 *error_str = ss.str();
118 if (ts.
stamp_ == target_time)
133 if (target_time == latest_time)
138 else if (target_time == earliest_time)
144 else if (target_time > latest_time)
149 else if (target_time < earliest_time)
160 L_TransformStorage::iterator storage_it =
storage_.upper_bound(tmp);
163 two = &*(storage_it);
164 one = &*(--storage_it);
197 int num_nodes =
findClosest(p_temp_1, p_temp_2, time, error_str);
202 else if (num_nodes == 1)
204 data_out = *p_temp_1;
206 else if (num_nodes == 2)
214 data_out = *p_temp_1;
230 int num_nodes =
findClosest(p_temp_1, p_temp_2, time, error_str);
251 L_TransformStorage::iterator storage_it =
storage_.find(new_data);