#ifndef CANIMATION_H #define CANIMATION_H #include "CResource.h" #include #include #include class CAnimation : public CResource { DECLARE_RESOURCE_TYPE(eAnimation) friend class CAnimationLoader; typedef std::vector TRotationChannel; typedef std::vector TTranslationChannel; float mDuration; float mTickInterval; u32 mNumKeys; std::vector mRotationChannels; std::vector mTranslationChannels; struct SBoneChannelInfo { u8 RotationChannelIdx; u8 TranslationChannelIdx; }; SBoneChannelInfo mBoneInfo[100]; public: CAnimation(); void EvaluateTransform(float Time, u32 BoneID, CTransform4f& rOut) const; bool HasTranslation(u32 BoneID) const; }; #endif // CANIMATION_H