[vtkusers] How to explicitely get the different regions with ConnectivityFilter?
nicolas.cedilnik at inria.fr
Fri Feb 17 08:38:41 EST 2017
I have an unstructured grid with several point data arrays and would
like to extract the connected regions and their associated data into
I can do that with paraview but I'm struggling to get it done using
python vtk bindings.
So far I've managed to extract the cells corresponding to the the
rd = vtk.vtkGenericDataObjectReader()
ug = rd.GetOutput()
f = vtk.vtkConnectivityFilter()
out = f.GetOutput()
ug.GetNumberOfCells() # 28396, the original number of cells
out.GetNumberOfCells() # 27740, less cells, looks good
from which I can work something out, but I have two problems with this
- I'd like to know the indices of the other connected regions
- the `ug` input only has 1 point data array, I believe this is a known
I've found a SetExtractionModeToAllRegions method but I don't understand
how to deal with it:
b = f.GetOutput()
b.GetNumberOfCells() # 28396, same as input
b.GetCellData().GetNumberOfArrays() # 0, I would have expected an array
where the cells where labeled by region number...
All in all, I have two questions:
- How do I use the filter to get the cells labeled by region?
- (less important) Is it possible to read different point data arrays
with vtk python bindings?
Thanks in advance for your help and advices on how to use vtk properly
More information about the vtkusers