qtopengl_epuck.h
Go to the documentation of this file.
1 
7 #ifndef QTOPENGL_EPUCK_H
8 #define QTOPENGL_EPUCK_H
9 
10 namespace argos {
11  class CQTOpenGLEPuck;
12  class CEPuckEntity;
13 }
14 
15 #ifdef __APPLE__
16 #include <gl.h>
17 #else
18 #include <GL/gl.h>
19 #endif
20 
21 namespace argos {
22 
24 
25  public:
26 
28 
29  virtual ~CQTOpenGLEPuck();
30 
31  virtual void Draw(CEPuckEntity& c_entity);
32 
33  protected:
34 
38  void SetRedPlasticMaterial();
42  void SetLEDMaterial(GLfloat f_red,
43  GLfloat f_green,
44  GLfloat f_blue);
45 
47  void RenderWheel();
49  void RenderChassis();
51  void RenderBody();
53  void RenderLED();
54 
55  private:
56 
58  GLuint m_unLists;
59 
61  GLuint m_unWheelList;
62 
64  GLuint m_unChassisList;
65 
67  GLuint m_unBodyList;
68 
70  GLuint m_unLEDList;
71 
74  GLuint m_unVertices;
75 
76  /* Angle gap between two leds */
77  GLfloat m_fLEDAngleSlice;
78 
79  };
80 
81 }
82 
83 #endif
void RenderWheel()
Renders a wheel.
void RenderLED()
A single LED of the ring.
void SetRedPlasticMaterial()
Sets a red plastic material.
void SetLEDMaterial(GLfloat f_red, GLfloat f_green, GLfloat f_blue)
Sets a colored LED material.
void SetCircuitBoardMaterial()
Sets a circuit board material.
void RenderBody()
Renders the body.
virtual void Draw(CEPuckEntity &c_entity)
void SetGreenPlasticMaterial()
Sets a green plastic material.
void RenderChassis()
Renders the chassis.
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12