Files
bluflame/aiwaz/Aiwaz/Interfaces/itransformationanimation.h
2026-04-18 22:31:51 +02:00

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]
};