00001 // Copyright (C) 2007 University of Louisiana at Lafayette 00002 // Authors: Christopher Mire 00003 00004 #ifndef CAJUN_DRAW_ITERIS_H 00005 #define CAJUN_DRAW_ITERIS_H 00006 00007 #include "conf.H" 00008 #include "cbviz_util.H" 00009 #include "component_interface.H" 00010 #include "iteris_lane_util.H" 00011 00012 namespace cajun 00013 { 00015 class draw_iteris_t: public component_interface_t 00016 { 00017 public: 00018 draw_iteris_t (double cbviz_origin[3], conf_t &conf, 00019 world_state_t *ws_); 00020 virtual ~draw_iteris_t() {;}; 00021 void update_data (double bot_pos_[3]); 00022 void display(double bot_pos[3]); 00023 void toggle_display (); 00024 private: 00025 void draw_curved_lane (double x0_, double y0_, double x1_, 00026 double y1_, double bot_pos_[3]); 00027 00029 iteris_lane_data_t m_iteris_data; 00031 motion_data_t m_motion_data; 00032 double m_lane_pos[3]; 00033 double m_new_pos[3]; 00035 std::vector <point_t> m_arc_points; 00036 }; 00037 }; 00038 #endif