X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Farmature.cpp;h=6e921e3f8e9ea95246b8dae655ba54f701d0689d;hp=d7a944ede7dbce5ce4dd316572dc7513d790db15;hb=HEAD;hpb=9abfb801dbceb59272f6561731d066ed516340e5 diff --git a/source/armature.cpp b/source/armature.cpp deleted file mode 100644 index d7a944ed..00000000 --- a/source/armature.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "armature.h" - -using namespace std; - -namespace Msp { -namespace GL { - -Armature::Link &Armature::add_link() -{ - links.push_back(Link(string(), links.size())); - return links.back(); -} - -const Armature::Link &Armature::get_link(unsigned index) const -{ - for(list::const_iterator i=links.begin(); i!=links.end(); ++i) - if(i->get_index()==index) - return *i; - throw invalid_argument("Armature::get_link"); -} - -const Armature::Link &Armature::get_link(const string &name) const -{ - for(list::const_iterator i=links.begin(); i!=links.end(); ++i) - if(i->get_name()==name) - return *i; - throw invalid_argument("Armature::get_link"); -} - -unsigned Armature::get_max_link_index() const -{ - unsigned max_index = 0; - for(list::const_iterator i=links.begin(); i!=links.end(); ++i) - max_index = max(max_index, i->get_index()); - return max_index; -} - - -Armature::Link::Link(const string &n, unsigned i): - name(n), - index(i), - parent(0) -{ } - -void Armature::Link::set_parent(const Link *p) -{ - parent = p; -} - -void Armature::Link::set_base(const Vector3 &b) -{ - base = b; -} - - -Armature::Loader::Loader(Armature &a): - DataFile::ObjectLoader(a) -{ - add("link", &Loader::link); -} - -void Armature::Loader::link(const string &n) -{ - Link lnk(n, obj.links.size()); - load_sub(lnk, obj); - obj.links.push_back(lnk); -} - - -Armature::Link::Loader::Loader(Link &l, const Armature &a): - DataFile::ObjectLoader(l), - armature(a) -{ - add("base", &Loader::base); - add("index", &Link::index); - add("parent", &Loader::parent); -} - -void Armature::Link::Loader::base(float x, float y, float z) -{ - obj.base = Vector3(x, y, z); -} - -void Armature::Link::Loader::parent(const string &n) -{ - obj.parent = &armature.get_link(n); -} - -} // namespace GL -} // namespace Msp