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