2024-02-05 22:25:30 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ehs/EHS.h"
|
|
|
|
#include "ehs/Array.h"
|
|
|
|
#include "KeyFrame.h"
|
|
|
|
|
|
|
|
namespace ehs
|
|
|
|
{
|
2024-07-24 01:36:20 -07:00
|
|
|
class EHS_LIB_IO AnimBone
|
2024-02-05 22:25:30 -08:00
|
|
|
{
|
|
|
|
private:
|
|
|
|
UInt_8 boneId;
|
|
|
|
Array<KeyFrame> keyFrames;
|
|
|
|
|
|
|
|
public:
|
|
|
|
AnimBone();
|
|
|
|
|
|
|
|
AnimBone(const UInt_8 boneId);
|
|
|
|
|
|
|
|
AnimBone(const UInt_8 boneId, const UInt_64 size);
|
|
|
|
|
|
|
|
AnimBone(const UInt_8 boneId, Array<KeyFrame> keyFrames);
|
|
|
|
|
|
|
|
AnimBone(AnimBone&& anim) noexcept;
|
|
|
|
|
|
|
|
AnimBone(const AnimBone& anim);
|
|
|
|
|
|
|
|
AnimBone& operator=(AnimBone&& anim) noexcept;
|
|
|
|
|
|
|
|
AnimBone& operator=(const AnimBone& anim);
|
|
|
|
|
|
|
|
UInt_8 GetBoneId() const;
|
|
|
|
|
|
|
|
Array<KeyFrame> GetKeyFrames() const;
|
|
|
|
|
|
|
|
Array<KeyFrame>& GetKeyFrames();
|
|
|
|
|
|
|
|
float GetPrevAndNext(KeyFrame& prev, KeyFrame& next, const float elapsed) const;
|
|
|
|
};
|
|
|
|
}
|