[vtkusers] vtkBooleanOperationPolyDataFilter creates non-manifold edges

normanius juch at zhaw.ch
Sun May 15 04:53:38 EDT 2016


Hi all

This is an issue that has been raised already. But I wanted to ask whether
there is a workaround or whether it actually is a bug that has been properly
reported.

Find attached sample code which reproduces the problem: If I union two
overlapping, watertight objects A and B, the resulting object C very likely
won't be watertight (it shows border edges and non-manifold edges).

The sample code in essence does this:
- create cylinder A as a vtk.vtkCylinderSource
- create sphere B as a vtk.vtkSphereSource
- extract triangles from A and B
- create union C with vtk.vtkBooleanOperationPolyDataFilter() with
SetOperationToUnion()

The problem occurs also, if I use other objects than cylinders or spheres.
The problem occurs also, if I "clean/condition" the surfaces of A and B
before calculating the union. (I tried vtkCleanPolyData(),
vtkFillHolesFilter() and addition of small noise on the vertices, which
sometimes helps to regularise operations on objects)

In the following two screenshots. The first one indicates the two objects to
union. The second one shows the result, with the non-manifold and border
edges.

<http://vtk.1045678.n5.nabble.com/file/n5738088/input.png> 
<http://vtk.1045678.n5.nabble.com/file/n5738088/result.png> 

Because I often make use of vtkBooleanOperationPolyDataFilter, the problem
is really annoying for me. That's why I thought to seek help in the
community. Any ideas of how to handle this?
Cleaning the surface (set flag cleanOutputSurface=True in my code) does
improve the situation in some cases - but it cannot be that one has to do
that extra cleanup step after every such basic operation, right?!

By the way: this problem has been reported already: see  here
<http://vtk.1045678.n5.nabble.com/Non-manifold-triangles-after-running-vtkBooleanOperationPolydataFilter-td5713964.html>  
and  here
<http://vtk.1045678.n5.nabble.com/Broken-surfaces-for-vtkBooleanOperationPolyDataFilter-Bug-td5735413.html>  
reproduced_problem.py
<http://vtk.1045678.n5.nabble.com/file/n5738088/reproduced_problem.py>  .

Thanks for any inputs from your side.



--
View this message in context: http://vtk.1045678.n5.nabble.com/vtkBooleanOperationPolyDataFilter-creates-non-manifold-edges-tp5738088.html
Sent from the VTK - Users mailing list archive at Nabble.com.


More information about the vtkusers mailing list