+++ /dev/null
-#ifndef MSP_GL_POSE_H_
-#define MSP_GL_POSE_H_
-
-#include <map>
-#include <msp/datafile/objectloader.h>
-#include "matrix.h"
-
-namespace Msp {
-namespace GL {
-
-class Armature;
-
-class Pose
-{
-public:
- class Loader: public DataFile::CollectionObjectLoader<Pose>
- {
- public:
- Loader(Pose &, Collection &);
- private:
- void armature(const std::string &);
- void link(const std::string &);
- };
-
-private:
- struct Link
- {
- Matrix matrix;
- Matrix local_matrix;
- };
-
- class LinkLoader: public DataFile::ObjectLoader<Pose>
- {
- private:
- unsigned link_index;
-
- public:
- LinkLoader(Pose &, unsigned);
- private:
- void rotation(float, float, float, float);
- };
-
- const Armature *armature;
- std::vector<Link> links;
-
-public:
- Pose();
- Pose(const Armature &);
-
- void set_armature(const Armature &);
- void rotate_link(unsigned, float, const Vector3 &);
- const Matrix &get_link_matrix(unsigned) const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif