A joint has two mechanical cuts which may move relative to each other. It is a massless element in which no energy is stored. Mathematically, a joint transforms the kinematic properties of frame_a to frame_b and at the same time transforms the force and torque acting on frame_b to frame_a.
A general multibody system with closed kinematic loops is handeled by dividing the joints into two distinct sets: Tree-Joints and Cut-Joints. After removal of all of the Cut-Joints, the resulting system must have a tree-structure. Class CutJoint is used as a superclass for Cut-Joints.
Subclasses of class CutJoint have to provide the (6-f) constraint equations on position level, where f are the number of degrees of freedom of the joint.