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_