8 #ifndef META_OCEAN_RENDERING_MANAGER_H
9 #define META_OCEAN_RENDERING_MANAGER_H
75 inline const std::string& name()
const;
112 typedef std::multimap<unsigned int, EngineInformation>
EngineMap;
This class implements a recursive lock object.
Definition: Lock.h:31
This class is the base class for all rendering engines like.
Definition: Engine.h:46
GraphicAPI
Definition of different graphic APIs.
Definition: Engine.h:57
@ API_DEFAULT
Invalid graphic api id.
Definition: Engine.h:59
This class manages all scene graphs.
Definition: rendering/Manager.h:31
void onRemoveEngine(const Engine *engine)
Callback function to inform this manager that an engine is not in use anymore.
bool unregisterEngine(const std::string &engine)
Unregisters a render engine.
void release()
Releases all registered rendering engines.
Lock lock_
Manager lock.
Definition: rendering/Manager.h:178
std::multimap< unsigned int, EngineInformation > EngineMap
Definition of a map mapping rendering engine priorities to engine information objects.
Definition: rendering/Manager.h:112
EngineRef engine(const std::string &engine=std::string(), const Engine::GraphicAPI graphicAPI=Engine::API_DEFAULT)
Returns a render engine of a specific scene graph.
std::vector< std::string > EngineNames
Definition of a vector holding engine names.
Definition: rendering/Manager.h:40
EngineNames engines()
Returns all names of registered engines.
virtual ~Manager()
Destructs the manager.
void registerEngine(const std::string &engineName, const Engine::CreateCallback &callback, const Engine::GraphicAPI graphicAPI, const unsigned int priority)
Registers a new render engine.
Engine::GraphicAPI supportedGraphicAPI(const std::string &engine)
Returns the graphic API supported by a specified engine.
EngineMap engineMap_
Registered engines.
Definition: rendering/Manager.h:175
This template class is the base class for all singleton objects.
Definition: Singleton.h:71
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15