Open Rogach opened 9 years ago
Vertex (0.098,-1.714) is not added because it violates C5 predicate - big face to the right has no adjacent IN vertex - upper vertex is pointsite, can't be IN, and (0.072,-1.868) was not considered yet.
For the moment, I fixed it by accepting a face if it has a SEPPOINT vertex adjacent to considered vertex (in predicate_c5). It did solve this error and several others (in my relatively small testbed), but maybe I haven't considered some corner cases?
The following code results in error:
Here's the output.
Here's the view on the segment being added, after vertex marking was done, but no new vertices were added:
Here's the view below that line, displaying the problematic edge: Failure happens when vertex is positioned on (0.102,-1.687)-(0.098,-1.714) edge (red circles mark IN vertices). Problem is, there is no solution lying on that edge (no point equidistant to the shortest segment, lone pointsite and newly added linesite). Maybe the problem is in the way vertices were marked?