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_