42class Bone :
public eastl::enable_shared_from_this<Bone> {
55 explicit Bone(
const string& name)
71 size += child->hierarchyDepth();
82 if (
_ID(_name.c_str()) == nameKey) {
87 Bone* childNode = child->
find(nameKey);
88 if (childNode !=
nullptr) {
97 boneList.push_back(
this);
99 child->createBoneList(boneList);
size_t hierarchyDepth() const
Bone * find(const string &name)
PROPERTY_RW(string, name)
PROPERTY_RW(mat4< F32 >, originalLocalTransform)
PROPERTY_RW(I32, boneID, -1)
PROPERTY_RW(mat4< F32 >, localTransform)
Bone * find(const U64 nameKey)
PROPERTY_RW(mat4< F32 >, offsetMatrix)
PROPERTY_RW(mat4< F32 >, globalTransform)
void createBoneList(vector< Bone * > &boneList)
vector< Bone * > _children
Handle console commands that start with a forward slash.
eastl::vector< Type > vector
constexpr U64 _ID(const char *const str, const U64 value=val_64_const) noexcept