16#ifndef AEONGAMES_SKELETON_H
17#define AEONGAMES_SKELETON_H
22#include "aeongames/Resource.hpp"
52 Joint* mParent =
nullptr;
64 DLL
void LoadFromMemory (
const void* aBuffer,
size_t aBufferSize )
final;
Stores skeletal animation data including keyframes and bone transforms.
Base class for loadable engine resources.
A single joint within a skeleton hierarchy.
Joint(Joint *aParent, const Transform &aTransform, const Transform &aInvertedTransform, const std::string &aName)
Construct a joint.
DLL const Transform & GetInvertedTransform() const
Get the inverse bind-pose transform.
DLL const Joint * GetParent() const
Get the parent joint.
DLL const Transform & GetTransform() const
Get the local bind-pose transform.
DLL void LoadFromMemory(const void *aBuffer, size_t aBufferSize) final
Load the skeleton from a memory buffer.
DLL ~Skeleton()
Destructor.
DLL Skeleton()
Construct an empty skeleton.
DLL const std::vector< Joint > & GetJoints() const
Get the joint list.
DLL void LoadFromPBMsg(const SkeletonMsg &aSkeletonMsg)
Load the skeleton from a protobuf message.
DLL void Unload() final
Unload and release skeleton data.
<- This is here just for the literals