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