2016-05-30 16:37:03 +00:00
|
|
|
#pragma once
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "shared.hpp"
|
|
|
|
|
|
|
|
|
|
|
|
namespace ace {
|
|
|
|
namespace p3d {
|
|
|
|
class bone {
|
|
|
|
public:
|
|
|
|
bone() : name(""), parent("") {}
|
|
|
|
bone(const std::string & name_, const std::string & parent_)
|
|
|
|
: name(name_), parent(parent_) {
|
|
|
|
}
|
|
|
|
std::string name;
|
|
|
|
std::string parent;
|
|
|
|
std::vector<std::string> children;
|
|
|
|
std::vector<uint32_t> animations;
|
|
|
|
};
|
|
|
|
typedef std::shared_ptr<bone> bone_p;
|
|
|
|
|
|
|
|
class skeleton {
|
|
|
|
public:
|
|
|
|
skeleton();
|
|
|
|
skeleton(std::istream &, const uint32_t lod_count);
|
|
|
|
~skeleton();
|
|
|
|
|
|
|
|
std::string name;
|
|
|
|
bool inherited;
|
|
|
|
uint32_t size;
|
|
|
|
std::map<std::string, bone_p> root_bones;
|
|
|
|
std::vector<bone_p> all_bones;
|
|
|
|
};
|
|
|
|
typedef std::shared_ptr<skeleton> skeleton_p;
|
|
|
|
}
|
|
|
|
}
|