Joint & Model
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user