Irrisor (or anyone else),
I'm staring at the source and it doesn't appear to have a way of removing an existing JointAxis from a Joint, except I see in the Joint class this code:
private final List<JointAxis> axes = new AssocList<JointAxis>( new ArrayList<JointAxis>(), new AssocList.ModificationHandler<JointAxis>() {
public void added( JointAxis element ) {
element.setJoint( Joint.this );
Joint.this.added( element );
}
public void removed( JointAxis element ) {
element.setJoint( null );
Joint.this.removed( element );
}
public boolean canAdd( JointAxis element ) {
return element.getJoint() != Joint.this;
}
} );
Does this mean that doing something like
joint.getAxes().remove(axis);
actually removes it from the Joint? Looking at the Joint.removed() method it does nothing.