]> git.tdb.fi Git - libs/gl.git/blob - source/scene.h
Change Scene into an abstract base class and add a few subclasses
[libs/gl.git] / source / scene.h
1 /* $Id$
2
3 This file is part of libmspgl
4 Copyright © 2010  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #ifndef MSP_GL_SCENE_H_
9 #define MSP_GL_SCENE_H_
10
11 #include "renderable.h"
12
13 namespace Msp {
14 namespace GL {
15
16 /**
17 Scenes are containers for other Renderables.  This is a base class that can't
18 be instantiated.  At the moment the available Scene types are SimpleScene,
19 InstancedScene and OrderedScene.
20 */
21 class Scene: public Renderable
22 {
23 protected:
24         Scene() { }
25 public:
26         virtual ~Scene() { }
27
28         virtual void add(const Renderable &) = 0;
29         virtual void remove(const Renderable &) = 0;
30 };
31
32 } // namespace GL
33 } // namespace Msp
34
35 #endif