erebus
annotate liberebus/src/scene.h @ 2:474a0244f57d
fixed specialization mistake
fixed line endings
added makefiles
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 28 Apr 2014 06:31:10 +0300 |
parents | 59a72293f9bd |
children | 93894c232d65 |
rev | line source |
---|---|
nuclear@2 | 1 #ifndef SCENE_H_ |
nuclear@2 | 2 #define SCENE_H_ |
nuclear@2 | 3 |
nuclear@2 | 4 #include <vector> |
nuclear@2 | 5 #include "snode.h" |
nuclear@2 | 6 #include "camera.h" |
nuclear@2 | 7 |
nuclear@2 | 8 class Scene { |
nuclear@2 | 9 private: |
nuclear@2 | 10 std::vector<Object*> objects; |
nuclear@2 | 11 std::vector<SceneNode*> nodes; |
nuclear@2 | 12 |
nuclear@2 | 13 Camera *active_cam; |
nuclear@2 | 14 |
nuclear@2 | 15 public: |
nuclear@2 | 16 Scene(); |
nuclear@2 | 17 ~Scene(); |
nuclear@2 | 18 |
nuclear@2 | 19 void add_object(Object *obj); |
nuclear@2 | 20 int get_object_count() const; |
nuclear@2 | 21 Object *get_object(int idx) const; |
nuclear@2 | 22 |
nuclear@2 | 23 void add_node(SceneNode *node); |
nuclear@2 | 24 int get_node_count() const; |
nuclear@2 | 25 SceneNode *get_node(int idx) const; |
nuclear@2 | 26 |
nuclear@2 | 27 bool intersect(const Ray &ray, RayHit *hit) const; |
nuclear@2 | 28 }; |
nuclear@2 | 29 |
nuclear@2 | 30 #endif // SCENE_H_ |