X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fanimatedobject.h;h=4782951d10fb9207a77e26a6d32cff367a27c3db;hb=de5d710b87879d6a0b06407da096ec505f8b7679;hp=3f8487ba323768e51b292550abf5296579c16b53;hpb=7c1315191bc96298d1664f80fa3e2cb5a34339fa;p=libs%2Fgl.git diff --git a/source/animatedobject.h b/source/animatedobject.h index 3f8487ba..4782951d 100644 --- a/source/animatedobject.h +++ b/source/animatedobject.h @@ -2,6 +2,7 @@ #define MSP_GL_ANIMATEDOBJECT_H_ #include +#include #include "matrix.h" #include "objectinstance.h" @@ -14,6 +15,19 @@ useful for displaying objects at a static position. */ class AnimatedObject: public ObjectInstance { +public: + class Loader: public DataFile::ObjectLoader + { + public: + Loader(AnimatedObject &); + + private: + void position(float, float, float); + void rotation(float, float, float, float); + void scale(float, float, float); + void scale_uniform(float); + }; + private: Matrix matrix; std::vector pose_data; @@ -21,10 +35,13 @@ private: public: AnimatedObject(const Object &); + ~AnimatedObject(); void set_matrix(const Matrix &); void set_pose_matrix(unsigned, const Matrix &); + virtual const Matrix *get_matrix() const { return &matrix; } + virtual void setup_render(Renderer &, const Tag &) const; };