00001 // Copyright (C) 2006 Christopher Mire 00002 // Copyright (C) 2006 University of Louisiana at Lafayette 00003 00004 #ifndef CAJUN_DRAW_RADAR_GP_H 00005 #define CAJUN_DRAW_RADAR_GP_H 00006 00007 #include "data_queue.H" 00008 #include "component_interface.H" 00009 #include "conf.H" 00010 #include "cbviz_util.H" 00011 #include "route.H" 00012 #include "util.H" 00013 #include "rndf.H" 00014 00015 namespace cajun 00016 { 00017 class draw_radar_gp_t : public component_interface_t 00018 { 00019 public: 00020 draw_radar_gp_t (double cbviz_origin[3],int qid_, 00021 conf_t &conf_, world_state_t *ws_, 00022 rndf_t const *rndf_); 00023 virtual ~draw_radar_gp_t (); 00024 bool get_data (); 00025 void change_to_viz_coord (const radar_gp_data_t &global_radar_data_); 00026 void update_data (double bot_pos_[3]); 00027 void display (double bot_pos[3]); 00028 void toggle_display (); 00029 void draw_cube( double width, double height, double length); 00030 // int in_track (route_t &route_, unsigned wp_next_, double x_, double y_); 00031 // void transform_cbviz_origin (cajun::route_t::waypoint_t &wp); 00032 private: 00033 world_state_t *m_world_state; 00034 // proj_t m_proj; 00035 rndf_t const *m_rndf; 00036 // char const *m_rndf_filename; 00037 int m_qid; 00038 double m_bot_offset_x; 00039 double m_bot_offset_z; 00040 radar_gp_data_t m_radar_gp_data; 00041 radar_data_t m_radar_data; 00042 waypt_data_t m_waypt_data; 00043 double m_cbviz_origin[3]; 00044 double m_ob_size[3]; 00045 }; 00046 } 00047 #endif