]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animatedobject.h
Some fixes to assignment management in UnusedVariableLocator
[libs/gl.git] / source / animatedobject.h
index df0b15ebe04e2f6cc6d91090ba60292c14a66adb..b7f480054275d44148ca714c659af2ad548ce0d2 100644 (file)
@@ -2,6 +2,8 @@
 #define MSP_GL_ANIMATEDOBJECT_H_
 
 #include <vector>
+#include <msp/datafile/objectloader.h>
+#include "keyframe.h"
 #include "matrix.h"
 #include "objectinstance.h"
 
@@ -14,6 +16,19 @@ useful for displaying objects at a static position.
 */
 class AnimatedObject: public ObjectInstance
 {
+public:
+       class Loader: public DataFile::ObjectLoader<AnimatedObject>
+       {
+       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<float> pose_data;
@@ -25,6 +40,9 @@ public:
 
        void set_matrix(const Matrix &);
        void set_pose_matrix(unsigned, const Matrix &);
+       void set_uniform(const std::string &, const KeyFrame::AnimatedUniform &);
+
+       virtual const Matrix *get_matrix() const { return &matrix; }
 
        virtual void setup_render(Renderer &, const Tag &) const;
 };