MultipleViewports
VTKExamples/Python/Visualization/MultipleViewports
Description¶
This example demonstrates how to use multiple viewports to display several scenes in one render window.
- Contributed by: Bryan Conrad
Question
If you have a simple question about this example contact us at VTKExamplesProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum
Code¶
MultipleViewports.py
import vtk def main(): colors = vtk.vtkNamedColors() '''One render window, multiple viewports''' rw = vtk.vtkRenderWindow() iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(rw) # Define viewport ranges xmins = [0, .5, 0, .5] xmaxs = [0.5, 1, 0.5, 1] ymins = [0, 0, .5, .5] ymaxs = [0.5, 0.5, 1, 1] # Have some fun with colors ren_bkg = ['AliceBlue', 'GhostWhite', 'WhiteSmoke', 'Seashell'] actor_color = ['Bisque', 'RosyBrown', 'Goldenrod', 'Chocolate'] for i in range(4): ren = vtk.vtkRenderer() rw.AddRenderer(ren) ren.SetViewport(xmins[i], ymins[i], xmaxs[i], ymaxs[i]) # Create a sphere sphereSource = vtk.vtkSphereSource() sphereSource.SetCenter(0.0, 0.0, 0.0) sphereSource.SetRadius(5) # Create a mapper and actor mapper = vtk.vtkPolyDataMapper() mapper.SetInputConnection(sphereSource.GetOutputPort()) actor = vtk.vtkActor() actor.GetProperty().SetColor(colors.GetColor3d(actor_color[i])) actor.SetMapper(mapper) ren.AddActor(actor) ren.SetBackground(colors.GetColor3d(ren_bkg[i])) ren.ResetCamera() rw.Render() rw.SetWindowName('RW: Multiple ViewPorts') iren.Start() if __name__ == '__main__': main()