Vector3d Controller2::evalAngMomentum(const VectorXd& _dofVel) { Vector3d c = mSkel->getWorldCOM(); Vector3d sum = Vector3d::Zero(); Vector3d temp = Vector3d::Zero(); for (int i = 0; i < mSkel->getNumNodes(); i++) { BodyNodeDynamics *node = (BodyNodeDynamics*)mSkel->getNode(i); node->evalVelocity(_dofVel); node->evalOmega(_dofVel); sum += node->getInertia() * node->mOmega; sum += node->getMass() * (node->getWorldCOM() - c).cross(node->mVel); } return sum; }