ACE3/extensions/common/p3d/skeleton.hpp

36 lines
964 B
C++

#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;
};
};