00001 00007 #ifndef QTOPENGL_MINI_QUADROTOR_H 00008 #define QTOPENGL_MINI_QUADROTOR_H 00009 00010 namespace argos { 00011 class CQTOpenGLMiniQuadrotor; 00012 class CMiniQuadrotorEntity; 00013 } 00014 00015 00016 #ifdef __APPLE__ 00017 #include <gl.h> 00018 #else 00019 #include <GL/gl.h> 00020 #endif 00021 00022 namespace argos { 00023 00024 class CQTOpenGLMiniQuadrotor { 00025 00026 public: 00027 00028 CQTOpenGLMiniQuadrotor(); 00029 00030 virtual ~CQTOpenGLMiniQuadrotor(); 00031 00032 virtual void Draw(CMiniQuadrotorEntity& c_entity); 00033 00034 protected: 00035 00037 void SetBodyMaterial(); 00038 00040 void SetBoardMaterial(); 00041 00043 void SetBladeMaterial(); 00044 00046 void MakeBody(); 00047 00049 void MakeBoard(); 00050 00052 void MakeArm(); 00053 00055 void MakePropeller(); 00056 00057 private: 00058 00060 GLuint m_unVertices; 00061 00063 GLuint m_unLists; 00064 00065 }; 00066 00067 } 00068 00069 #endif