]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animatedobject.cpp
Check the flat qualifier from the correct member
[libs/gl.git] / source / animatedobject.cpp
diff --git a/source/animatedobject.cpp b/source/animatedobject.cpp
deleted file mode 100644 (file)
index 4be198a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <algorithm>
-#include <msp/strings/format.h>
-#include "animatedobject.h"
-#include "object.h"
-#include "programdata.h"
-#include "renderer.h"
-#include "technique.h"
-
-using namespace std;
-
-namespace Msp {
-namespace GL {
-
-AnimatedObject::AnimatedObject(const Object &o):
-       ObjectInstance(o),
-       shdata(0)
-{
-       if(const Technique *tech = object.get_technique())
-               if(tech->has_shaders())
-                       shdata = new ProgramData;
-}
-
-AnimatedObject::~AnimatedObject()
-{
-       delete shdata;
-}
-
-void AnimatedObject::set_matrix(const Matrix &m)
-{
-       matrix = m;
-}
-
-void AnimatedObject::set_pose_matrix(unsigned link, const Matrix &m)
-{
-       if(shdata)
-       {
-               if(link*16>=pose_data.size())
-                       pose_data.resize((link+1)*16);
-               copy(m.data(), m.data()+16, &pose_data[link*16]);
-               shdata->uniform_matrix4_array("pose[0]", pose_data.size()/16, &pose_data[0]);
-       }
-}
-
-void AnimatedObject::setup_render(Renderer &renderer, const Tag &) const
-{
-       renderer.matrix_stack() *= matrix;
-       if(shdata)
-               renderer.add_shader_data(*shdata);
-}
-
-
-AnimatedObject::Loader::Loader(AnimatedObject &o):
-       DataFile::ObjectLoader<AnimatedObject>(o)
-{
-       add("position", &Loader::position);
-       add("rotation", &Loader::rotation);
-       add("scale", &Loader::scale);
-       add("scale", &Loader::scale_uniform);
-}
-
-void AnimatedObject::Loader::position(float x, float y, float z)
-{
-       obj.matrix.translate(x, y, z);
-}
-
-void AnimatedObject::Loader::rotation(float a, float x, float y, float z)
-{
-       obj.matrix.rotate_deg(a, x, y, z);
-}
-
-void AnimatedObject::Loader::scale(float x, float y, float z)
-{
-       obj.matrix.scale(x, y, z);
-}
-
-void AnimatedObject::Loader::scale_uniform(float s)
-{
-       obj.matrix.scale(s);
-}
-
-} // namespace GL
-} // namespace Msp