1package require vtk
2package require vtkinteraction
3
4# create a rendering window and renderer
5vtkRenderer ren1
6    ren1 AutomaticLightCreationOff
7vtkRenderWindow renWin
8    renWin AddRenderer ren1
9vtkRenderWindowInteractor iren
10    iren SetRenderWindow renWin
11
12# create cones of varying resolution
13vtkConeSource cone0
14  cone0 SetResolution 0
15vtkConeSource cone1
16  cone1 SetResolution 1
17vtkConeSource cone2
18  cone2 SetResolution 2
19vtkConeSource cone8
20  cone8 SetResolution 8
21  cone8 SetDirection 0 0 10
22  cone8 SetCenter 5 0 0
23
24vtkPolyDataMapper cone0Mapper
25  cone0Mapper SetInputConnection [cone0 GetOutputPort]
26vtkActor cone0Actor
27  cone0Actor SetMapper cone0Mapper
28
29vtkPolyDataMapper cone1Mapper
30  cone1Mapper SetInputConnection [cone1 GetOutputPort]
31vtkActor cone1Actor
32  cone1Actor SetMapper cone1Mapper
33
34vtkPolyDataMapper cone2Mapper
35  cone2Mapper SetInputConnection [cone2 GetOutputPort]
36vtkActor cone2Actor
37  cone2Actor SetMapper cone2Mapper
38
39vtkPolyDataMapper cone8Mapper
40  cone8Mapper SetInputConnection [cone8 GetOutputPort]
41vtkActor cone8Actor
42  cone8Actor SetMapper cone8Mapper
43
44# assign our actor to the renderer
45ren1 AddActor cone0Actor
46ren1 AddActor cone1Actor
47ren1 AddActor cone2Actor
48ren1 AddActor cone8Actor
49ren1 SetBackground .5 .5 .5
50ren1 ResetCamera
51[ren1 GetActiveCamera] Elevation 30
52[ren1 GetActiveCamera] Dolly 1.3
53ren1 ResetCameraClippingRange
54
55renWin SetSize 301 91
56cone0Actor SetPosition -1.5 0 0
57cone1Actor SetPosition -.5 0 0
58cone2Actor SetPosition .5 0 0
59cone8Actor SetPosition 1.5 0 0
60
61[cone0Actor GetProperty] SetDiffuseColor 1 0 0
62[cone1Actor GetProperty] SetDiffuseColor 0 1 0
63[cone8Actor GetProperty] BackfaceCullingOn
64[cone8Actor GetProperty] SetDiffuseColor 0 0 1
65
66# enable user interface interactor
67iren AddObserver UserEvent {wm deiconify .vtkInteract}
68iren Initialize
69
70# prevent the tk window from showing up then start the event loop
71wm withdraw .
72
73