So you need to use the InputPoint#degrees_of_freedom method to determine whether the point you are getting is constrained by the inference engine to the plane of a face.
"If you are on a face, then the degrees_of_freedom will be 2 meaning that you can only move on the plane of the face. "
Can you give me an example for it?