The short answer is no. No such filter exists in ParaView or VTK. However, this can be done efficiently (no for loops within Python) if you have ParaView compiled with a Python that has NumPy. All official 3.10 binaries should have this.
Here is the recipe: - Load data - Apply programmable filter with the following to assign unique ids to cells: output.ShallowCopy(inputs[0].VTKObject) array = numpy.arange(0, output.GetNumberOfCells(), dtype=numpy.int32) output.CellData.append(array, 'ids') - Apply Cell Centers - Apply Clean to merge duplicate cell centers - Apply programmable filter (input 0 = reader, input 1 = Clean), output type: unstructured grid, script: from paraview import vtk filter = vtk.vtkExtractSelection() sel = vtk.vtkSelection() selNode = vtk.vtkSelectionNode() selNode.SetFieldType(vtk.vtkSelectionNode.CELL) selNode.SetContentType(vtk.vtkSelectionNode.INDICES) selNode.SetSelectionList(inputs[1].PointData['ids'].VTKObject) selNode.GetSelectionList() sel.AddNode(selNode) filter.SetInput(1, sel) filter.SetInput(0, inputs[0].VTKObject) filter.Update() output.ShallowCopy(filter.GetOutput()) This should produce an unstructured grid of 2D cells that are unique. Works only in serial. In parallel, you need to reduce the polydata to 1 node using All to N. -berk On Wed, Jun 29, 2011 at 10:50 AM, Randall Hand <[email protected]> wrote: > I'm working with an Xdmf dataset in ParaView 3.10.1 that has multiple > unstructured-grid blocks with overlap regions, however doens't seem to > actually have "ghost" cells. This means when I extract an isosurface, I > wind up with perfectly overlapping faces. > > I can use the Clean filter to eliminate coincident points, but but > coincident faces. As an example, if I use the "Select Cells Through" > option to select 2 triangles on an overlapping border, I get 4 points > (normal for 2 triangles) but 5 cells, with perfect overlap. The results > from an ASCII VTK File saved to disk: > > vtk output > ASCII > DATASET POLYDATA > POINTS 4 float > 1.37916 0.965356 0.21928 > 1.37129 0.964077 0.218481 > 1.37613 0.958331 0.219823 > 1.36947 0.958944 0.21948 > POLYGONS 5 20 > 3 0 1 2 > 3 2 1 3 > 3 0 1 2 > 3 2 1 3 > 3 2 1 3 > > Is there any filter in ParaView capable of fixing this? Or does it have > to be an arduously slow Python script to run in a Programmable Filter? > > -- > Randall Hand > http://www.vizworld.com > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Follow this link to subscribe/unsubscribe: > http://www.paraview.org/mailman/listinfo/paraview > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
