tahoma2d/toonz/sources/toonzlib/ikskeleton.cpp

32 lines
745 B
C++
Raw Normal View History

2016-03-19 06:57:51 +13:00
#include "toonz/ikskeleton.h"
2016-06-15 18:43:10 +12:00
void IKSkeleton::computeSkeleton(IKNode *node) {
for (int i = 0; i < (int)m_nodes.size(); i++) {
m_nodes[i]->computeS();
}
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void IKSkeleton::compute(void) {
IKNode *root = this->getRoot();
computeSkeleton(root);
2016-03-19 06:57:51 +13:00
}
2016-06-15 18:43:10 +12:00
void IKSkeleton::setPurpose(int nodeIndex, IKNode::Purpose purpose) {
switch (purpose) {
case IKNode::JOINT:
m_nodes[nodeIndex]->setPurpose(purpose);
break;
case IKNode::EFFECTOR:
if (m_nodes[nodeIndex]->getPurpose() != IKNode::EFFECTOR) {
m_nodes[nodeIndex]->setPurpose(purpose);
m_nodes[nodeIndex]->setSeqNumEffector(numEffector);
numEffector++;
}
break;
}
2016-03-19 06:57:51 +13:00
}
//========================================================================