exhibits
[laserbrain_demo] / src / exman.h
1 #ifndef EXMAN_H_
2 #define EXMAN_H_
3
4 #include <vector>
5 #include "exhibit.h"
6 #include "metascene.h"
7
8 class ExhibitManager {
9 private:
10         std::vector<Exhibit*> items;
11
12 public:
13         ExhibitManager();
14         ~ExhibitManager();
15
16         void clear();
17
18         void add(Exhibit *ex);
19         bool remove(Exhibit *ex);
20
21         bool load(MetaScene *mscn, const char *fname);
22
23         ExSelection select(const Ray &ray) const;
24         ExSelection select(const Sphere &sph) const;
25
26         void update(float dt = 0.0f);
27         void draw() const;
28 };
29
30 #endif  // EXMAN_H_