X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fkeyframe.h;h=5b748add113c5432c0d3c5836e6fceaf4db8b590;hb=refs%2Fheads%2Fmaster;hp=88e852149570cae1d6e32968a60d73ed9cd6a5b5;hpb=9e384cddaf641f25ce6714327e1b4fadfea4632d;p=libs%2Fgl.git diff --git a/source/keyframe.h b/source/keyframe.h deleted file mode 100644 index 88e85214..00000000 --- a/source/keyframe.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef MSP_GL_KEYFRAME_H_ -#define MSP_GL_KEYFRAME_H_ - -#include -#include -#include "matrix.h" - -namespace Msp { -namespace GL { - -class Pose; - -/** -Keyframes are used to encapsulate object state for animation. -*/ -class KeyFrame -{ -public: - class Loader: public DataFile::CollectionObjectLoader - { - public: - Loader(KeyFrame &); - Loader(KeyFrame &, Collection &); - private: - void init(); - - void pose(const std::string &); - void pose_inline(); - void position(float, float, float); - void rotation(float, float, float, float); - void scaling_uniform(float); - void scaling(float, float, float); - void transform(); - void uniforms(); - }; - - class UniformsLoader: public DataFile::ObjectLoader - { - public: - UniformsLoader(KeyFrame &); - - private: - void uniform1f(const std::string &, float); - void uniform2f(const std::string &, float, float); - void uniform3f(const std::string &, float, float, float); - void uniform4f(const std::string &, float, float, float, float); - }; - - struct AnimatedUniform - { - unsigned size; - float values[4]; - - AnimatedUniform(unsigned, float, float = 0.0f, float = 0.0f, float = 0.0f); - }; - - typedef std::map UniformMap; - -private: - Matrix matrix; - UniformMap uniforms; - RefPtr pose; - -public: - KeyFrame(); - ~KeyFrame(); - - void set_matrix(const Matrix &); - void set_pose(const Pose &); - const Matrix &get_matrix() const { return matrix; } - const UniformMap &get_uniforms() const { return uniforms; } - const Pose *get_pose() const { return pose.get(); } -}; - -} // namespace GL -} // namespace Msp - -#endif