AppendFilter
VTKEx/Python/Filtering/AppendFilter
This example loads points into a polydata and an unstructured grid then combines them. The example should be extended to show cells being combined as well.
Other languages
See (Cxx)
Question
If you have a simple question about this example contact us at VTKExProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum
Code¶
AppendFilter.py
#!/usr/bin/env python
import vtk
def main():
# Create 5 points (vtkPolyData)
pointSource = vtk.vtkPointSource()
pointSource.SetNumberOfPoints(5)
pointSource.Update()
polydata = pointSource.GetOutput()
print "points in polydata are",polydata.GetNumberOfPoints()
# Create 2 points in a vtkUnstructuredGrid
points = vtk.vtkPoints()
points.InsertNextPoint(0,0,0)
points.InsertNextPoint(0,0,1)
ug = vtk.vtkUnstructuredGrid()
ug.SetPoints(points)
print "points in unstructured grid are",ug.GetNumberOfPoints()
# Combine the two data sets
appendFilter = vtk.vtkAppendFilter()
appendFilter.AddInputData(polydata)
appendFilter.AddInputData(ug)
appendFilter.Update()
combined = vtk.vtkUnstructuredGrid()
combined = appendFilter.GetOutput()
print "Combined points are", combined.GetNumberOfPoints()
# Create a mapper and actor
colors = vtk.vtkNamedColors()
mapper = vtk.vtkDataSetMapper()
mapper.SetInputConnection(appendFilter.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetPointSize(5)
# Create a renderer, render window, and interactor
renderer = vtk.vtkRenderer()
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)
# Add the actor to the scene
renderer.AddActor(actor)
renderer.SetBackground(colors.GetColor3d("SlateGray"))
# Render and interact
renderWindow.Render()
renderWindowInteractor.Start()
if __name__ == '__main__':
main()