@bagnell can you review this function and see if (1) we can make dealing with the edge cases cleaner and (2) if it is correct given that when we run the 3D Models Sandcastle example and zoom out, the model will shrink a bit below its minimum pixel size before snapping to it.  I believe this happens because both the radius and the computation are approximations.  This is fine, but we should we sure there isn't a bug.  Feel free to make edits directly in this branch.