#ifndef OPENMW_COMPONENTS_RESOURCE_SCENEMANAGER_H #define OPENMW_COMPONENTS_RESOURCE_SCENEMANAGER_H #include #include #include #include namespace VFS { class Manager; } namespace Resource { /// @brief Handles loading and caching of scenes, e.g. NIF files class SceneManager { public: SceneManager(const VFS::Manager* vfs); /// Get a read-only copy of this scene "template" osg::ref_ptr getTemplate(const std::string& name); /// Create an instance of the given scene template osg::ref_ptr getInstance(const std::string& name); private: const VFS::Manager* mVFS; // observer_ptr? typedef std::map > Index; Index mIndex; }; } #endif