![]() |
Castor3D 0.12.0
Multiplatform 3D engine
|
#include <ObjectCacheBase.hpp>


Public Types | |
| using | OnChangedFunction = std::function< void() > |
| using | OnChanged = castor::SignalT< OnChangedFunction > |
Public Member Functions | |
| void | mergeInto (ElementObjectCacheT &destination) |
| Merges this cache's elements to the one given. More... | |
| Engine * | getEngine () const |
| castor::String const & | getObjectTypeName () const |
Public Attributes | |
| OnChanged | onChanged |
Protected Types | |
| using | ElementT = ObjT |
| using | ElementKeyT = KeyT |
| using | ElementCacheTraitsT = TraitsT |
| using | ElementCacheT = castor::ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
| using | ElementCacheBaseT = ElementCacheT |
| using | ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
| using | ElementPtrT = ObjectPtrT< ElementT, ElementKeyT > |
| using | ElementObsT = ObjectObsT< ElementT, ElementKeyT > |
| using | ElementContT = ObjectContT< ElementT, ElementKeyT > |
| using | ElementInitialiserT = ObjectInitialiserT< ElementT, ElementKeyT > |
| using | ElementCleanerT = ObjectCleanerT< ElementT, ElementKeyT > |
| using | ElementMergerT = ObjectMergerT< ElementT, ElementKeyT > |
| using | ElementAttacherT = ObjectAttacherT< ElementT, ElementKeyT > |
| using | ElementDetacherT = ObjectDetacherT< ElementT, ElementKeyT > |
Protected Member Functions | |
| ObjectCacheBaseT (Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode, ElementInitialiserT initialise=ElementInitialiserT{}, ElementCleanerT clean=ElementCleanerT{}, ElementMergerT merge=ElementMergerT{}, ElementAttacherT attach=ElementAttacherT{}, ElementDetacherT detach=ElementDetacherT{}) | |
| Constructor. More... | |
| ~ObjectCacheBaseT () | |
| Destructor. More... | |
Protected Attributes | |
| Engine & | m_engine |
| SceneNodeWPtr | m_rootNode |
| SceneNodeWPtr | m_rootCameraNode |
| SceneNodeWPtr | m_rootObjectNode |
| ElementMergerT | m_merge |
| ElementAttacherT | m_attach |
| ElementDetacherT | m_detach |
Friends | |
| class | Scene |
Base class for a scene element cache.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| using castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::OnChanged = castor::SignalT< OnChangedFunction > |
| using castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::OnChangedFunction = std::function< void() > |
|
inlineprotected |
Constructor.
| [in] | scene | The scene. |
| [in] | rootNode | The root node. |
| [in] | rootCameraNode | The cameras root node. |
| [in] | rootObjectNode | The objects root node. |
| [in] | initialise | The element initialiser. |
| [in] | clean | The element cleaner. |
| [in] | merge | The element collection merger. |
| [in] | attach | The element attacher (to a scene node). |
| [in] | detach | The element detacher (from a scene node). |
|
inlineprotected |
Destructor.
|
inline |
References castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::m_engine.
|
inline |
|
inline |
Merges this cache's elements to the one given.
| [out] | destination | The destination cache. |
References castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::m_merge, castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::m_rootCameraNode, castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::m_rootObjectNode, and castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::onChanged.
|
friend |
|
protected |
The object attacher.
|
protected |
The object detacher.
|
protected |
The engine.
Referenced by castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::getEngine().
|
protected |
The object attacher.
Referenced by castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::mergeInto().
|
protected |
The root node used only for cameras.
Referenced by castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::mergeInto().
|
protected |
The root node.
|
protected |
The root node for every object other than camera.
Referenced by castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::mergeInto().
| OnChanged castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::onChanged |
The signal emitted when the content has changed.
Referenced by castor3d::ObjectCacheBaseT< ObjT, KeyT, TraitsT >::mergeInto().