Open milasudril opened 1 year ago
It's been a long time since I worked on this. I think the warning that you're seeing came from these lines:
When incrementally adding a new point, old faces that could be "illuminated" by the new point are removed. New faces are added between the remaining edges and the new point.
Consider a 3D pyramid shape with a new point above it, all four triangular faces are illuminated and removed. Now you're left with a square base. Four new faces would then be added between each edge of the square base and the new point.
Going back to your question: the assumption is, we must be adding new faces right next to an existing face. And the internal bookkeeping logic is to link the edges - between new and old face - to their new faces. If somehow an edge is linked to two faces, that means this edge is not associated with any illuminated faces, which violates the assumption.
This probably has to do with the hash collision you pointed out in a separate issue. Do you still see this error after modifying the hash function?
"This probably has to do with the hash collision you pointed out in a separate issue. Do you still see this error after modifying the hash function?"
Indeed, yes.
I have some trouble with "warning: property violated!"
I forked your repo so I could try to improve some things. I used commit https://github.com/milasudril/Convexhull-3D-Implementation-of-incremental-convexhull-algorithm/commit/374f76e5d9e7663662677050e4030d49f5010376
I get an error when trying to compute the convex hull of the attached point cloud. mesh.obj.gz