00001 #ifndef __DRAWABLEOBJECT_H 00002 #define __DRAWABLEOBJECT_H 00003 00004 #include "../positions/position.h" 00005 #include <GL/gl.h> 00006 #include <GL/glu.h> 00007 00009 00014 class DrawableObject 00015 { 00016 public: 00018 00022 DrawableObject(); 00024 00028 virtual ~DrawableObject(); 00029 00031 00035 virtual void matrixOps(void *p) = 0; 00037 00041 virtual void draw(void *p) = 0; 00042 00044 00047 virtual Position* getPosition() = 0; 00048 00050 00053 GLfloat* getColor(); 00055 00059 void setColor(GLfloat* newColor); 00061 00065 void setCurrentColor(GLfloat* newColor); 00067 00070 int getId(); 00072 00076 void setId(int newId); 00078 00081 int getIndex(); 00083 00087 void setIndex(int newIndex); 00088 protected: 00089 00090 Position* thePosition; 00091 GLfloat color[4]; 00092 GLfloat currentColor[4]; 00093 int id; 00094 int index; 00095 }; 00096 00097 #endif
1.3.6