CGFLib - A library for Computer Graphics @ FEUP
 All Classes Files Functions Variables Pages
CGFscene.h
Go to the documentation of this file.
1 #ifndef CG_CGFscene
2 #define CG_CGFscene
3 
10 #include <list>
11 #include <vector>
12 
13 #include "CGFobject.h"
14 #include "CGFaxis.h"
15 #include "CGFlight.h"
16 #include "CGFcamera.h"
17 #include "CGFinterface.h"
18 
19 class CGFscene
21 {
22  friend class CGFapplication;
23  friend class CGFinterface;
24  public:
25  CGFscene();
26  virtual ~CGFscene();
27 
28 
29  virtual void init();
30  virtual void display();
31  virtual void update(unsigned long millis);
32 
33  CGFaxis axis;
34 
35  virtual void initCameras();
36  void activateCamera(int i);
37 
38  void setInterface(CGFinterface *i);
39 
40  protected:
41  void setUpdatePeriod(unsigned long millis);
42 
43  void checkUpdate();
44  unsigned long updatePeriod;
45  unsigned long lastUpdate;
46 
47  CGFinterface *iface;
48 
49  std::list<CGFlight*> scene_lights;
50  std::list<CGFobject*> scene_objects;
51  std::vector<CGFcamera*> scene_cameras;
52 
53  CGFcamera* activeCamera;
54 
55 };
56 
57 #endif