]> git.tdb.fi Git - libs/gl.git/blobdiff - source/scene.h
Style update: add spaces around assignment operators
[libs/gl.git] / source / scene.h
index 6bfad812e517ecc45216216ed2aa0a37c50e3789..329099ea341f31479bbb5e7063c062b226bba49d 100644 (file)
@@ -8,23 +8,31 @@ Distributed under the LGPL
 #ifndef MSP_GL_SCENE_H_
 #define MSP_GL_SCENE_H_
 
+#include <map>
 #include <set>
 #include "renderable.h"
 
 namespace Msp {
 namespace GL {
 
+class Object;
+class ObjectInstance;
+
 class Scene: public Renderable
 {
 private:
-       std::set<const Renderable *> renderables;
+       typedef std::set<const ObjectInstance *> InstanceSet;
+       typedef std::map<const Object *, InstanceSet> ObjectMap;
+       typedef std::set<const Renderable *> RenderableSet;
+
+       ObjectMap objects;
+       RenderableSet renderables;
 
 public:
        void add(const Renderable &);
        void remove(const Renderable &);
 
-       virtual bool has_pass(const Tag &) const { return true; }
-       virtual void render(const Tag &tag=Tag()) const;
+       virtual void render(const Tag &tag = Tag()) const;
 };
 
 } // namespace GL