Files
BlitzNext/Runtime/blitz3d/animation.hpp
T

31 lines
622 B
C++
Raw Normal View History

2019-01-18 21:26:42 +01:00
#pragma once
2019-01-18 15:55:06 +01:00
#include "geom.hpp"
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
class Animation {
public:
2014-01-31 08:23:00 +13:00
Animation();
2019-01-18 17:04:17 +01:00
Animation(const Animation& t);
Animation(const Animation& t, int first, int last);
2014-01-31 08:23:00 +13:00
~Animation();
2019-01-18 17:04:17 +01:00
Animation& operator=(const Animation& t);
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
void setScaleKey(int frame, const Vector& q);
void setPositionKey(int frame, const Vector& p);
void setRotationKey(int frame, const Quat& q);
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
int numScaleKeys() const;
int numRotationKeys() const;
int numPositionKeys() const;
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
Vector getScale(float time) const;
Vector getPosition(float time) const;
Quat getRotation(float time) const;
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
private:
2014-01-31 08:23:00 +13:00
struct Rep;
2019-01-18 17:04:17 +01:00
Rep* rep;
2014-01-31 08:23:00 +13:00
2019-01-18 17:04:17 +01:00
Rep* write();
2014-01-31 08:23:00 +13:00
};