Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Assets::AnimationAssetManager Class Reference

Stores animation clips keyed by their source mesh path. More...

#include <AnimationAsset.h>

Inheritance diagram for Engine::Assets::AnimationAssetManager:
Collaboration diagram for Engine::Assets::AnimationAssetManager:

Public Member Functions

 AnimationAssetManager ()=default
 Creates an empty animation asset manager.
Public Member Functions inherited from Asset::AssetManager< Asset::MeshPath, Animation >
 AssetManager ()=default
 Creates an empty asset manager.
virtual ~AssetManager ()=default
 Destroys the manager object.
void declare (Asset::MeshPath path, Args &&... args)
 Adds an asset to the list in its unloaded state.
void add (Asset::MeshPath path, Animation *asset)
 Adds or overwrites a previously declared asset at a key.
RefType getOrCreateRef (const Asset::MeshPath &path)
 Gets a stable asset reference, creating a record if necessary.
RefType getRef (const Asset::MeshPath &path) const
 Gets a stable asset reference if a record exists, otherwise an expired ref.
void setAssetLoadingState (const Asset::MeshPath &path, LoadState state)
 Sets the record loading state without requiring a payload object.
void resolve (const Asset::MeshPath &path, std::unique_ptr< Animation > asset)
 Stores a loaded payload and resolves the record's ready future.
void fail (const Asset::MeshPath &path, std::string error)
 Marks the record as failed and resolves the ready future with an error.
void unloadAssetPayload (const Asset::MeshPath &path)
 Drops the loaded payload while preserving the stable record.
bool exists (Asset::MeshPath path)
 Checks if an asset already exists. This means it is declared and there is content.
bool isDeclared (Asset::MeshPath path)
 Checks if an asset has been declared. If it exists it is also declared.
CpuLoadingState getAssetLoadingState (const Asset::MeshPath &path)
 Gets a loading state for an asset. If the asset is not yet declared it will return that it is UNLOADED.
std::optional< Animation * > getAsset (const Asset::MeshPath &path)
 Try's to get an asset. If the asset does not exist (can be checked with exists) it will return a std::nullopt.
virtual void clear ()
 Clears out all resources.
void forEachAsset (Func &&func) const
 Iterates over all assets and calls the provided callback for each.

Additional Inherited Members

Public Types inherited from Asset::AssetManager< Asset::MeshPath, Animation >
using RefType
 Stable reference type returned by this manager.
using RecordType
 Internal record type stored by this manager.
using ResultType
 Completion result type for async loads.

Detailed Description

Stores animation clips keyed by their source mesh path.

Animation clips are imported from model files and share the same path key as the glTF source that declared them. The manager keeps clip payloads and loading state behind stable asset references.

Definition at line 125 of file AnimationAsset.h.

Constructor & Destructor Documentation

◆ AnimationAssetManager()

Engine::Assets::AnimationAssetManager::AnimationAssetManager ( )
default

Creates an empty animation asset manager.


The documentation for this class was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Animation/AnimationAsset.h