00001 // Copyright (C) 2004-2007 University of Louisiana at Lafayette 00002 // Authors: Chandan Uddaraju 00003 00004 #ifndef CAJUN_DRAW_OBSTACLE_POINTS_H 00005 #define CAJUN_DRAW_OBSTACLE_POINTS_H 00006 00007 // #define BOX 0 00008 // #define SPHERE 1 00009 // #define CYLINDER 2 00010 // #define WHEEL 3 00011 00012 //#define NUM_OBJECTS 100 00013 00014 #include <vector> 00015 #include "queue_generator.H" 00016 #include "model.H" 00017 #include "world_state.H" 00018 #include "component_interface.H" 00019 #include "conf.H" 00020 00021 namespace cajun 00022 { 00023 class draw_obstacle_points_t : public component_interface_t 00024 { 00025 private: 00026 std::vector<obstacle_points_data_t> m_obstacle_list; 00027 unsigned m_list_counter; 00028 int m_viz_mode; 00029 double m_object_rotation[16]; 00030 bool m_display_obstacle_points_info; 00031 00032 world_state_t *m_ws; 00033 // access_data_t *m_ad; 00034 unsigned m_qid; 00035 public: 00036 draw_obstacle_points_t (double cbviz_origin[3], unsigned qid_, 00037 world_state_t *ws_, conf_t &conf_, 00038 int viz_mode); 00039 void init_data (); 00040 void update_data (double bot_pos_[3]); 00041 void display (double cbviz_origin_[3]); 00042 void toggle_display () { m_display = ! m_display; } 00043 }; 00044 }; 00045 #endif