29 #ifndef SWRI_ROUTE_UTIL_PATH_UTIL_H_
30 #define SWRI_ROUTE_UTIL_PATH_UTIL_H_
32 #include <marti_nav_msgs/Plan.h>
33 #include <marti_nav_msgs/PlanPosition.h>
43 void transform(marti_nav_msgs::Plan &path,
45 const std::string &target_frame);
59 const marti_nav_msgs::Plan& path,
60 const double x,
const double y,
61 marti_nav_msgs::PlanPosition& nearest_position,
62 double& nearest_separation);
66 const marti_nav_msgs::Plan& path);
71 const marti_nav_msgs::PlanPosition position,
73 const bool allow_extrapolation =
false);
78 const marti_nav_msgs::PlanPosition position,
80 bool extrapolate =
false);
84 const marti_nav_msgs::PlanPosition position,
85 marti_nav_msgs::PlanPoint& pt,
86 bool extrapolate =
false);
91 return tf::Vector3(pt.x, pt.y, pt.z);
96 const marti_nav_msgs::Plan &route,
97 const tf::Vector3 &point,
98 bool extrapolate_before_start,
99 bool extrapolate_past_end);
103 marti_nav_msgs::PlanPosition &position,
104 const marti_nav_msgs::Plan &route,
105 const tf::Vector3 &point,
106 const marti_nav_msgs::PlanPosition &window_start,
107 const marti_nav_msgs::PlanPosition &window_end);
113 const marti_nav_msgs::PlanPosition &start,
114 const marti_nav_msgs::PlanPosition &end,
115 const marti_nav_msgs::Plan &route);
117 #endif // SWRI_ROUTE_UTIL_UTIL_H_