Castor3D
..
|
Base class for a scene element manager. More...
Public Member Functions | |
Engine * | GetEngine () const |
void | Cleanup () |
Sets all the elements to be cleaned up. More... | |
void | Remove (Key const &p_name) |
Removes an object, given a name. More... | |
void | MergeInto (ObjectManager< Key, Elem > &p_destination) |
template<typename ... Parameters> | |
std::shared_ptr< Elem > | Create (Key const &p_name, SceneNodeSPtr p_parent=nullptr, Parameters &&... p_params) |
Creates an object. More... | |
uint32_t | GetObjectCount () const |
Public Member Functions inherited from Castor3D::Manager< Key, Elem, Scene, ObjectManagerEngineGetter > | |
void | Cleanup () |
Sets all the elements to be cleaned up. More... | |
void | Clear () |
Flushes the collection. More... | |
bool | IsEmpty () |
void | Insert (Key const &p_name, std::shared_ptr< Elem > p_element) |
Removes an object, given a name. More... | |
void | Remove (Key const &p_name) |
Removes an object, given a name. More... | |
void | SetRenderSystem (RenderSystem *p_renderSystem) |
RenderSystem * | SetRenderSystem () const |
Engine * | GetEngine () const |
Castor::String const & | GetObjectTypeName () const |
bool | Has (Key const &p_name) const |
std::shared_ptr< Elem > | Find (Key const &p_name) const |
Looks for an element with given name. More... | |
void | lock () const |
Locks the collection mutex. More... | |
void | unlock () const |
Unlocks the collection mutex. More... | |
Collection::TObjPtrMapIt | begin () |
Returns an iterator to the first element of the collection. More... | |
Collection::TObjPtrMapConstIt | begin () const |
Returns an constant iterator to the first element of the collection. More... | |
Collection::TObjPtrMapIt | end () |
Returns an iterator to the after last element of the collection. More... | |
Collection::TObjPtrMapConstIt | end () const |
Returns an constant iterator to the after last element of the collection. More... | |
std::shared_ptr< Elem > | Create (Key const &p_name, Parameters &&... p_params) |
Creates an object. More... | |
Protected Member Functions | |
ObjectManager (Scene &p_owner, SceneNodeSPtr p_rootNode, SceneNodeSPtr p_rootCameraNode, SceneNodeSPtr p_rootObjectNode) | |
Constructor. More... | |
~ObjectManager () | |
Destructor. More... | |
Protected Member Functions inherited from Castor3D::Manager< Key, Elem, Scene, ObjectManagerEngineGetter > | |
Manager (Scene &p_owner) | |
Constructor. More... | |
~Manager () | |
Destructor. More... | |
Protected Attributes | |
SceneNodeWPtr | m_rootNode |
The root node. More... | |
SceneNodeWPtr | m_rootCameraNode |
The root node used only for cameras (used to ease the use of cameras) More... | |
SceneNodeWPtr | m_rootObjectNode |
The root node for every object other than camera (used to ease the use of cameras) More... | |
Protected Attributes inherited from Castor3D::Manager< Key, Elem, Scene, ObjectManagerEngineGetter > | |
RenderSystem * | m_renderSystem |
The RenderSystem. More... | |
Collection | m_elements |
The elements collection. More... | |
Additional Inherited Members | |
Public Types inherited from Castor3D::Manager< Key, Elem, Scene, ObjectManagerEngineGetter > | |
typedef Castor::Collection< Elem, Key > | Collection |
Base class for a scene element manager.
|
inlineprotected |
Constructor.
[in] | p_owner | The owner. |
[in] | p_rootNode | The root node. |
[in] | p_rootCameraNode | The cameras root node. |
[in] | p_rootObjectNode | The objects root node. |
|
inlineprotected |
Destructor.
|
inline |
Sets all the elements to be cleaned up.
|
inline |
Creates an object.
[in] | p_name | The object name. |
[in] | p_parent | The parent scene node. |
[in] | p_params | The other constructor parameters. |
|
inline |
|
inline |
|
inline |
[out] | p_destination | The destination manager. |
|
inline |
Removes an object, given a name.
[in] | p_name | The object name. |
|
protected |
The root node used only for cameras (used to ease the use of cameras)
Referenced by Castor3D::ObjectManager< Castor::String, AnimatedObjectGroup >::Create(), and Castor3D::ObjectManager< Castor::String, AnimatedObjectGroup >::MergeInto().
|
protected |
The root node.
Referenced by Castor3D::ObjectManager< Castor::String, AnimatedObjectGroup >::Create().
|
protected |
The root node for every object other than camera (used to ease the use of cameras)
Referenced by Castor3D::ObjectManager< Castor::String, AnimatedObjectGroup >::Create(), and Castor3D::ObjectManager< Castor::String, AnimatedObjectGroup >::MergeInto().