#ifndef MSP_GL_SCENE_H_
#define MSP_GL_SCENE_H_
-#include <vector>
+#include <map>
#include <msp/core/typeregistry.h>
#include <msp/datafile/objectloader.h>
#include "matrix.h"
#include "renderable.h"
-#include "vector.h"
namespace Msp {
namespace GL {
private:
ContentMap *content;
+ unsigned inst_counter;
public:
Loader(Scene &, Collection &);
void object(const std::string &);
void object_tagged(const std::string &, const std::string &);
+ void scene(const std::string &);
};
public:
typedef TypeRegistry<GenericLoader::CreateScene, GenericLoader &> SceneRegistry;
protected:
- // XXX If a loaded renderable is removed from the scene it needs to be removed from here as well
- std::vector<Renderable *> owned_data;
mutable Matrix culling_matrix;
mutable Vector4 frustum_edges[6];
Scene(const Scene &);
Scene &operator=(const Scene &);
public:
- virtual ~Scene();
+ virtual ~Scene() { }
virtual void add(Renderable &) = 0;
virtual void remove(Renderable &) = 0;