internal void AddIkJointToEndEffector(string ikJointName, string endEffectorName) { IKEndEffector endEffector = GetEndEffector(endEffectorName); IKJoint ikJoint = GetIkJoint(ikJointName); endEffector.AppendIkJointIndex(ikJoint.Index); }
internal IKJoint MakeIkJoint(string jointName) { if (IkJointExists(jointName)) { throw new ValueException("IKArmature::max_ik_joint() : the joint with the given name is already an IK joint"); } Joint joint = restArmature.GetJoint(jointName); IKJoint ikJoint = new IKJoint(joint.Name, joint.Index); ikJointsByIndex[joint.Index] = ikJoint; ikJointsByName[joint.Name] = ikJoint; return(ikJoint); }
internal IKJoint MakeIkJoint(int jointIndex) { if (IkJointExists(jointIndex)) { throw new ValueException("IKArmature::max_ik_joint() : the joint with the given index is already an IK joint"); } Joint joint = restArmature.GetJoint(jointIndex); IKJoint r = new IKJoint(joint.Name, jointIndex); ikJointsByIndex[jointIndex] = r; ikJointsByName[joint.Name] = r; return(r); }