# get a continuous line from a polydata structure

**URL:** https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864
**Category:** Support
**Tags:** python
**Created:** [November 17, 2022, 5:55pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864 "2022-11-17T17:55:18Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![PBrockmann](https://discourse.vtk.org/user_avatar/discourse.vtk.org/pbrockmann/32/524_2.png) [@PBrockmann](https://discourse.vtk.org/u/PBrockmann)
#### Post date: [November 17, 2022, 5:55pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864/1 "2022-11-17T17:55:18Z")

</div>

Hi,

I would like to create different continuous lines from a polydata made of cells (sparse segments).  
For now I have successfully found the different regions by using a vtk.vtkPolyDataConnectivityFilter().

I have a question on this problem on stackoverflow but this discourse forum might be a better place.

> <https://stackoverflow.com/questions/74467727/how-to-extract-edges-from-polydata-as-connected-features>

 ![image](https://discourse.vtk.org/uploads/default/original/2X/e/e884922ae8f2c8a90548abb3d3ed917b971f1eaf.jpeg)

---

<div class="post-metadata">

### Author: ![dgobbi](https://discourse.vtk.org/user_avatar/discourse.vtk.org/dgobbi/32/18_2.png) [@dgobbi](https://discourse.vtk.org/u/dgobbi)
#### Post date: [November 17, 2022, 6:17pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864/2 "2022-11-17T18:17:41Z")

</div>

If I’ve understood your question, you can join contiguous segments into polylines with [vtkStripper](https://vtk.org/doc/nightly/html/classvtkStripper.html).

Do you need each outline as a separate polyline, or do you need each outline as a separate dataset?

---

<div class="post-metadata">

### Author: ![PBrockmann](https://discourse.vtk.org/user_avatar/discourse.vtk.org/pbrockmann/32/524_2.png) [@PBrockmann](https://discourse.vtk.org/u/PBrockmann)
#### Post date: [November 17, 2022, 6:20pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864/3 "2022-11-17T18:20:07Z")

</div>

each outline as a separate polyline will be fine.  
I will save them later in a netcdf file.

---

<div class="post-metadata">

### Author: ![PBrockmann](https://discourse.vtk.org/user_avatar/discourse.vtk.org/pbrockmann/32/524_2.png) [@PBrockmann](https://discourse.vtk.org/u/PBrockmann)
#### Post date: [November 17, 2022, 7:01pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864/4 "2022-11-17T19:01:24Z")

</div>

Indeed, vtkStripper was the filter I was looking for.

```auto
import pyvista as pv
import vtk
import random

! wget -q -nc https://thredds-su.ipsl.fr/thredds/fileServer/ipsl_thredds/brocksce/pyvista/mesh.vtk
mesh = pv.PolyData('mesh.vtk')
edges = mesh.extract_feature_edges(boundary_edges=True)

pl = pv.Plotter()

pl.add_mesh(pv.Sphere(radius=0.999, theta_resolution=360, phi_resolution=180))
pl.add_mesh(mesh, show_edges=True, edge_color="gray")

regions = edges.connectivity()
regCount = len(set(pv.get_array(regions, name="RegionId")))

connectivityFilter = vtk.vtkPolyDataConnectivityFilter()
stripper = vtk.vtkStripper()

for r in range(regCount):
    connectivityFilter.SetInputData(edges)
    connectivityFilter.SetExtractionModeToSpecifiedRegions()
    connectivityFilter.InitializeSpecifiedRegionList()
    connectivityFilter.AddSpecifiedRegion(r)
    connectivityFilter.Update()
    
    stripper.SetInputData(connectivityFilter.GetOutput())
    stripper.SetJoinContiguousSegments(True)
    stripper.Update()
    reg = stripper.GetOutput()
   
    random_color = "#"+''.join([random.choice('0123456789ABCDEF') for i in range(6)])
    pl.add_mesh(reg, color=random_color, line_width=4)

viewer = pl.show(jupyter_backend='pythreejs', return_viewer=True)
display(viewer)

```

---

<div class="post-metadata">

### Author: ![PBrockmann](https://discourse.vtk.org/user_avatar/discourse.vtk.org/pbrockmann/32/524_2.png) [@PBrockmann](https://discourse.vtk.org/u/PBrockmann)
#### Post date: [November 17, 2022, 7:12pm UTC](https://discourse.vtk.org/t/get-a-continuous-line-from-a-polydata-structure/9864/5 "2022-11-17T19:12:19Z")

</div>

Many thanks !
