00001 // Copyright (C) 2006 University of Louisiana at Lafayette 00002 // Authors: Pablo Mejia, Suresh Golconda, Christopher Mire 00003 00004 #ifndef CAJUN_DRAW_H 00005 #define CAJUN_DRAW_H 00006 00007 #include "world_state.H" 00008 #include "GL/gl.h" 00009 00010 namespace cajun 00011 { 00013 class component_interface_t 00014 { 00015 public: 00016 component_interface_t () {m_data_ok = false;}; 00017 virtual ~component_interface_t () {;}; 00019 virtual void toggle_display () = 0; 00021 virtual void display (double bot_bos_[3]) = 0; 00023 virtual void update_data (double bot_pos_[3]) = 0; 00025 virtual void intra_update_data () {;}; 00027 virtual void init_data () {;}; 00029 virtual void dynamic_data () {;}; 00030 protected: 00032 world_state_t *m_world_state; 00034 double m_cbviz_origin[3]; 00036 bool m_display; 00038 bool m_data_ok; 00039 }; 00040 } 00041 #endif