Skip to content

Instantly share code, notes, and snippets.

@GuillaumeFavelier
Created June 8, 2019 10:15
Show Gist options
  • Save GuillaumeFavelier/cfce57ecf911906b638eccb66463c1b5 to your computer and use it in GitHub Desktop.
Save GuillaumeFavelier/cfce57ecf911906b638eccb66463c1b5 to your computer and use it in GitHub Desktop.
PyVista Passes in the rendering
# https://github.com/pyvista/pyvista/issues/137
import vtk
sphere = vtk.vtkSphereSource()
sphere.SetCenter(0, 0, 0)
sphere.SetRadius(1)
sphere.Update()
elevation = vtk.vtkElevationFilter()
elevation.SetInputData(sphere.GetOutput())
elevation.SetLowPoint(0, 0, -1)
elevation.SetHighPoint(0, 0, 1)
elevation.Update()
elevationMapper = vtk.vtkPolyDataMapper()
elevationMapper.SetInputData(elevation.GetOutput())
elevationActor = vtk.vtkActor()
elevationActor.SetMapper(elevationMapper)
scalarActor = vtk.vtkScalarBarActor()
scalarActor.SetLookupTable(elevationMapper.GetLookupTable())
basicPasses = vtk.vtkRenderStepsPass()
basicPasses.SetOverlayPass(None)
edl = vtk.vtkEDLShading()
edl.SetDelegatePass(basicPasses)
overlay = vtk.vtkOverlayPass()
passes = vtk.vtkRenderPassCollection()
passes.AddItem(edl)
passes.AddItem(overlay)
sequencePass = vtk.vtkSequencePass()
sequencePass.SetPasses(passes)
renderer1 = vtk.vtkRenderer()
renderer1.SetPass(sequencePass)
renderer1.SetBackground(0.3, 0.4, 0.6)
renderer1.AddActor(elevationActor)
renderer1.AddActor(scalarActor)
renderWindow = vtk.vtkRenderWindow()
renderWindow.SetSize(600, 600)
renderWindow.AddRenderer(renderer1)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renderWindow)
iren.Start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment