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.
100 lines
2.4 KiB
100 lines
2.4 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
# Color points with scalars
|
|
|
|
# get the interactor ui
|
|
|
|
vtkRenderer ren1
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
# create some points with scalars
|
|
|
|
vtkUnsignedCharArray colors
|
|
colors SetName "Colors"
|
|
colors SetNumberOfComponents 3
|
|
colors SetNumberOfTuples 3
|
|
colors InsertComponent 0 0 255
|
|
colors InsertComponent 0 1 99
|
|
colors InsertComponent 0 2 71
|
|
|
|
colors InsertComponent 1 0 125
|
|
colors InsertComponent 1 1 255
|
|
colors InsertComponent 1 2 0
|
|
|
|
colors InsertComponent 2 0 226
|
|
colors InsertComponent 2 1 207
|
|
colors InsertComponent 2 2 87
|
|
|
|
vtkUnsignedCharArray sizes
|
|
sizes SetName "Sizes"
|
|
sizes SetNumberOfComponents 1
|
|
sizes SetNumberOfTuples 3
|
|
sizes SetValue 0 1
|
|
sizes SetValue 1 2
|
|
sizes SetValue 2 3
|
|
|
|
vtkPoints polyVertexPoints
|
|
polyVertexPoints SetNumberOfPoints 3
|
|
polyVertexPoints InsertPoint 0 0.0 0.0 0.0
|
|
polyVertexPoints InsertPoint 1 2.5 0.0 0.0
|
|
polyVertexPoints InsertPoint 2 5.0 0.0 0.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
|
|
[aPolyVertexGrid GetPointData] SetScalars sizes
|
|
[aPolyVertexGrid GetPointData] AddArray colors
|
|
|
|
vtkSphereSource sphere
|
|
sphere SetRadius 1.0
|
|
|
|
vtkGlyph3D glyphs
|
|
glyphs ScalingOn
|
|
glyphs SetColorModeToColorByScalar
|
|
glyphs SetScaleModeToScaleByScalar
|
|
glyphs SetScaleFactor 1
|
|
glyphs SetInput aPolyVertexGrid
|
|
glyphs SetSource [sphere GetOutput]
|
|
glyphs SetInputArrayToProcess 0 0 0 0 "Sizes"
|
|
glyphs SetInputArrayToProcess 3 0 0 0 "Colors"
|
|
|
|
#puts [ glyphs GetScaleModeAsString]
|
|
|
|
vtkDataSetMapper glyphsMapper
|
|
glyphsMapper SetInputConnection [glyphs GetOutputPort]
|
|
|
|
vtkActor glyphsActor
|
|
glyphsActor SetMapper glyphsMapper
|
|
[glyphsActor GetProperty] BackfaceCullingOn
|
|
|
|
|
|
ren1 SetBackground .1 .2 .4
|
|
|
|
ren1 AddActor glyphsActor; [glyphsActor GetProperty] SetDiffuseColor 1 1 1
|
|
|
|
ren1 ResetCamera
|
|
[ren1 GetActiveCamera] Azimuth 30
|
|
[ren1 GetActiveCamera] Elevation 20
|
|
[ren1 GetActiveCamera] Dolly 1.25
|
|
ren1 ResetCameraClippingRange
|
|
|
|
renWin Render
|
|
|
|
# render the image
|
|
#
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
iren Initialize
|
|
wm withdraw .
|
|
|
|
|
|
|