1#!/usr/bin/env python
2import vtk
3from vtk.test import Testing
4from vtk.util.misc import vtkGetDataRoot
5VTK_DATA_ROOT = vtkGetDataRoot()
6
7# Create the RenderWindow, Renderer and both Actors
8#
9ren1 = vtk.vtkRenderer()
10renWin = vtk.vtkRenderWindow()
11renWin.AddRenderer(ren1)
12iren = vtk.vtkRenderWindowInteractor()
13iren.SetRenderWindow(renWin)
14# create four parts: a top level assembly and three primitives
15#
16sphere = vtk.vtkSphereSource()
17sphereMapper = vtk.vtkPolyDataMapper()
18sphereMapper.SetInputConnection(sphere.GetOutputPort())
19sphereActor = vtk.vtkActor()
20sphereActor.SetMapper(sphereMapper)
21sphereActor.SetOrigin(2,1,3)
22sphereActor.RotateY(6)
23sphereActor.SetPosition(2.25,0,0)
24sphereActor.GetProperty().SetColor(1,0,1)
25cube = vtk.vtkCubeSource()
26cubeMapper = vtk.vtkPolyDataMapper()
27cubeMapper.SetInputConnection(cube.GetOutputPort())
28cubeActor = vtk.vtkActor()
29cubeActor.SetMapper(cubeMapper)
30cubeActor.SetPosition(0.0,.25,0)
31cubeActor.GetProperty().SetColor(0,0,1)
32cone = vtk.vtkConeSource()
33coneMapper = vtk.vtkPolyDataMapper()
34coneMapper.SetInputConnection(cone.GetOutputPort())
35coneActor = vtk.vtkActor()
36coneActor.SetMapper(coneMapper)
37coneActor.SetPosition(0,0,.25)
38coneActor.GetProperty().SetColor(0,1,0)
39cylinder = vtk.vtkCylinderSource()
40#top part
41cylinderMapper = vtk.vtkPolyDataMapper()
42cylinderMapper.SetInputConnection(cylinder.GetOutputPort())
43cylinderMapper.SetResolveCoincidentTopologyToPolygonOffset()
44cylinderActor = vtk.vtkActor()
45cylinderActor.SetMapper(cylinderMapper)
46cylinderActor.GetProperty().SetColor(1,0,0)
47assembly = vtk.vtkAssembly()
48assembly.AddPart(cylinderActor)
49assembly.AddPart(sphereActor)
50assembly.AddPart(cubeActor)
51assembly.AddPart(coneActor)
52assembly.SetOrigin(5,10,15)
53assembly.AddPosition(5,0,0)
54assembly.RotateX(15)
55# Add the actors to the renderer, set the background and size
56#
57ren1.AddActor(assembly)
58ren1.AddActor(coneActor)
59ren1.SetBackground(0.1,0.2,0.4)
60renWin.SetSize(200,200)
61# Get handles to some useful objects
62#
63camera = vtk.vtkCamera()
64camera.SetClippingRange(21.9464,30.0179)
65camera.SetFocalPoint(3.49221,2.28844,-0.970866)
66camera.SetPosition(3.49221,2.28844,24.5216)
67camera.SetViewAngle(30)
68camera.SetViewUp(0,1,0)
69ren1.SetActiveCamera(camera)
70renWin.Render()
71# prevent the tk window from showing up then start the event loop
72# --- end of script --
73