1#!/usr/bin/env python
2import vtk
3from vtk.util.misc import vtkGetDataRoot
4VTK_DATA_ROOT = vtkGetDataRoot()
5
6# Create renderer stuff
7#
8ren1 = vtk.vtkRenderer()
9renWin = vtk.vtkRenderWindow()
10renWin.AddRenderer(ren1)
11iren = vtk.vtkRenderWindowInteractor()
12iren.SetRenderWindow(renWin)
13# create pipeline
14#
15cow = vtk.vtkBYUReader()
16cow.SetGeometryFileName("" + str(VTK_DATA_ROOT) + "/Data/Viewpoint/cow.g")
17cowMapper = vtk.vtkPolyDataMapper()
18cowMapper.SetInputConnection(cow.GetOutputPort())
19cowActor = vtk.vtkActor()
20cowActor.SetMapper(cowMapper)
21cowActor.GetProperty().SetDiffuseColor(0.9608,0.8706,0.7020)
22cowAxesSource = vtk.vtkAxes()
23cowAxesSource.SetScaleFactor(10)
24cowAxesSource.SetOrigin(0,0,0)
25cowAxesMapper = vtk.vtkPolyDataMapper()
26cowAxesMapper.SetInputConnection(cowAxesSource.GetOutputPort())
27cowAxes = vtk.vtkActor()
28cowAxes.SetMapper(cowAxesMapper)
29ren1.AddActor(cowAxes)
30cowAxes.VisibilityOff()
31# Add the actors to the renderer, set the background and size
32#
33ren1.AddActor(cowActor)
34ren1.SetBackground(0.1,0.2,0.4)
35renWin.SetSize(320,240)
36ren1.ResetCamera()
37ren1.GetActiveCamera().Azimuth(0)
38ren1.GetActiveCamera().Dolly(1.4)
39ren1.ResetCameraClippingRange()
40cowAxes.VisibilityOn()
41renWin.Render()
42# render the image
43#
44# prevent the tk window from showing up then start the event loop
45#
46def RotateX (__vtk__temp0=0,__vtk__temp1=0):
47    cowActor.SetOrientation(0,0,0)
48    ren1.ResetCameraClippingRange()
49    renWin.Render()
50    renWin.Render()
51    renWin.EraseOff()
52    i = 1
53    while i <= 6:
54        cowActor.RotateX(60)
55        renWin.Render()
56        renWin.Render()
57        i = i + 1
58
59    renWin.EraseOn()
60
61def RotateY (__vtk__temp0=0,__vtk__temp1=0):
62    cowActor.SetOrientation(0,0,0)
63    ren1.ResetCameraClippingRange()
64    renWin.Render()
65    renWin.Render()
66    renWin.EraseOff()
67    i = 1
68    while i <= 6:
69        cowActor.RotateY(60)
70        renWin.Render()
71        renWin.Render()
72        i = i + 1
73
74    renWin.EraseOn()
75
76def RotateZ (__vtk__temp0=0,__vtk__temp1=0):
77    cowActor.SetOrientation(0,0,0)
78    ren1.ResetCameraClippingRange()
79    renWin.Render()
80    renWin.Render()
81    renWin.EraseOff()
82    i = 1
83    while i <= 6:
84        cowActor.RotateZ(60)
85        renWin.Render()
86        renWin.Render()
87        i = i + 1
88
89    renWin.EraseOn()
90
91def RotateXY (__vtk__temp0=0,__vtk__temp1=0):
92    cowActor.SetOrientation(0,0,0)
93    cowActor.RotateX(60)
94    ren1.ResetCameraClippingRange()
95    renWin.Render()
96    renWin.Render()
97    renWin.EraseOff()
98    i = 1
99    while i <= 6:
100        cowActor.RotateY(60)
101        renWin.Render()
102        renWin.Render()
103        i = i + 1
104
105    renWin.EraseOn()
106
107RotateX()
108RotateY()
109RotateZ()
110RotateXY()
111renWin.EraseOff()
112# --- end of script --
113