00001 // Copyright (C) 2004 University of Louisiana at Lafayette 00002 // Authors: Suresh Golconda 00003 00004 #ifndef CAJUN_DRAW_BLOCKED_LANES_H 00005 #define CAJUN_DRAW_BLOCKED_LANES_H 00006 00007 #include "data_queue.H" 00008 #include "cbviz_util.H" 00009 #include "conf.H" 00010 #include <vector> 00011 #include "component_interface.H" 00012 00013 #include "rndf.H" 00014 #include "world_state.H" 00015 #include "proj_util.H" 00016 00017 namespace cajun 00018 { 00020 class draw_blocked_lanes_t : public component_interface_t 00021 { 00022 public: 00023 draw_blocked_lanes_t (double cbviz_origin[3], conf_t &conf, 00024 world_state_t *ws_); 00025 virtual ~draw_blocked_lanes_t () { ; }; 00026 void update_data (double bot_pos_[3]); 00027 void display (double bot_pos_[3]); 00028 void toggle_display (); 00030 void toggle_filter_type (); 00031 private: 00033 world_state_t *m_world_state; 00035 double m_blk_lane_timeout; 00037 bool m_display_blocked_lane; 00039 std::vector<blocked_lane_data_t> blk_lane_list; 00040 00041 void display_blk_lane (const blocked_lane_data_t &blk_lane); 00042 }; 00043 }; 00044 00045 00046 #endif