Skip to content


# ReadPolyData

VTKEx/Python/IO/ReadPolyData

### Description

vtkXMLPolyDataReader object reads the VTK XML PolyData file format. One polygonal data file can be read to produce one output. Streaming is supported. The standard extension for this reader's file format is "vtp". This reader is also used to read a single piece of the parallel file format.

An example data set can be found at Torso.vtp.

Other languages

See (Cxx), (Java), (CSharp)

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

ReadPolyData.py

    #!/usr/bin/env python

    import vtk

    def get_program_parameters():
        import argparse
        description = 'Read a polydata file.'
        epilogue = ''''''
        parser = argparse.ArgumentParser(description=description, epilog=epilogue,
                                         formatter_class=argparse.RawDescriptionHelpFormatter)
        parser.add_argument('filename', help='Torso.vtp')
        args = parser.parse_args()
        return args.filename

    def main():
        colors = vtk.vtkNamedColors()

        filename = get_program_parameters()

        # Read all the data from the file
        reader = vtk.vtkXMLPolyDataReader()
        reader.SetFileName(filename)
        reader.Update()

        # Visualize
        mapper = vtk.vtkPolyDataMapper()
        mapper.SetInputConnection(reader.GetOutputPort())

        actor = vtk.vtkActor()
        actor.SetMapper(mapper)
        actor.GetProperty().SetColor(colors.GetColor3d("BurlyWood"))

        renderer = vtk.vtkRenderer()
        renderWindow = vtk.vtkRenderWindow()
        renderWindow.AddRenderer(renderer)
        renderWindowInteractor = vtk.vtkRenderWindowInteractor()
        renderWindowInteractor.SetRenderWindow(renderWindow)

        renderer.AddActor(actor)
        renderer.SetBackground(colors.GetColor3d('Teal'))
        renderer.GetActiveCamera().Pitch(90)
        renderer.GetActiveCamera().SetViewUp(0, 0, 1)
        renderer.ResetCamera()

        renderWindow.SetSize(600, 600)
        renderWindow.Render()
        renderWindow.SetWindowName('ReadPolyData')
        renderWindowInteractor.Start()

    if __name__ == '__main__':
        main()