<div dir="ltr">The instability of vtkDelaunay2D is definitely a problem for these kinds of filters.  It isn't just a matter of vtkDelaunay2D having bugs... the problem is that in order for the algorithm to be robust, it must use exact math.  So a lot of the work that has gone into fixing bugs seems to have just changed the situations that cause it to crash.<div><br></div><div>A few years ago I wrote a filter called vtkContourTriangulator that can sometimes be used as a stable replacement for vtkDelaunay2D.  However, vtkContourTriangulator is not as fast as vtkDelaunay2D, nor does it produce high-quality triangles (i.e. it does triangulation, but not Delaunay triangulation).</div><div><br></div><div> - David</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 5, 2017 at 5:42 AM, updega2 <span dir="ltr"><<a href="mailto:updega2@berkeley.edu" target="_blank">updega2@berkeley.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, I authored the LoopBoolean a few years ago because we wanted a more<br>
reliable vtk-based boolean to use in our software.<br>
<br>
I've mentioned this before I believe on the merge requests, but I think it<br>
may be helpful to say it again here. When the booleans fail (current and the<br>
LoopBoolean), it is typically during re-triangulation due to vtkDelaunay2D.<br>
I developed the LoopBoolean using vtk 6.0. After vtk 6.0, some changes were<br>
made to the vtkDelaunay2D code, which caused many more issues in the<br>
LoopBoolean. I tried working with the vtkDelaunay2D author to fix some of<br>
the Delaunay bugs, and we got a couple fixed, but a few remain.<br>
<br>
So, in our software, we actually have a copy of the vtkDelaunay2D code from<br>
the vtk 6.0 pipeline, and the LoopBoolean calls that. The code works well<br>
for our purposes. It still isn't bug free as the code is tolerance-based,<br>
and there are orientation tests that may fail from time to time due to<br>
tolerance issues. Also, I'll admit that error checking could be better. I<br>
would like to go back and improve this part of the code, but haven't had the<br>
time yet.<br>
<br>
Adam<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/BooleanOperationPolyDataFilter-Problems-tp5743863p5743900.html" rel="noreferrer" target="_blank">http://vtk.1045678.n5.nabble.<wbr>com/<wbr>BooleanOperationPolyDataFilter<wbr>-Problems-tp5743863p5743900.<wbr>html</a><br>
<span class="im HOEnZb">Sent from the VTK - Users mailing list archive at Nabble.com.<br>
</span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_<wbr>FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/vtkusers</a><br>
</div></div></blockquote></div><br></div>