qtopengl_spiri.h
Go to the documentation of this file.
1 
7 #ifndef QTOPENGL_SPIRI_H
8 #define QTOPENGL_SPIRI_H
9 
10 namespace argos {
11  class CQTOpenGLSpiri;
12  class CSpiriEntity;
13 }
14 
15 
16 #ifdef __APPLE__
17 #include <gl.h>
18 #else
19 #include <GL/gl.h>
20 #endif
21 
22 namespace argos {
23 
25 
26  public:
27 
29 
30  virtual ~CQTOpenGLSpiri();
31 
32  virtual void Draw(CSpiriEntity& c_entity);
33 
34  private:
35 
36  void SetPlasticMaterial();
37 
38  void SetPropellerMaterial();
39 
40  void SetMainBodyMaterial();
41 
42  void MakeModel();
43 
44  void MakePropeller();
45 
46  void MakeMainBody();
47 
48  void MakeRing(GLfloat f_out_radius,
49  GLfloat f_in_radius);
50 
51  void MakeDisk(GLfloat f_radius);
52 
53  void MakeCylinderSurface(GLfloat f_radius,
54  GLfloat f_height);
55 
56  void MakeCylinder(GLfloat f_radius,
57  GLfloat f_height);
58 
59  void MakeBox(GLfloat f_length,
60  GLfloat f_width,
61  GLfloat f_height);
62 
63  private:
64 
65  /* Display list */
66  GLuint m_unList;
67 
68  /* Number of vertices to display the round parts */
69  GLuint m_unVertices;
70 
71  };
72 
73 }
74 
75 #endif
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
virtual void Draw(CSpiriEntity &c_entity)