Set bNegativePenetrationAllowed to true if you need to know the closest point on the shapes, even when they are separated. In this case, we need to iterate to find the best solution even when objects are separated which is more expensive. The return value will be true as long as the algorithm was able to find a solution (i.e., the return value is not related to whether the shapes are overlapping) and the output parameters will be populated with the contact information.