]> git.tdb.fi Git - libs/gl.git/blobdiff - source/render/zsortedscene.h
Explicitly specify enum values which are relied upon
[libs/gl.git] / source / render / zsortedscene.h
index 24e06a6bd8f96ff56ce319a811d1cdcdea57db44..f268f5297e3b279e064173c71f938494ade5431a 100644 (file)
@@ -10,15 +10,15 @@ namespace GL {
 
 enum SortOrder
 {
-       FRONT_TO_BACK,
-       BACK_TO_FRONT
+       FRONT_TO_BACK = 0,
+       BACK_TO_FRONT = 1
 };
 
 enum DepthReference
 {
-       CLOSEST,
-       CENTER,
-       FURTHEST
+       CLOSEST = 0,
+       CENTER = 1,
+       FURTHEST = 2
 };
 
 /**
@@ -27,6 +27,9 @@ renderables to have a matrix.
 */
 class ZSortedScene: public Scene
 {
+public:
+       using Scene::Loader;
+
 private:
        struct SortedRenderable
        {
@@ -39,17 +42,12 @@ private:
                bool operator<(const SortedRenderable &o) const { return depth<o.depth; }
        };
 
-       typedef std::set<Renderable *> RenderableSet;
-       typedef std::vector<SortedRenderable> SortedArray;
-
-       RenderableSet renderables;
-       SortOrder order;
-       DepthReference reference;
-       mutable SortedArray sorted_cache;
+       std::set<Renderable *> renderables;
+       SortOrder order = BACK_TO_FRONT;
+       DepthReference reference = FURTHEST;
+       mutable std::vector<SortedRenderable> sorted_cache;
 
 public:
-       ZSortedScene();
-
        virtual void add(Renderable &);
        virtual void remove(Renderable &);