]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animation.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / animation.h
diff --git a/source/animation.h b/source/animation.h
deleted file mode 100644 (file)
index 58a7658..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef MSP_GL_ANIMATION_H_
-#define MSP_GL_ANIMATION_H_
-
-#include <msp/core/refptr.h>
-#include <msp/datafile/objectloader.h>
-#include <msp/time/timedelta.h>
-
-namespace Msp {
-namespace GL {
-
-class Armature;
-class KeyFrame;
-class Matrix;
-class Pose;
-
-/**
-An Animation is a sequence of KeyFrames combined with timing information.  The
-state at any point in the animation can be interpolated from the keyframes.
-*/
-class Animation
-{
-public:
-       class Loader: public DataFile::CollectionObjectLoader<Animation>
-       {
-       private:
-               Time::TimeDelta current_time;
-
-       public:
-               Loader(Animation &);
-               Loader(Animation &, Collection &);
-       private:
-               void init();
-
-               void keyframe(const std::string &);
-               void keyframe_inline();
-               void interval(float);
-       };
-
-private:
-       struct AxisInterpolation
-       {
-               float slope;
-               float scale;
-
-               AxisInterpolation();
-               AxisInterpolation(const double *, const double *);
-       };
-
-       struct MatrixInterpolation
-       {
-               const Matrix *matrix1;
-               const Matrix *matrix2;
-               AxisInterpolation axes[3];
-
-               MatrixInterpolation();
-               MatrixInterpolation(const Matrix &, const Matrix &);
-
-               Matrix get(float) const;
-       };
-
-       struct TimedKeyFrame
-       {
-               const Animation &animation;
-               const TimedKeyFrame *prev;
-               Time::TimeDelta time;
-               Time::TimeDelta delta_t;
-               RefPtr<const KeyFrame> keyframe;
-               MatrixInterpolation matrix;
-               std::vector<MatrixInterpolation> pose_matrices;
-
-               TimedKeyFrame(const Animation &);
-               void prepare();
-       };
-
-       typedef std::list<TimedKeyFrame> KeyFrameList;
-
-public:
-       class Iterator
-       {
-       private:
-               const Animation &animation;
-               KeyFrameList::const_iterator iter;
-               Time::TimeDelta time_since_keyframe;
-               bool end;
-
-       public:
-               Iterator(const Animation &);
-
-               Iterator &operator+=(const Time::TimeDelta &);
-
-               bool is_end() const { return end; }
-               Matrix get_matrix() const;
-               Matrix get_pose_matrix(unsigned) const;
-       };
-
-private:
-       const Armature *armature;
-       KeyFrameList keyframes;
-       bool looping;
-
-public:
-       Animation();
-       ~Animation();
-
-       void set_armature(const Armature &);
-       const Armature *get_armature() const { return armature; }
-
-       void add_keyframe(const Time::TimeDelta &, const KeyFrame &);
-private:
-       void prepare_keyframe(TimedKeyFrame &);
-
-public:
-       void set_looping(bool);
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif