Castor3D 0.12.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | List of all members
castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits > Class Reference

Geometry cache. More...

#include <GeometryCache.hpp>

Inheritance diagram for castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >:
Collaboration graph
[legend]

Classes

struct  PoolsEntry
 

Public Types

using ElementT = Geometry
 
using ElementKeyT = castor::String
 
using ElementCacheTraitsT = GeometryCacheTraits
 
using ElementObjectCacheT = ObjectCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT >
 
using ElementPtrT = typename ElementObjectCacheT::ElementPtrT
 
using ElementContT = typename ElementObjectCacheT::ElementContT
 
using ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT
 
using ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT
 
using ElementMergerT = typename ElementObjectCacheT::ElementMergerT
 
using ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT
 
using ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT
 
- Public Types inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
using OnChangedFunction = std::function< void() >
 
using OnChanged = castor::SignalT< OnChangedFunction >
 

Public Member Functions

C3D_API ObjectCacheT (Scene &scene, SceneNodeSPtr rootNode, SceneNodeSPtr rootCameraNode, SceneNodeSPtr rootObjectNode)
 Constructor. More...
 
C3D_API ~ObjectCacheT ()=default
 Destructor. More...
 
C3D_API void fillInfo (RenderInfo &info) const
 
C3D_API void add (ElementPtrT element)
 Adds an object. More...
 
- Public Member Functions inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
void mergeInto (ElementObjectCacheT &destination)
 Merges this cache's elements to the one given. More...
 
EnginegetEngine () const
 
castor::String const & getObjectTypeName () const
 

Additional Inherited Members

- Public Attributes inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
OnChanged onChanged
 
- Protected Types inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
using ElementT = Geometry
 
using ElementKeyT = castor::String
 
using ElementCacheTraitsT = GeometryCacheTraits
 
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 inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
 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 inherited from castor3d::ObjectCacheBaseT< Geometry, castor::String, GeometryCacheTraits >
Enginem_engine
 
SceneNodeWPtr m_rootNode
 
SceneNodeWPtr m_rootCameraNode
 
SceneNodeWPtr m_rootObjectNode
 
ElementMergerT m_merge
 
ElementAttacherT m_attach
 
ElementDetacherT m_detach
 

Detailed Description

Geometry cache.

Member Typedef Documentation

◆ ElementAttacherT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementAttacherT = typename ElementObjectCacheT::ElementAttacherT

◆ ElementCacheTraitsT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementCacheTraitsT = GeometryCacheTraits

◆ ElementCleanerT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementCleanerT = typename ElementObjectCacheT::ElementCleanerT

◆ ElementContT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementContT = typename ElementObjectCacheT::ElementContT

◆ ElementDetacherT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementDetacherT = typename ElementObjectCacheT::ElementDetacherT

◆ ElementInitialiserT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementInitialiserT = typename ElementObjectCacheT::ElementInitialiserT

◆ ElementKeyT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementKeyT = castor::String

◆ ElementMergerT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementMergerT = typename ElementObjectCacheT::ElementMergerT

◆ ElementObjectCacheT

◆ ElementPtrT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementPtrT = typename ElementObjectCacheT::ElementPtrT

◆ ElementT

using castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ElementT = Geometry

Constructor & Destructor Documentation

◆ ObjectCacheT()

C3D_API castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::ObjectCacheT ( Scene scene,
SceneNodeSPtr  rootNode,
SceneNodeSPtr  rootCameraNode,
SceneNodeSPtr  rootObjectNode 
)

Constructor.

Parameters
[in]sceneThe scene.
[in]rootNodeThe root node.
[in]rootCameraNodeThe cameras root node.
[in]rootObjectNodeThe objects root node.

◆ ~ObjectCacheT()

Destructor.

Member Function Documentation

◆ add()

C3D_API void castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::add ( ElementPtrT  element)

Adds an object.

Parameters
[in]elementThe object.

◆ fillInfo()

C3D_API void castor3d::ObjectCacheT< Geometry, castor::String, GeometryCacheTraits >::fillInfo ( RenderInfo info) const

The documentation for this class was generated from the following file: