folded / carve

Automatically exported from code.google.com/p/carve
MIT License
45 stars 20 forks source link

Fix infinite loop bug in mergeFacesAndHoles #83

Open birgerbr opened 5 years ago

birgerbr commented 5 years ago

When an element in containing_faces has a size greater than 1 the while (unassigned) loop will never stop.

I don't know this algorithm and I'm not sure if this is the correct way of handling this case, but it solves the infinite loop case.

birgerbr commented 4 years ago

The case was when using ifcplusplus to extract the geometry from an IFC file from a customer. Unfortunately, I could not find any notes saying which IFC file it was.

arnholm commented 4 years ago

I am interested in this issue. I have observed infinite loops in carve sometimes, not sure if it is related to this. I tried the proposed fix and tested it with https://github.com/arnholm/angelcad-samples, but this proposed carve fix caused 2 samples to fail, so I think it is not 100% correct. PS. thank you for the carve library.