EHS/include/ehs/io/mdl/AnimBone.h

41 lines
722 B
C++

#pragma once
#include "ehs/EHS.h"
#include "ehs/Array.h"
#include "KeyFrame.h"
namespace ehs
{
class EHS_LIB_IO AnimBone
{
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;
};
}