There is no need to pass `BVHTreeFromEditMesh` userdata if only `BMEditMesh` is used in the callbacks. And this code is only used in the snap system, with this change the snap code is more simplified and organized.
There is no need to pass `BVHTreeFromEditMesh` userdata if only `BMEditMesh` is used in the callbacks. And this code is only used in the snap system, with this change the snap code is more simplified and organized.