using SlimDX; namespace Aiwaz.Contracts { public enum KeyFrameTarget { Position = 0, Rotation, Scale } public struct KeyFrame { KeyFrame(KeyFrameTarget argTarget, Vector3 argValue, float argTime) { Target = argTarget; Value = argValue; Time = argTime; } KeyFrameTarget Target; Vector3 Value; float Time; } public interface ITransformationAnimation { float Duration { get; } void AddKeyFrame(KeyFrame argKeyFrame); Matrix GetTransformationAtTime(float argT); // [0.0] - [1.0] }; }