You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							383 lines
						
					
					
						
							13 KiB
						
					
					
				
			
		
		
	
	
							383 lines
						
					
					
						
							13 KiB
						
					
					
				| # This example shows how to manually construct unstructured grids using
 | |
| # Tcl. Unstructured grids require explicit point and cell representations,
 | |
| # so every point and cell must be created, and then added to the
 | |
| # vtkUnstructuredGrid instance.
 | |
| #
 | |
| 
 | |
| package require vtk
 | |
| package require vtkinteraction
 | |
| 
 | |
| # Create several unstructured grids each containing a cell of a different type.
 | |
| vtkPoints voxelPoints
 | |
|   voxelPoints SetNumberOfPoints 8
 | |
|   voxelPoints InsertPoint 0 0 0 0
 | |
|   voxelPoints InsertPoint 1 1 0 0
 | |
|   voxelPoints InsertPoint 2 0 1 0
 | |
|   voxelPoints InsertPoint 3 1 1 0
 | |
|   voxelPoints InsertPoint 4 0 0 1
 | |
|   voxelPoints InsertPoint 5 1 0 1
 | |
|   voxelPoints InsertPoint 6 0 1 1
 | |
|   voxelPoints InsertPoint 7 1 1 1
 | |
| vtkVoxel aVoxel
 | |
|   [aVoxel GetPointIds] SetId 0 0
 | |
|   [aVoxel GetPointIds] SetId 1 1
 | |
|   [aVoxel GetPointIds] SetId 2 2
 | |
|   [aVoxel GetPointIds] SetId 3 3
 | |
|   [aVoxel GetPointIds] SetId 4 4
 | |
|   [aVoxel GetPointIds] SetId 5 5
 | |
|   [aVoxel GetPointIds] SetId 6 6
 | |
|   [aVoxel GetPointIds] SetId 7 7
 | |
| vtkUnstructuredGrid aVoxelGrid
 | |
|   aVoxelGrid Allocate 1 1
 | |
|   aVoxelGrid InsertNextCell [aVoxel GetCellType] [aVoxel GetPointIds]
 | |
|   aVoxelGrid SetPoints voxelPoints
 | |
| vtkDataSetMapper aVoxelMapper
 | |
|   aVoxelMapper SetInput aVoxelGrid
 | |
| vtkActor aVoxelActor
 | |
|   aVoxelActor SetMapper aVoxelMapper
 | |
|   [aVoxelActor GetProperty] SetDiffuseColor 1 0 0
 | |
| 
 | |
| vtkPoints hexahedronPoints
 | |
|   hexahedronPoints SetNumberOfPoints 8
 | |
|   hexahedronPoints InsertPoint 0 0 0 0
 | |
|   hexahedronPoints InsertPoint 1 1 0 0
 | |
|   hexahedronPoints InsertPoint 2 1 1 0
 | |
|   hexahedronPoints InsertPoint 3 0 1 0
 | |
|   hexahedronPoints InsertPoint 4 0 0 1
 | |
|   hexahedronPoints InsertPoint 5 1 0 1
 | |
|   hexahedronPoints InsertPoint 6 1 1 1
 | |
|   hexahedronPoints InsertPoint 7 0 1 1
 | |
| vtkHexahedron aHexahedron
 | |
|   [aHexahedron GetPointIds] SetId 0 0
 | |
|   [aHexahedron GetPointIds] SetId 1 1
 | |
|   [aHexahedron GetPointIds] SetId 2 2
 | |
|   [aHexahedron GetPointIds] SetId 3 3
 | |
|   [aHexahedron GetPointIds] SetId 4 4
 | |
|   [aHexahedron GetPointIds] SetId 5 5
 | |
|   [aHexahedron GetPointIds] SetId 6 6
 | |
|   [aHexahedron GetPointIds] SetId 7 7
 | |
| vtkUnstructuredGrid aHexahedronGrid
 | |
|   aHexahedronGrid Allocate 1 1
 | |
|   aHexahedronGrid InsertNextCell [aHexahedron GetCellType] [aHexahedron GetPointIds]
 | |
|   aHexahedronGrid SetPoints hexahedronPoints
 | |
| vtkDataSetMapper aHexahedronMapper
 | |
|   aHexahedronMapper SetInput aHexahedronGrid
 | |
| vtkActor aHexahedronActor
 | |
|   aHexahedronActor SetMapper aHexahedronMapper
 | |
|   aHexahedronActor AddPosition 2 0 0
 | |
|   [aHexahedronActor GetProperty] SetDiffuseColor 1 1 0
 | |
| 
 | |
| vtkPoints tetraPoints
 | |
|   tetraPoints SetNumberOfPoints 4
 | |
|   tetraPoints InsertPoint 0 0 0 0
 | |
|   tetraPoints InsertPoint 1 1 0 0
 | |
|   tetraPoints InsertPoint 2 .5 1 0
 | |
|   tetraPoints InsertPoint 3 .5 .5 1
 | |
| vtkTetra aTetra
 | |
|   [aTetra GetPointIds] SetId 0 0
 | |
|   [aTetra GetPointIds] SetId 1 1
 | |
|   [aTetra GetPointIds] SetId 2 2
 | |
|   [aTetra GetPointIds] SetId 3 3
 | |
| vtkUnstructuredGrid aTetraGrid
 | |
|   aTetraGrid Allocate 1 1
 | |
|   aTetraGrid InsertNextCell [aTetra GetCellType] [aTetra GetPointIds]
 | |
|   aTetraGrid SetPoints tetraPoints
 | |
| vtkDataSetMapper aTetraMapper
 | |
|   aTetraMapper SetInput aTetraGrid
 | |
| vtkActor aTetraActor
 | |
|   aTetraActor SetMapper aTetraMapper
 | |
|   aTetraActor AddPosition 4 0 0
 | |
|   [aTetraActor GetProperty] SetDiffuseColor 0 1 0
 | |
| 
 | |
| vtkPoints wedgePoints
 | |
|   wedgePoints SetNumberOfPoints 6
 | |
|   wedgePoints InsertPoint 0 0 1 0
 | |
|   wedgePoints InsertPoint 1 0 0 0
 | |
|   wedgePoints InsertPoint 2 0 .5 .5
 | |
|   wedgePoints InsertPoint 3 1 1 0
 | |
|   wedgePoints InsertPoint 4 1 0 0
 | |
|   wedgePoints InsertPoint 5 1 .5 .5
 | |
| vtkWedge aWedge
 | |
|   [aWedge GetPointIds] SetId 0 0
 | |
|   [aWedge GetPointIds] SetId 1 1
 | |
|   [aWedge GetPointIds] SetId 2 2
 | |
|   [aWedge GetPointIds] SetId 3 3
 | |
|   [aWedge GetPointIds] SetId 4 4
 | |
|   [aWedge GetPointIds] SetId 5 5
 | |
| vtkUnstructuredGrid aWedgeGrid
 | |
|   aWedgeGrid Allocate 1 1
 | |
|   aWedgeGrid InsertNextCell [aWedge GetCellType] [aWedge GetPointIds]
 | |
|   aWedgeGrid SetPoints wedgePoints
 | |
| vtkDataSetMapper aWedgeMapper
 | |
|   aWedgeMapper SetInput aWedgeGrid
 | |
| vtkActor aWedgeActor
 | |
|   aWedgeActor SetMapper aWedgeMapper
 | |
|   aWedgeActor AddPosition 6 0 0
 | |
|   [aWedgeActor GetProperty] SetDiffuseColor 0 1 1
 | |
| 
 | |
| vtkPoints pyramidPoints
 | |
|   pyramidPoints SetNumberOfPoints 5
 | |
|   pyramidPoints InsertPoint 0 0 0 0
 | |
|   pyramidPoints InsertPoint 1 1 0 0
 | |
|   pyramidPoints InsertPoint 2 1 1 0
 | |
|   pyramidPoints InsertPoint 3 0 1 0
 | |
|   pyramidPoints InsertPoint 4 .5 .5 1
 | |
| vtkPyramid aPyramid
 | |
|   [aPyramid GetPointIds] SetId 0 0
 | |
|   [aPyramid GetPointIds] SetId 1 1
 | |
|   [aPyramid GetPointIds] SetId 2 2
 | |
|   [aPyramid GetPointIds] SetId 3 3
 | |
|   [aPyramid GetPointIds] SetId 4 4
 | |
| vtkUnstructuredGrid aPyramidGrid
 | |
|   aPyramidGrid Allocate 1 1
 | |
|   aPyramidGrid InsertNextCell [aPyramid GetCellType] [aPyramid GetPointIds]
 | |
|   aPyramidGrid SetPoints pyramidPoints
 | |
| vtkDataSetMapper aPyramidMapper
 | |
|   aPyramidMapper SetInput aPyramidGrid
 | |
| vtkActor aPyramidActor
 | |
|   aPyramidActor SetMapper aPyramidMapper
 | |
|   aPyramidActor AddPosition 8 0 0
 | |
|   [aPyramidActor GetProperty] SetDiffuseColor 1 0 1
 | |
| 
 | |
| vtkPoints pixelPoints
 | |
|   pixelPoints SetNumberOfPoints 4
 | |
|   pixelPoints InsertPoint 0 0 0 0
 | |
|   pixelPoints InsertPoint 1 1 0 0
 | |
|   pixelPoints InsertPoint 2 0 1 0
 | |
|   pixelPoints InsertPoint 3 1 1 0
 | |
| vtkPixel aPixel
 | |
|   [aPixel GetPointIds] SetId 0 0
 | |
|   [aPixel GetPointIds] SetId 1 1
 | |
|   [aPixel GetPointIds] SetId 2 2
 | |
|   [aPixel GetPointIds] SetId 3 3
 | |
| vtkUnstructuredGrid aPixelGrid
 | |
|   aPixelGrid Allocate 1 1
 | |
|   aPixelGrid InsertNextCell [aPixel GetCellType] [aPixel GetPointIds]
 | |
|   aPixelGrid SetPoints pixelPoints
 | |
| vtkDataSetMapper aPixelMapper
 | |
|   aPixelMapper SetInput aPixelGrid
 | |
| vtkActor aPixelActor
 | |
|   aPixelActor SetMapper aPixelMapper
 | |
|   aPixelActor AddPosition 0 0 2
 | |
|   [aPixelActor GetProperty] SetDiffuseColor 0 1 1
 | |
| 
 | |
| vtkPoints quadPoints
 | |
|   quadPoints SetNumberOfPoints 4
 | |
|   quadPoints InsertPoint 0 0 0 0
 | |
|   quadPoints InsertPoint 1 1 0 0
 | |
|   quadPoints InsertPoint 2 1 1 0
 | |
|   quadPoints InsertPoint 3 0 1 0
 | |
| vtkQuad aQuad
 | |
|   [aQuad GetPointIds] SetId 0 0
 | |
|   [aQuad GetPointIds] SetId 1 1
 | |
|   [aQuad GetPointIds] SetId 2 2
 | |
|   [aQuad GetPointIds] SetId 3 3
 | |
| vtkUnstructuredGrid aQuadGrid
 | |
|   aQuadGrid Allocate 1 1
 | |
|   aQuadGrid InsertNextCell [aQuad GetCellType] [aQuad GetPointIds]
 | |
|   aQuadGrid SetPoints quadPoints
 | |
| vtkDataSetMapper aQuadMapper
 | |
|   aQuadMapper SetInput aQuadGrid
 | |
| vtkActor aQuadActor
 | |
|   aQuadActor SetMapper aQuadMapper
 | |
|   aQuadActor AddPosition 2 0 2
 | |
|   [aQuadActor GetProperty] SetDiffuseColor 1 0 1
 | |
| 
 | |
| vtkPoints trianglePoints
 | |
|   trianglePoints SetNumberOfPoints 3
 | |
|   trianglePoints InsertPoint 0 0 0 0
 | |
|   trianglePoints InsertPoint 1 1 0 0
 | |
|   trianglePoints InsertPoint 2 .5 .5 0
 | |
| vtkFloatArray triangleTCoords
 | |
|   triangleTCoords SetNumberOfComponents 3
 | |
|   triangleTCoords SetNumberOfTuples 3
 | |
|   triangleTCoords InsertTuple3 0 1 1 1
 | |
|   triangleTCoords InsertTuple3 1 2 2 2
 | |
|   triangleTCoords InsertTuple3 2 3 3 3
 | |
| vtkTriangle aTriangle
 | |
|   [aTriangle GetPointIds] SetId 0 0
 | |
|   [aTriangle GetPointIds] SetId 1 1
 | |
|   [aTriangle GetPointIds] SetId 2 2
 | |
| vtkUnstructuredGrid aTriangleGrid
 | |
|   aTriangleGrid Allocate 1 1
 | |
|   aTriangleGrid InsertNextCell [aTriangle GetCellType] [aTriangle GetPointIds]
 | |
|   aTriangleGrid SetPoints trianglePoints
 | |
|   [aTriangleGrid GetPointData] SetTCoords triangleTCoords
 | |
| vtkDataSetMapper aTriangleMapper
 | |
|   aTriangleMapper SetInput aTriangleGrid
 | |
| vtkActor aTriangleActor
 | |
|   aTriangleActor SetMapper aTriangleMapper
 | |
|   aTriangleActor AddPosition 4 0 2
 | |
|   [aTriangleActor GetProperty] SetDiffuseColor .3 1 .5
 | |
| 
 | |
| vtkPoints polygonPoints
 | |
|   polygonPoints SetNumberOfPoints 4
 | |
|   polygonPoints InsertPoint 0 0 0 0
 | |
|   polygonPoints InsertPoint 1 1 0 0
 | |
|   polygonPoints InsertPoint 2 1 1 0
 | |
|   polygonPoints InsertPoint 3 0 1 0
 | |
| vtkPolygon aPolygon
 | |
|   [aPolygon GetPointIds] SetNumberOfIds 4
 | |
|   [aPolygon GetPointIds] SetId 0 0
 | |
|   [aPolygon GetPointIds] SetId 1 1
 | |
|   [aPolygon GetPointIds] SetId 2 2
 | |
|   [aPolygon GetPointIds] SetId 3 3
 | |
| vtkUnstructuredGrid aPolygonGrid
 | |
|   aPolygonGrid Allocate 1 1
 | |
|   aPolygonGrid InsertNextCell [aPolygon GetCellType] [aPolygon GetPointIds]
 | |
|   aPolygonGrid SetPoints polygonPoints
 | |
| vtkDataSetMapper aPolygonMapper
 | |
|   aPolygonMapper SetInput aPolygonGrid
 | |
| vtkActor aPolygonActor
 | |
|   aPolygonActor SetMapper aPolygonMapper
 | |
|   aPolygonActor AddPosition 6 0 2
 | |
|   [aPolygonActor GetProperty] SetDiffuseColor 1 .4 .5
 | |
| 
 | |
| vtkPoints triangleStripPoints
 | |
|   triangleStripPoints SetNumberOfPoints 5
 | |
|   triangleStripPoints InsertPoint 0 0 1 0
 | |
|   triangleStripPoints InsertPoint 1 0 0 0
 | |
|   triangleStripPoints InsertPoint 2 1 1 0
 | |
|   triangleStripPoints InsertPoint 3 1 0 0
 | |
|   triangleStripPoints InsertPoint 4 2 1 0
 | |
| vtkFloatArray triangleStripTCoords
 | |
|   triangleStripTCoords SetNumberOfComponents 3
 | |
|   triangleStripTCoords SetNumberOfTuples 3
 | |
|   triangleStripTCoords InsertTuple3 0 1 1 1
 | |
|   triangleStripTCoords InsertTuple3 1 2 2 2
 | |
|   triangleStripTCoords InsertTuple3 2 3 3 3
 | |
|   triangleStripTCoords InsertTuple3 3 4 4 4
 | |
|   triangleStripTCoords InsertTuple3 4 5 5 5
 | |
| vtkTriangleStrip aTriangleStrip
 | |
|   [aTriangleStrip GetPointIds] SetNumberOfIds 5
 | |
|   [aTriangleStrip GetPointIds] SetId 0 0
 | |
|   [aTriangleStrip GetPointIds] SetId 1 1
 | |
|   [aTriangleStrip GetPointIds] SetId 2 2
 | |
|   [aTriangleStrip GetPointIds] SetId 3 3
 | |
|   [aTriangleStrip GetPointIds] SetId 4 4
 | |
| vtkUnstructuredGrid aTriangleStripGrid
 | |
|   aTriangleStripGrid Allocate 1 1
 | |
|   aTriangleStripGrid InsertNextCell [aTriangleStrip GetCellType] [aTriangleStrip GetPointIds]
 | |
|   aTriangleStripGrid SetPoints triangleStripPoints
 | |
|   [aTriangleStripGrid GetPointData] SetTCoords triangleStripTCoords
 | |
| vtkDataSetMapper aTriangleStripMapper
 | |
|   aTriangleStripMapper SetInput aTriangleStripGrid
 | |
| vtkActor aTriangleStripActor
 | |
|   aTriangleStripActor SetMapper aTriangleStripMapper
 | |
|   aTriangleStripActor AddPosition 8 0 2
 | |
|   [aTriangleStripActor GetProperty] SetDiffuseColor .3 .7 1
 | |
| 
 | |
| vtkPoints linePoints
 | |
|   linePoints SetNumberOfPoints 2
 | |
|   linePoints InsertPoint 0 0 0 0
 | |
|   linePoints InsertPoint 1 1 1 0
 | |
| vtkLine aLine
 | |
|   [aLine GetPointIds] SetId 0 0
 | |
|   [aLine GetPointIds] SetId 1 1
 | |
| vtkUnstructuredGrid aLineGrid
 | |
|   aLineGrid Allocate 1 1
 | |
|   aLineGrid InsertNextCell [aLine GetCellType] [aLine GetPointIds]
 | |
|   aLineGrid SetPoints linePoints
 | |
| vtkDataSetMapper aLineMapper
 | |
|   aLineMapper SetInput aLineGrid
 | |
| vtkActor aLineActor
 | |
|   aLineActor SetMapper aLineMapper
 | |
|   aLineActor AddPosition 0 0 4
 | |
|   [aLineActor GetProperty] SetDiffuseColor .2 1 1
 | |
| 
 | |
| vtkPoints polyLinePoints
 | |
|   polyLinePoints SetNumberOfPoints 3
 | |
|   polyLinePoints InsertPoint 0 0 0 0
 | |
|   polyLinePoints InsertPoint 1 1 1 0
 | |
|   polyLinePoints InsertPoint 2 1 0 0
 | |
| vtkPolyLine aPolyLine
 | |
|   [aPolyLine GetPointIds] SetNumberOfIds 3
 | |
|   [aPolyLine GetPointIds] SetId 0 0
 | |
|   [aPolyLine GetPointIds] SetId 1 1
 | |
|   [aPolyLine GetPointIds] SetId 2 2
 | |
| vtkUnstructuredGrid aPolyLineGrid
 | |
|   aPolyLineGrid Allocate 1 1
 | |
|   aPolyLineGrid InsertNextCell [aPolyLine GetCellType] [aPolyLine GetPointIds]
 | |
|   aPolyLineGrid SetPoints polyLinePoints
 | |
| vtkDataSetMapper aPolyLineMapper
 | |
|   aPolyLineMapper SetInput aPolyLineGrid
 | |
| vtkActor aPolyLineActor
 | |
|   aPolyLineActor SetMapper aPolyLineMapper
 | |
|   aPolyLineActor AddPosition 2 0 4
 | |
|   [aPolyLineActor GetProperty] SetDiffuseColor 1 1 1
 | |
| 
 | |
| vtkPoints vertexPoints
 | |
|   vertexPoints SetNumberOfPoints 1
 | |
|   vertexPoints InsertPoint 0 0 0 0
 | |
| vtkVertex aVertex
 | |
|   [aVertex GetPointIds] SetId 0 0
 | |
| vtkUnstructuredGrid aVertexGrid
 | |
|   aVertexGrid Allocate 1 1
 | |
|   aVertexGrid InsertNextCell [aVertex GetCellType] [aVertex GetPointIds]
 | |
|   aVertexGrid SetPoints vertexPoints
 | |
| vtkDataSetMapper aVertexMapper
 | |
|   aVertexMapper SetInput aVertexGrid
 | |
| vtkActor aVertexActor
 | |
|   aVertexActor SetMapper aVertexMapper
 | |
|   aVertexActor AddPosition 0 0 6
 | |
|   [aVertexActor GetProperty] SetDiffuseColor 1 1 1
 | |
| 
 | |
| vtkPoints polyVertexPoints
 | |
|   polyVertexPoints SetNumberOfPoints 3
 | |
|   polyVertexPoints InsertPoint 0 0 0 0
 | |
|   polyVertexPoints InsertPoint 1 1 0 0
 | |
|   polyVertexPoints InsertPoint 2 1 1 0
 | |
| vtkPolyVertex aPolyVertex
 | |
|   [aPolyVertex GetPointIds] SetNumberOfIds 3
 | |
|   [aPolyVertex GetPointIds] SetId 0 0
 | |
|   [aPolyVertex GetPointIds] SetId 1 1
 | |
|   [aPolyVertex GetPointIds] SetId 2 2
 | |
| vtkUnstructuredGrid aPolyVertexGrid
 | |
|   aPolyVertexGrid Allocate 1 1
 | |
|   aPolyVertexGrid InsertNextCell [aPolyVertex GetCellType] [aPolyVertex GetPointIds]
 | |
|   aPolyVertexGrid SetPoints polyVertexPoints
 | |
| vtkDataSetMapper aPolyVertexMapper
 | |
|   aPolyVertexMapper SetInput aPolyVertexGrid
 | |
| vtkActor aPolyVertexActor
 | |
|   aPolyVertexActor SetMapper aPolyVertexMapper
 | |
|   aPolyVertexActor AddPosition 2 0 6
 | |
|  [aPolyVertexActor GetProperty] SetDiffuseColor 1 1 1
 | |
| 
 | |
| # Create the usual rendering stuff.
 | |
| vtkRenderer ren1
 | |
| vtkRenderWindow renWin
 | |
|   renWin AddRenderer ren1
 | |
|   renWin SetSize 300 150
 | |
| vtkRenderWindowInteractor iren
 | |
|   iren SetRenderWindow renWin
 | |
| 
 | |
| ren1 SetBackground .1 .2 .4
 | |
| 
 | |
| ren1 AddActor aVoxelActor
 | |
| ren1 AddActor aHexahedronActor
 | |
| ren1 AddActor aTetraActor
 | |
| ren1 AddActor aWedgeActor
 | |
| ren1 AddActor aPyramidActor
 | |
| ren1 AddActor aPixelActor
 | |
| ren1 AddActor aQuadActor
 | |
| ren1 AddActor aTriangleActor
 | |
| ren1 AddActor aPolygonActor
 | |
| ren1 AddActor aTriangleStripActor
 | |
| ren1 AddActor aLineActor
 | |
| ren1 AddActor aPolyLineActor
 | |
| ren1 AddActor aVertexActor
 | |
| ren1 AddActor aPolyVertexActor
 | |
| 
 | |
| ren1 ResetCamera
 | |
| [ren1 GetActiveCamera] Azimuth 30
 | |
| [ren1 GetActiveCamera] Elevation 20
 | |
| [ren1 GetActiveCamera] Dolly 2.8
 | |
| ren1 ResetCameraClippingRange
 | |
| 
 | |
| renWin Render
 | |
| 
 | |
| # render the image
 | |
| #
 | |
| iren AddObserver UserEvent {wm deiconify .vtkInteract}
 | |
| iren Initialize
 | |
| wm withdraw .
 | |
| 
 |