00001 #ifndef CAJUN_RNDF_UTIL_H
00002 #define CAJUN_RNDF_UTIL_H
00003
00004 #include "rndf.H"
00005
00006 namespace cajun
00007 {
00008 bool map_onto_lane (const rndf_t *rndf_, unsigned sid_,
00009 unsigned lid_, unsigned &wid_, double &dist_off,
00010 double x_, double y_, double max_xtrack_);
00011
00012 bool get_inter_crossing_points (
00013 const rndf_t *rndf_,
00014 rndf_t::waypoint_id_t const &wp_id_,
00015 std::vector<rndf_t::waypoint_id_t> &cr_wp_list_);
00016
00017 double get_end_orient (rndf_t const *rndf_,
00018 rndf_t::waypoint_id_t const &end_id);
00019
00020 double get_start_orient (rndf_t const *rndf_,
00021 rndf_t::waypoint_id_t const &start_id);
00022
00023 bool is_inside_zone (rndf_t::zone_t const &zone, double x_,
00024 double y_);
00025
00026 bool map_to_zone (rndf_t const *rndf_, double x_, double y_,
00027 unsigned &zone_id);
00028
00029 rndf_t::waypoint_t get_waypoint (rndf_t const *rndf_, unsigned id1_,
00030 unsigned id2_, unsigned id3_);
00031
00032 bool is_segment_wp_id (rndf_t const *rndf_,
00033 rndf_t::waypoint_id_t const &wp_id);
00034
00035 };
00036
00037 #endif