-#ifndef MSP_GL_ORDEREDSCENE_H_
-#define MSP_GL_ORDEREDSCENE_H_
-
-#include <list>
-#include "scene.h"
-
-namespace Msp {
-namespace GL {
-
-/**
-A scene that renders its contents in a specific order. Inserting Renderables
-in the middle and removing them are O(N) operations.
-*/
-class OrderedScene: public Scene
-{
-private:
- typedef std::list<Renderable *> RenderableList;
-
- RenderableList renderables;
-
-public:
- virtual void add(Renderable &);
- virtual void remove(Renderable &);
- void prepend(Renderable &);
- void insert(unsigned, Renderable &);
- void insert_after(Renderable &, Renderable &);
-
- virtual void setup_frame() const;
- virtual void finish_frame() const;
-
- using Scene::render;
- virtual void render(Renderer &, const Tag & = Tag()) const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif