gcherchi/InteractiveAndRobustMeshBooleans

Error "unable to calculate ray for this patch"

Closed this issue · 3 comments

Hi, by testing your code with the intersection of two manifold meshes (with a tubular shape) I get the error "unable to calculate ray for this patch". What features should have the meshes to avoid this error?

Hi,
input meshes must be manifold, watertight and with no self-intersections and well oriented.
If your meshes satisfy these requirements, please send us your models.

Thanks for the answer. The meshes satisfy all the requirements. Attached there are the two meshes. Consider that if I comment line

std::exit(EXIT_FAILURE);
the program ends computing the right intersection.
meshes.zip

Hi Giampaolo,
I tested your input meshes, and they require the portion of our pipeline that involves rational numbers (as described in our paper, at the end of section 5.1).
In the version that we released, we omitted ray casting with exact rationals because the code was convoluted and it was also never necessary in all our tests. As you noticed, the code can still produce a final result, but we suggest you to check the output to be sure it is topologically correct (you can use the checker we just added).