![]() |
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().