rayzor
diff src/scene.h @ 12:d94a69933a71
lots of stuff, can't remember
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 12 Apr 2014 23:28:24 +0300 |
parents | a68dbf80d547 |
children | 964f8ea5f095 |
line diff
1.1 --- a/src/scene.h Thu Apr 10 08:42:33 2014 +0300 1.2 +++ b/src/scene.h Sat Apr 12 23:28:24 2014 +0300 1.3 @@ -3,6 +3,7 @@ 1.4 1.5 #include <string> 1.6 #include <vector.h> 1.7 +#include "xfnode.h" 1.8 #include "object.h" 1.9 #include "light.h" 1.10 #include "camera.h" 1.11 @@ -10,11 +11,15 @@ 1.12 class Scene { 1.13 private: 1.14 char *name; 1.15 + vector<SceneNode*> nodes; 1.16 + 1.17 vector<Object*> objects; 1.18 vector<Light*> lights; 1.19 vector<Camera*> cameras; 1.20 Camera *active_cam; 1.21 1.22 + vector<int> sel; 1.23 + 1.24 public: 1.25 Scene(); 1.26 ~Scene(); 1.27 @@ -24,14 +29,15 @@ 1.28 void set_name(const char *name); 1.29 const char *get_name() const; 1.30 1.31 - void add_object(Object *obj); 1.32 - void add_light(Light *lt); 1.33 - void add_camera(Camera *cam); 1.34 + void add(SceneNode *node); 1.35 1.36 + int get_node_count() const; 1.37 int get_object_count() const; 1.38 int get_light_count() const; 1.39 int get_camera_count() const; 1.40 1.41 + SceneNode *get_node(int idx); 1.42 + const SceneNode *get_node(int idx) const; 1.43 Object *get_object(int idx); 1.44 const Object *get_object(int idx) const; 1.45 Light *get_light(int idx); 1.46 @@ -40,6 +46,11 @@ 1.47 const Camera *get_camera(int idx) const; 1.48 1.49 void draw() const; 1.50 + 1.51 + void select(int s); 1.52 + void clear_selection(); 1.53 + int get_selection_count() const; 1.54 + int get_selection(int idx = 0) const; 1.55 }; 1.56 1.57 #endif // SCENE_H_