Castor3D 0.16.0
Multiplatform 3D engine
|
AnimatedObjectGroup cache. More...
#include <AnimatedObjectGroupCache.hpp>
Classes | |
struct | MeshPoolsEntry |
struct | SkeletonPoolsEntry |
Public Types | |
using | ElementT = castor3d::AnimatedObjectGroup |
using | ElementKeyT = String |
using | ElementCacheTraitsT = castor3d::AnimatedObjectGroupCacheTraits |
using | ElementCacheT = ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using | ElementPtrT = typename ElementCacheT::ElementPtrT |
using | ElementObsT = typename ElementCacheT::ElementObsT |
using | ElementContT = typename ElementCacheT::ElementContT |
using | ElementInitialiserT = typename ElementCacheT::ElementInitialiserT |
using | ElementCleanerT = typename ElementCacheT::ElementCleanerT |
using | ElementMergerT = typename ElementCacheT::ElementMergerT |
Public Types inherited from castor::ResourceCacheBaseT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits > | |
using | ElementT |
using | ElementKeyT |
using | ElementCacheTraitsT |
using | ElementCacheBaseT |
using | ElementCacheT |
using | ElementPtrT |
using | ElementObsT |
using | ElementContT |
using | ElementInitialiserT |
using | ElementCleanerT |
using | ElementMergerT |
Public Member Functions | |
C3D_API | ResourceCacheT (castor3d::Scene &scene) |
Constructor. | |
C3D_API | ~ResourceCacheT () noexcept override |
Destructor. | |
C3D_API void | initialise (castor3d::RenderDevice const &device) |
Initialises the cache buffers. | |
C3D_API void | cleanup () |
Sets all the elements to be cleaned up. | |
C3D_API void | update (castor3d::CpuUpdater &updater) |
Updates the render pass, CPU wise. | |
C3D_API void | clear (castor3d::RenderDevice const &device) |
Flushes the collection. | |
C3D_API castor::Vector< castor3d::AnimatedObject * > | findObject (castor::String const &name) const |
castor3d::GpuBufferOffsetT< castor3d::MorphingWeightsConfiguration > const & | getMorphingWeights () const |
castor3d::GpuBufferOffsetT< castor3d::SkinningTransformsConfiguration > const & | getSkinningTransformsBuffer () const |
Public Member Functions inherited from castor::OwnedBy< castor3d::Scene > | |
castor3d::Scene * | getOwner () const |
Public Member Functions inherited from castor::ResourceCacheBaseT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits > | |
ResourceCacheBaseT (ResourceCacheBaseT const &)=delete | |
ResourceCacheBaseT (ResourceCacheBaseT &&) noexcept=delete | |
ResourceCacheBaseT & | operator= (ResourceCacheBaseT const &)=delete |
ResourceCacheBaseT & | operator= (ResourceCacheBaseT &&) noexcept=delete |
void | cleanup () noexcept |
Sets all the elements to be cleaned up. | |
void | clear () noexcept |
Flushes the collection. | |
ElementPtrT | create (ElementKeyT const &name, ParametersT &&... parameters) const |
Creates an element. | |
ElementObsT | tryAdd (ElementKeyT const &name, ElementPtrT &element, bool initialise=false) |
Adds an element. | |
ElementObsT | tryAdd (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
Add an element, constructed in-place. | |
ElementObsT | tryAddNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=false) |
Adds an element. | |
ElementObsT | tryAddNoLock (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
Add an element, constructed in-place. | |
ElementObsT | add (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
Logging version of tryAdd. | |
ElementObsT | add (ElementKeyT const &name, ParametersT &&... parameters) |
Logging version of tryAdd. | |
ElementObsT | addNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
Logging version of tryAdd. | |
ElementObsT | addNoLock (ElementKeyT const &name, ParametersT &&... parameters) |
Logging version of tryAdd. | |
ElementPtrT | tryRemove (ElementKeyT const &name, bool cleanup=false) noexcept |
Removes an element, given a name. | |
ElementPtrT | tryRemoveNoLock (ElementKeyT const &name, bool cleanup=false) noexcept |
Removes an element, given a name. | |
ElementPtrT | remove (ElementKeyT const &name, bool cleanup=false) noexcept |
Logging version of tryRemove. | |
ElementPtrT | removeNoLock (ElementKeyT const &name, bool cleanup=false) noexcept |
Logging version of tryRemove. | |
void | rename (ElementKeyT const &oldName, ElementKeyT const &newName) |
Renames a resource. | |
ElementObsT | tryFind (ElementKeyT const &name) const noexcept |
Looks for an element with given name. | |
ElementObsT | tryFindNoLock (ElementKeyT const &name) const noexcept |
Looks for an element with given name. | |
ElementObsT | find (ElementKeyT const &name) const |
Logging version of tryRemove. | |
ElementObsT | findNoLock (ElementKeyT const &name) const |
Logging version of tryRemove. | |
void | mergeInto (ElementCacheBaseT &destination) |
Merges this cache's elements to the one given. | |
void | forEach (FuncType func) const |
void | forEach (FuncType func) |
uint32_t | getObjectCount () const noexcept |
uint32_t | getObjectCountNoLock () const noexcept |
String const & | getObjectTypeName () const noexcept |
bool | has (ElementKeyT const &name) const noexcept |
bool | hasNoLock (ElementKeyT const &name) const noexcept |
bool | isEmpty () const noexcept |
bool | isEmptyNoLock () const noexcept |
void | lock () const |
void | unlock () const noexcept |
auto | begin () noexcept |
auto | begin () const noexcept |
auto | end () noexcept |
auto | end () const noexcept |
void | reportCreation (String const &name) const |
void | reportAdded (String const &name) const |
void | reportDuplicate (String const &name) const |
void | reportNull () const |
void | reportUnknown (String const &name) const |
AnimatedObjectGroup cache.
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementCacheT = ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementCacheTraitsT = castor3d::AnimatedObjectGroupCacheTraits |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementCleanerT = typename ElementCacheT::ElementCleanerT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementContT = typename ElementCacheT::ElementContT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementInitialiserT = typename ElementCacheT::ElementInitialiserT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementKeyT = String |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementMergerT = typename ElementCacheT::ElementMergerT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementObsT = typename ElementCacheT::ElementObsT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementPtrT = typename ElementCacheT::ElementPtrT |
using castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::ElementT = castor3d::AnimatedObjectGroup |
|
explicit |
Constructor.
[in] | scene | The parent scene. |
|
overridenoexcept |
Destructor.
C3D_API void castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::cleanup | ( | ) |
Sets all the elements to be cleaned up.
C3D_API void castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::clear | ( | castor3d::RenderDevice const & | device | ) |
Flushes the collection.
[in] | device | The GPU device. |
C3D_API castor::Vector< castor3d::AnimatedObject * > castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::findObject | ( | castor::String const & | name | ) | const |
|
inline |
|
inline |
C3D_API void castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::initialise | ( | castor3d::RenderDevice const & | device | ) |
Initialises the cache buffers.
C3D_API void castor::ResourceCacheT< castor3d::AnimatedObjectGroup, String, castor3d::AnimatedObjectGroupCacheTraits >::update | ( | castor3d::CpuUpdater & | updater | ) |
Updates the render pass, CPU wise.
[in,out] | updater | The update data. |