Model
VTKExamples/Python/Rendering/Model
Code¶
Model.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import vtk def main(): colors = vtk.vtkNamedColors() # Set the colors. cubeColor = map(lambda x: x / 255.0, [250, 128, 114]) colors.SetColor('CubeColor', *cubeColor) bkg = map(lambda x: x / 255.0, [230, 230, 230]) colors.SetColor('BkgColor', *bkg) # Create the rendering windows and three renderers. ren1 = vtk.vtkRenderer() ren2 = vtk.vtkRenderer() renWindow1 = vtk.vtkRenderWindow() renWindow1.AddRenderer(ren1) renWindow1.AddRenderer(ren2) iren1 = vtk.vtkRenderWindowInteractor() iren1.SetRenderWindow(renWindow1) ren3 = vtk.vtkRenderer() renWindow2 = vtk.vtkRenderWindow() renWindow2.AddRenderer(ren3) iren2 = vtk.vtkRenderWindowInteractor() iren2.SetRenderWindow(renWindow2) # Create an actor and give it cone geometry. cone = vtk.vtkConeSource() cone.SetResolution(8) coneMapper = vtk.vtkPolyDataMapper() coneMapper.SetInputConnection(cone.GetOutputPort()) coneActor = vtk.vtkActor() coneActor.SetMapper(coneMapper) coneActor.GetProperty().SetColor(colors.GetColor3d("Peacock")) # Create an actor and give it cube geometry. cube = vtk.vtkCubeSource() cubeMapper = vtk.vtkPolyDataMapper() cubeMapper.SetInputConnection(cube.GetOutputPort()) cubeActor = vtk.vtkActor() cubeActor.SetMapper(cubeMapper) cubeActor.GetProperty().SetColor(colors.GetColor3d("CubeColor")) # Create an actor and give it sphere geometry. sphere = vtk.vtkSphereSource() sphere.SetThetaResolution(16) sphere.SetPhiResolution(16) sphereMapper = vtk.vtkPolyDataMapper() sphereMapper.SetInputConnection(sphere.GetOutputPort()) sphereActor = vtk.vtkActor() sphereActor.SetMapper(sphereMapper) sphereActor.GetProperty().SetColor(colors.GetColor3d("Melon")) # Assign our actors to both renderers. ren1.AddActor(coneActor) ren2.AddActor(sphereActor) ren3.AddActor(cubeActor) # set the size of our window renWindow1.SetSize(300, 150) renWindow1.SetPosition(0, 50) renWindow2.SetSize(300, 300) renWindow2.SetPosition(0, 300) # Set the viewports and backgrounds of the renderers. ren1.SetViewport(0, 0, 0.5, 1) ren1.SetBackground(colors.GetColor3d("BkgColor")) ren2.SetViewport(0.5, 0, 1, 1) ren2.SetBackground(colors.GetColor3d("White")) ren3.SetBackground(colors.GetColor3d("White")) # Draw the resulting scene. renWindow1.Render() renWindow2.Render() iren1.Start() if __name__ == "__main__": main()