00001 // Copyright (C) 2004 University of Louisiana at Lafayette 00002 // Authors: Suresh Golconda, Nitin, Arun Pratap 00003 00004 #ifndef CAJUN_DRAW_PATH_EXPLORATION_H 00005 #define CAJUN_DRAW_PATH_EXPLORATION_H 00006 00007 #include "data_queue.H" 00008 #include "cbviz_util.H" 00009 #include "conf.H" 00010 #include "component_interface.H" 00011 #include <vector> 00012 00013 namespace cajun 00014 { 00015 class draw_path_exploration_t : public component_interface_t 00016 { 00017 public: 00018 draw_path_exploration_t (double cbviz_origin[3], conf_t &conf, 00019 int id, world_state_t *ws_); 00020 virtual ~draw_path_exploration_t () {;}; 00021 void toggle_display (); 00022 void update_data (double bot_pos_[3]); 00023 void display (double bot_pos[3]); 00024 private: 00025 bool read_path_wp (); 00026 path_data_t m_path_data; 00027 nav_data_t m_nav; 00028 int m_id; 00029 bool m_line_from_bot; 00030 double m_flag_posy; 00031 bool m_display_wp_number; 00032 void select_color (unsigned pi); 00033 struct point_p_t 00034 { 00035 double x1, y1; 00036 double x2, y2; 00037 }; 00038 std::vector<point_p_t> m_pt_list; 00039 void read_from_file (); 00040 }; 00041 } 00042 #endif