# Topological problems

**URL:** https://discourse.vtk.org/t/topological-problems/4299
**Category:** Support
**Created:** [September 25, 2020, 9:18am UTC](https://discourse.vtk.org/t/topological-problems/4299 "2020-09-25T09:18:41Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![cobo](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/c/f17d59/32.png) [@cobo](https://discourse.vtk.org/u/cobo)
#### Post date: [September 25, 2020, 9:18am UTC](https://discourse.vtk.org/t/topological-problems/4299/1 "2020-09-25T09:18:41Z")

</div>

Starting point is a PolyData object that is supposed to be the watertight surface of one or several “bodies” that also does not include any non-manifold edges, but input may not always be like that!

- I realize that testing for “watertightness” can be done with the vtkFeatureEdges filter by checking if I have no “boundary edges”. Fine.

- Next I can find also non-manifold edges with the same filter. If before I checked that I have no boundaries, I may still have things like this:

 ![grafik](https://discourse.vtk.org/uploads/default/original/2X/8/812eab43327ceae4cf631460374b35f78b19a304.png)

Here it would be great if I could “split” this non-manifold edge into two: Is there any filter that would support such an operation?

- Finally it is still possible that the polydata actually describes more than one “body” topologically: Is there a way I can split it into several polydata that describe only one body each?

Thanks for any helpful hints!

---

<div class="post-metadata">

### Author: ![Andrew](https://discourse.vtk.org/user_avatar/discourse.vtk.org/andrew/32/3861_2.png) [@Andrew](https://discourse.vtk.org/u/Andrew)
#### Post date: [September 26, 2020, 2:42am UTC](https://discourse.vtk.org/t/topological-problems/4299/2 "2020-09-26T02:42:10Z")

</div>

vtkPolyDataConnectivityFilter will let you extract separate connected portions of a polydata. That might help you on your second point.

I do not know of a VTK filter to fix non manifold meshes, though vtkCleanPolyData will often help merge overlapping points/cells and vtkFillHolesFilter will help close non watertight meshes.

I more often then not use the blender extension called 3D Print to clean my meshes.
