FUNCTION get_kinematic_joints_from_kinematic_loops
(kls : SET [0:?] OF kinematic_loop) : SET [0:?] OF kinematic_joint;
LOCAL result : SET OF oriented_joint := []; END_LOCAL; IF SIZEOF(kls) > 0 THEN REPEAT i := 1 TO HIINDEX(kls); result := result + kls[i].edge_list; END_REPEAT; END_IF; RETURN (get_kinematic_joints_from_oriented_joints(result));