![]() |
Castor3D 0.17.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 noexcept |
| void | setOwner (castor3d::Scene &owner) noexcept |
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 | tryAddNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=false) |
| Adds an element. | |
| ElementObsT | add (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
| Logging version of tryAdd. | |
| ElementObsT | addNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
| Logging version of tryAdd. | |
| ElementObsT | tryAddNew (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
| Add an element, constructed in-place. | |
| ElementObsT | tryAddNewNoLock (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
| Add an element, constructed in-place. | |
| ElementObsT | addNew (ElementKeyT const &name, ParametersT &&... parameters) |
| Logging version of tryAdd. | |
| ElementObsT | addNewNoLock (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. |