46 lines
765 B
C++
46 lines
765 B
C++
#pragma once
|
|
|
|
|
|
struct KeyFrameTarget
|
|
{
|
|
enum Enumeration
|
|
{
|
|
Position,
|
|
Rotation,
|
|
Scale
|
|
};
|
|
};
|
|
|
|
|
|
struct KeyFrame
|
|
{
|
|
KeyFrame()
|
|
: m_Target(KeyFrameTarget::Position)
|
|
, m_Time(0.0f)
|
|
{}
|
|
|
|
KeyFrame(KeyFrameTarget::Enumeration argTarget, const D3DXVECTOR3& argValue, float argTime)
|
|
: m_Target(argTarget)
|
|
, m_Value(argValue)
|
|
, m_Time(argTime)
|
|
{}
|
|
|
|
KeyFrameTarget::Enumeration m_Target;
|
|
D3DXVECTOR3 m_Value;
|
|
float m_Time;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) ITransformationAnimation
|
|
{
|
|
virtual ~ITransformationAnimation() {};
|
|
|
|
//virtual std::wstring get_Name() const = 0;
|
|
|
|
virtual void AddKeyFrame(const KeyFrame& argKeyFrame) = 0;
|
|
virtual float get_Duration() const = 0;
|
|
|
|
virtual D3DXMATRIX GetTransformationAtTime(float argT) = 0; // [0.0] - [1.0]
|
|
};
|
|
|