private static PlanarJoint clonePlanarJoint(PlanarJointReadOnly original, String cloneSuffix, RigidBodyBasics clonePredecessor, JointBuilder jointBuilder) { String jointNameOriginal = original.getName(); RigidBodyTransform jointTransform = getCloneJointTransformToParent(original); return new PlanarJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform); }
private static SixDoFJointBasics cloneSixDoFJoint(SixDoFJointReadOnly original, String cloneSuffix, RigidBodyBasics clonePredecessor, JointBuilder jointBuilder) { String jointNameOriginal = original.getName(); RigidBodyTransform jointTransform = getCloneJointTransformToParent(original); return jointBuilder.buildSixDoFJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform); }
private static SphericalJointBasics cloneSphericalJoint(SphericalJointReadOnly original, String cloneSuffix, RigidBodyBasics clonePredecessor, JointBuilder jointBuilder) { String jointNameOriginal = original.getName(); RigidBodyTransform jointTransform = getCloneJointTransformToParent(original); return jointBuilder.buildSphericalJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform); }
private static FixedJointBasics cloneFixedJoint(FixedJointReadOnly original, String cloneSuffix, RigidBodyBasics clonePredecessor, JointBuilder jointBuilder) { String jointNameOriginal = original.getName(); RigidBodyTransform jointTransform = getCloneJointTransformToParent(original); return jointBuilder.buildFixedJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform); }
private static OneDoFJointBasics cloneOneDoFJoint(OneDoFJointReadOnly original, String cloneSuffix, RigidBodyBasics clonePredecessor, JointBuilder jointBuilder) { String jointNameOriginal = original.getName(); RigidBodyTransform jointTransform = getCloneJointTransformToParent(original); OneDoFJointBasics clone; if (original instanceof RevoluteJointReadOnly) clone = jointBuilder.buildRevoluteJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform, original.getJointAxis()); else if (original instanceof PrismaticJointReadOnly) clone = jointBuilder.buildPrismaticJoint(jointNameOriginal + cloneSuffix, clonePredecessor, jointTransform, original.getJointAxis()); else throw new RuntimeException("Unhandled type of " + OneDoFJoint.class.getSimpleName() + ": " + original.getClass().getSimpleName()); clone.setJointLimits(original.getJointLimitLower(), original.getJointLimitUpper()); clone.setVelocityLimits(original.getVelocityLimitLower(), original.getVelocityLimitUpper()); clone.setEffortLimits(original.getEffortLimitLower(), original.getEffortLimitUpper()); return clone; }