The major design goals of V-Clip were robustness and efficiency. The implementation works well even in the presence of geometric degeneracies and contains no floating point tolerances for the user to tune. It compares favorably to other algorithms from and efficiency standpoint (see the tech report for details). In typical applications V-Clip computes the closest points between objects in almost constant time.
V-Clip operates on polyhedral objects which may be nonconvex or even disconnected. It returns the closest points between objects and the distances between them. If the objects penetrate, it returns a penetration depth. V-Clip requires the application to specify nonconvex or disconnected objects as hierarchies of convex pieces. When called on disjoint nonconvex objects,V-Clip returns a lower bound on the actual distance between the objects.