8 #ifndef META_OCEAN_RENDERING_OBJECT_REF_H
9 #define META_OCEAN_RENDERING_OBJECT_REF_H
72 typedef std::unordered_multimap<std::string, ObjectId>
NameMap;
77 typedef std::unordered_map<ObjectId, ObjectRef>
ObjectMap;
87 bool hasEngineObject(
const std::string& engine,
const bool writeObjectToLog)
const;
154 template <
typename T>
161 template <
typename T>
168 template <
typename T>
169 template <
typename T2>
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
This class implements a node and object factory.
Definition: rendering/Factory.h:30
This class is the base class for all rendering objects.
Definition: Object.h:54
This class implements a rendering object reference manager.
Definition: rendering/ObjectRef.h:60
std::unordered_multimap< std::string, ObjectId > NameMap
Definition of a multimap mapping object names to object ids.
Definition: rendering/ObjectRef.h:72
ObjectRef object(const std::string &name) const
Returns the first object specified by a given name.
bool hasEngineObject(const std::string &engine, const bool writeObjectToLog) const
Tests whether this manager holds still some objects of a specific rendering engine.
Lock lock_
Lock for the object map.
Definition: rendering/ObjectRef.h:151
ObjectRef object(const ObjectId objectId) const
Returns an object by a given object id.
void changeRegisteredObject(ObjectId objectId, const std::string &oldName, const std::string &newName)
Changes the name of a registered object.
ObjectRef registerObject(Object *object)
Registers a new object.
~ObjectRefManager()
Destructs the manager.
std::unordered_map< ObjectId, ObjectRef > ObjectMap
Definition of a map mapping object ids to object references.
Definition: rendering/ObjectRef.h:77
void unregisterObject(const Object *object)
Unregisters an object.
NameMap nameMap_
Map mapping object names to object pointers.
Definition: rendering/ObjectRef.h:148
ObjectMap objectMap_
Map holding all object references.
Definition: rendering/ObjectRef.h:145
ObjectRefs objects(const std::string &name) const
Returns all objects specified by a given name.
This class implements a smart rendering object reference.
Definition: rendering/ObjectRef.h:34
SmartObjectRef(const Rendering::ObjectRef &objectRef)
Creates a new smart object reference by a given object reference.
Definition: rendering/ObjectRef.h:162
SmartObjectRef()
Creates an empty smart object reference.
Definition: rendering/ObjectRef.h:155
This template class is the base class for all singleton objects.
Definition: Singleton.h:71
This template class implements a smart object reference which is a specialization of an ObjectRef obj...
Definition: SmartObjectRef.h:90
size_t ObjectId
Definition of a object id.
Definition: rendering/Rendering.h:59
std::vector< ObjectRef > ObjectRefs
Definition of a vector holding rendering object references.
Definition: Object.h:41
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15