goat3dgfx
annotate src/scene.h @ 34:3eb6c8f89fe1
merge
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 02 Mar 2014 17:41:10 +0200 |
parents | 0b863938da04 |
children |
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 "object.h" |
nuclear@31 | 6 #include "light.h" |
nuclear@31 | 7 #include "camera.h" |
nuclear@0 | 8 #include "curve.h" |
nuclear@0 | 9 |
nuclear@15 | 10 namespace goatgfx { |
nuclear@15 | 11 |
nuclear@0 | 12 class Scene { |
nuclear@0 | 13 public: |
nuclear@0 | 14 std::vector<Object*> objects; |
nuclear@0 | 15 std::vector<Mesh*> meshes; |
nuclear@0 | 16 std::vector<Curve*> curves; |
nuclear@28 | 17 std::vector<Light*> lights; |
nuclear@28 | 18 std::vector<Camera*> cameras; |
nuclear@28 | 19 |
nuclear@28 | 20 // nodes can be objects, lights, cameras, or just dummy nodes |
nuclear@28 | 21 std::vector<XFormNode*> nodes; |
nuclear@0 | 22 |
nuclear@0 | 23 ~Scene(); |
nuclear@0 | 24 void destroy(); |
nuclear@0 | 25 |
nuclear@12 | 26 bool load(const char *fname); |
nuclear@12 | 27 bool save(const char *fname) const; |
nuclear@12 | 28 |
nuclear@0 | 29 void draw(long msec = 0) const; |
nuclear@0 | 30 }; |
nuclear@0 | 31 |
nuclear@15 | 32 } // namespace goatgfx |
nuclear@15 | 33 |
nuclear@0 | 34 #endif // SCENE_H_ |