#include "Joint.h" Joint::Joint(int index, Matrix transform) { Joint::index = index; _transform = transform; } Joint::~Joint() { } void Joint::addChild(Joint child) { children.push_back(child); } Matrix Joint::getTransform() { return _transform; } void Joint::setTransform(Matrix transform) { _transform = transform; } Matrix Joint::getInverseBindTransform() { return _inverseBindtransform; } void Joint::calculateInverseBindTransform(Matrix parentBindTransform) { Matrix bindTransform = parentBindTransform * _localBindTransform; _inverseBindtransform = bindTransform.invert(); for (auto &child : children) { child.calculateInverseBindTransform(bindTransform); } }