00001 #ifndef CAJUN_ROUTE_DISCONTINUITY_H
00002 #define CAJUN_ROUTE_DISCONTINUITY_H
00003
00004 #include "data_type.H"
00005 #include "data_queue.H"
00006 #include "data_logger.H"
00007 #include "route.H"
00008 #include <cstdio>
00009
00010 namespace cajun
00011 {
00012
00013 # define assign_slope(curr_beam) assign_slope.end_beam[(curr_beam)]
00014 # define VEHICLE_WIDTH 0.81//0.36 // square of the half of vehicle width
00015 class route_discontinuity_t
00016 {
00017 data_queue_writer_t<scan_analysis_data_t> *m_dq_writer;
00018 data_queue_writer_t<scan_analysis_data_t> *m_dq_b_writer;
00019 public:
00020 route_discontinuity_t (data_queue_writer_t<scan_analysis_data_t> *scan_analysis_dq_writer,data_queue_writer_t<scan_analysis_data_t> *scan_analysis_dq_b_writer)
00021 {
00022 m_dq_writer = scan_analysis_dq_writer;
00023 m_dq_b_writer = scan_analysis_dq_b_writer;
00024
00025 };
00026
00027 void add_scan (scan_gp_data_t const &points_b, scan_gp_data_t const &points, waypt_data_t waypt_info, nav_data_t bot_posi)
00028 {
00029
00030
00031
00032 find_route_discontinuity(points_b,0);
00033 find_route_discontinuity(points,1);
00034 }
00035 void find_route_discontinuity(scan_gp_data_t points, unsigned sick_id);
00036 };
00037 };
00038 #endif