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