erebus

annotate liberebus/src/scene.h @ 1:59a72293f9bd

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