1#!/usr/bin/env python
2import vtk
3from vtk.util.misc import vtkGetDataRoot
4VTK_DATA_ROOT = vtkGetDataRoot()
5
6# Remove cullers so single vertex will render
7ren1 = vtk.vtkRenderer()
8ren1.GetCullers().RemoveAllItems()
9renWin = vtk.vtkRenderWindow()
10renWin.AddRenderer(ren1)
11iren = vtk.vtkRenderWindowInteractor()
12iren.SetRenderWindow(renWin)
13cell = vtk.vtkGenericCell()
14ptIds = vtk.vtkIdList()
15# 0D
16ZeroDPts = vtk.vtkPoints()
17ZeroDPts.SetNumberOfPoints(1)
18ZeroDPts.SetPoint(0,0,0,0)
19ZeroDGrid = vtk.vtkStructuredGrid()
20ZeroDGrid.SetDimensions(1,1,1)
21ZeroDGrid.SetPoints(ZeroDPts)
22ZeroDGrid.GetCell(0)
23ZeroDGrid.GetCell(0,cell)
24ZeroDGrid.GetCellPoints(0,ptIds)
25ZeroDGeom = vtk.vtkStructuredGridGeometryFilter()
26ZeroDGeom.SetInputData(ZeroDGrid)
27ZeroDGeom.SetExtent(0,2,0,2,0,2)
28ZeroDMapper = vtk.vtkPolyDataMapper()
29ZeroDMapper.SetInputConnection(ZeroDGeom.GetOutputPort())
30ZeroDActor = vtk.vtkActor()
31ZeroDActor.SetMapper(ZeroDMapper)
32ZeroDActor.SetPosition(0,0,0)
33ren1.AddActor(ZeroDActor)
34# 1D - X
35XPts = vtk.vtkPoints()
36XPts.SetNumberOfPoints(2)
37XPts.SetPoint(0,0,0,0)
38XPts.SetPoint(1,1,0,0)
39XGrid = vtk.vtkStructuredGrid()
40XGrid.SetDimensions(2,1,1)
41XGrid.SetPoints(XPts)
42XGrid.GetCell(0)
43XGrid.GetCell(0,cell)
44XGrid.GetCellPoints(0,ptIds)
45XGeom = vtk.vtkStructuredGridGeometryFilter()
46XGeom.SetInputData(XGrid)
47XGeom.SetExtent(0,2,0,2,0,2)
48XMapper = vtk.vtkPolyDataMapper()
49XMapper.SetInputConnection(XGeom.GetOutputPort())
50XActor = vtk.vtkActor()
51XActor.SetMapper(XMapper)
52XActor.SetPosition(2,0,0)
53ren1.AddActor(XActor)
54# 1D - Y
55YPts = vtk.vtkPoints()
56YPts.SetNumberOfPoints(2)
57YPts.SetPoint(0,0,0,0)
58YPts.SetPoint(1,0,1,0)
59YGrid = vtk.vtkStructuredGrid()
60YGrid.SetDimensions(1,2,1)
61YGrid.SetPoints(YPts)
62YGrid.GetCell(0)
63YGrid.GetCell(0,cell)
64YGrid.GetCellPoints(0,ptIds)
65YGeom = vtk.vtkStructuredGridGeometryFilter()
66YGeom.SetInputData(YGrid)
67YGeom.SetExtent(0,2,0,2,0,2)
68YMapper = vtk.vtkPolyDataMapper()
69YMapper.SetInputConnection(YGeom.GetOutputPort())
70YActor = vtk.vtkActor()
71YActor.SetMapper(YMapper)
72YActor.SetPosition(4,0,0)
73ren1.AddActor(YActor)
74# 1D - Z
75ZPts = vtk.vtkPoints()
76ZPts.SetNumberOfPoints(2)
77ZPts.SetPoint(0,0,0,0)
78ZPts.SetPoint(1,0,0,1)
79ZGrid = vtk.vtkStructuredGrid()
80ZGrid.SetDimensions(1,1,2)
81ZGrid.SetPoints(ZPts)
82ZGrid.GetCell(0)
83ZGrid.GetCell(0,cell)
84ZGrid.GetCellPoints(0,ptIds)
85ZGeom = vtk.vtkStructuredGridGeometryFilter()
86ZGeom.SetInputData(ZGrid)
87ZGeom.SetExtent(0,2,0,2,0,2)
88ZMapper = vtk.vtkPolyDataMapper()
89ZMapper.SetInputConnection(ZGeom.GetOutputPort())
90ZActor = vtk.vtkActor()
91ZActor.SetMapper(ZMapper)
92ZActor.SetPosition(6,0,0)
93ren1.AddActor(ZActor)
94# 2D - XY
95XYPts = vtk.vtkPoints()
96XYPts.SetNumberOfPoints(4)
97XYPts.SetPoint(0,0,0,0)
98XYPts.SetPoint(1,1,0,0)
99XYPts.SetPoint(2,0,1,0)
100XYPts.SetPoint(3,1,1,0)
101XYGrid = vtk.vtkStructuredGrid()
102XYGrid.SetDimensions(2,2,1)
103XYGrid.SetPoints(XYPts)
104XYGrid.GetCell(0)
105XYGrid.GetCell(0,cell)
106XYGrid.GetCellPoints(0,ptIds)
107XYGeom = vtk.vtkStructuredGridGeometryFilter()
108XYGeom.SetInputData(XYGrid)
109XYGeom.SetExtent(0,2,0,2,0,2)
110XYMapper = vtk.vtkPolyDataMapper()
111XYMapper.SetInputConnection(XYGeom.GetOutputPort())
112XYActor = vtk.vtkActor()
113XYActor.SetMapper(XYMapper)
114XYActor.SetPosition(0,2,0)
115ren1.AddActor(XYActor)
116# 2D - YZ
117YZPts = vtk.vtkPoints()
118YZPts.SetNumberOfPoints(4)
119YZPts.SetPoint(0,0,0,0)
120YZPts.SetPoint(1,0,1,0)
121YZPts.SetPoint(2,0,0,1)
122YZPts.SetPoint(3,0,1,1)
123YZGrid = vtk.vtkStructuredGrid()
124YZGrid.SetDimensions(1,2,2)
125YZGrid.SetPoints(YZPts)
126YZGrid.GetCell(0)
127YZGrid.GetCell(0,cell)
128YZGrid.GetCellPoints(0,ptIds)
129YZGeom = vtk.vtkStructuredGridGeometryFilter()
130YZGeom.SetInputData(YZGrid)
131YZGeom.SetExtent(0,2,0,2,0,2)
132YZMapper = vtk.vtkPolyDataMapper()
133YZMapper.SetInputConnection(YZGeom.GetOutputPort())
134YZActor = vtk.vtkActor()
135YZActor.SetMapper(YZMapper)
136YZActor.SetPosition(2,2,0)
137ren1.AddActor(YZActor)
138# 2D - XZ
139XZPts = vtk.vtkPoints()
140XZPts.SetNumberOfPoints(4)
141XZPts.SetPoint(0,0,0,0)
142XZPts.SetPoint(1,1,0,0)
143XZPts.SetPoint(2,0,0,1)
144XZPts.SetPoint(3,1,0,1)
145XZGrid = vtk.vtkStructuredGrid()
146XZGrid.SetDimensions(2,1,2)
147XZGrid.SetPoints(XZPts)
148XZGrid.GetCell(0)
149XZGrid.GetCell(0,cell)
150XZGrid.GetCellPoints(0,ptIds)
151XZGeom = vtk.vtkStructuredGridGeometryFilter()
152XZGeom.SetInputData(XZGrid)
153XZGeom.SetExtent(0,2,0,2,0,2)
154XZMapper = vtk.vtkPolyDataMapper()
155XZMapper.SetInputConnection(XZGeom.GetOutputPort())
156XZActor = vtk.vtkActor()
157XZActor.SetMapper(XZMapper)
158XZActor.SetPosition(4,2,0)
159ren1.AddActor(XZActor)
160# 3D
161XYZPts = vtk.vtkPoints()
162XYZPts.SetNumberOfPoints(8)
163XYZPts.SetPoint(0,0,0,0)
164XYZPts.SetPoint(1,1,0,0)
165XYZPts.SetPoint(2,0,1,0)
166XYZPts.SetPoint(3,1,1,0)
167XYZPts.SetPoint(4,0,0,1)
168XYZPts.SetPoint(5,1,0,1)
169XYZPts.SetPoint(6,0,1,1)
170XYZPts.SetPoint(7,1,1,1)
171XYZGrid = vtk.vtkStructuredGrid()
172XYZGrid.SetDimensions(2,2,2)
173XYZGrid.SetPoints(XYZPts)
174XYZGrid.GetCell(0)
175XYZGrid.GetCell(0,cell)
176XYZGrid.GetCellPoints(0,ptIds)
177XYZGeom = vtk.vtkStructuredGridGeometryFilter()
178XYZGeom.SetInputData(XYZGrid)
179XYZGeom.SetExtent(0,2,0,2,0,2)
180XYZMapper = vtk.vtkPolyDataMapper()
181XYZMapper.SetInputConnection(XYZGeom.GetOutputPort())
182XYZActor = vtk.vtkActor()
183XYZActor.SetMapper(XYZMapper)
184XYZActor.SetPosition(6,2,0)
185ren1.AddActor(XYZActor)
186# render the image
187#
188renWin.SetSize(300,150)
189cam1 = ren1.GetActiveCamera()
190cam1.SetClippingRange(2.27407,14.9819)
191cam1.SetFocalPoint(3.1957,1.74012,0.176603)
192cam1.SetPosition(-0.380779,6.13894,5.59404)
193cam1.SetViewUp(0.137568,0.811424,-0.568037)
194renWin.Render()
195iren.Initialize()
196# prevent the tk window from showing up then start the event loop
197# --- end of script --
198