1 2 3 #include "toonz/ikskeleton.h" 4 computeSkeleton(IKNode * node)5void IKSkeleton::computeSkeleton(IKNode *node) { 6 for (int i = 0; i < (int)m_nodes.size(); i++) { 7 m_nodes[i]->computeS(); 8 } 9 } 10 compute(void)11void IKSkeleton::compute(void) { 12 IKNode *root = this->getRoot(); 13 computeSkeleton(root); 14 } 15 setPurpose(int nodeIndex,IKNode::Purpose purpose)16void IKSkeleton::setPurpose(int nodeIndex, IKNode::Purpose purpose) { 17 switch (purpose) { 18 case IKNode::JOINT: 19 m_nodes[nodeIndex]->setPurpose(purpose); 20 break; 21 case IKNode::EFFECTOR: 22 if (m_nodes[nodeIndex]->getPurpose() != IKNode::EFFECTOR) { 23 m_nodes[nodeIndex]->setPurpose(purpose); 24 m_nodes[nodeIndex]->setSeqNumEffector(numEffector); 25 numEffector++; 26 } 27 break; 28 } 29 } 30 31 //======================================================================== 32