Transform Timeline::buildTransform(BoneRef* boneRef, int key) const { Bone* bone = m_owner->getBone(boneRef->getTimeline(), boneRef->getKey()); Transform boneTransform(bone->getX(), bone->getY(), bone->getAngle(), bone->getScaleX(), bone->getScaleY()); if(boneRef->getParent() != -1) { BoneRef* parent = m_owner->getBoneReference(boneRef->getParent(), key); Transform parentTransform = buildTransform(parent, key); boneTransform.apply_parent_transform(parentTransform); } return boneTransform; }