1. A computer-implemented method comprising: implementing on a processor, computer-executable instructions; analyzing a connectivity of a model comprising an arbitrary mix of one or more rigid links and one or soft links, wherein the analyzing includes triangles as input; separating one or more connections of the triangles of the joint aware model into at least a first component and a second component; segmenting the first component and the second component to determine at least one intersection or at least one contact surface between the first component and the second component; in response to the determining, utilizing vertices of the at least one intersection or the at least one contact surface to compute a slippable motion between the first component and the second component, wherein the slippable motion computation results in a determination of one or more degrees of freedom between the first component and the second component; and mapping the one or more degrees of freedom to one or more joint types.