//==============================================================================
void ReferentialSkeleton::registerComponent(BodyNode* _bn)
{
  registerBodyNode(_bn);
  registerJoint(_bn->getParentJoint());

  std::size_t nDofs = _bn->getParentJoint()->getNumDofs();
  for(std::size_t i=0; i < nDofs; ++i)
    registerDegreeOfFreedom(_bn->getParentJoint()->getDof(i));
}
Exemple #2
0
//==============================================================================
void Linkage::satisfyCriteria()
{
  std::vector<BodyNode*> bns = mCriteria.satisfy();
  while(getNumBodyNodes() > 0)
    unregisterBodyNode(mBodyNodes.back());

  for(BodyNode* bn : bns)
  {
    registerBodyNode(bn);
  }

  update();
}