What is the difference between using, in a Python script, vtk.vtkAngularPeriodicFilter and paraview.simple.AngularPeriodicFilter? Are they completely interchangeable? Are there performance differences? Can they receive the same inputs (from a previous filter) and return the same outputs (to a following filter)?
vtk.vtkAngularPeriodicFilter is the VTK class. When you instantiate it, it lives only on the client in the Python environment in ParaView’s Python shell.
paraview.simple.AngularPeriodicFilter on the other hand is a ParaView proxy. When you create one, it will instantiate a vtkAngularPeriodicFilter on the client and server processes.
The two objects are not at all interchangeable. Proxies may have “Input” properties that you set to other proxies that produce data.
VTK filters like vtkAngularPeriodicFilter are VTK objects that you connect with SetInputConnection() and GetOutputPort().
If you are running ParaView only on a client, you can access the client-side VTK object with paraview.simple.AngularPeriodicFilter.GetClientSideObject(). That you can connect to downstream VTK filters, but it’s not the recommended way to work with ParaView filters.