Cloned library of VTK-5.0.0 with extra build files for internal package management.
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.

103 lines
2.2 KiB

2 years ago
package require vtk
package require vtkinteraction
# Create some random points, scalars, and vectors to glyph
#
vtkPolyData pd
vtkPoints pts
vtkFloatArray scalars
vtkFloatArray vectors
vectors SetNumberOfComponents 3
pd SetPoints pts
[pd GetPointData] SetScalars scalars
[pd GetPointData] SetVectors vectors
vtkMath math
set size 500
for {set i 0} {$i < 100} {incr i} {
pts InsertNextPoint [math Random 0 [expr $size - 1]] \
[math Random 0 [expr $size - 1]] 0.0
scalars InsertNextValue [math Random 0.0 5]
vectors InsertNextTuple3 [math Random -1 1] [math Random -1 1] 0.0
}
vtkGlyphSource2D gs
gs SetGlyphTypeToCircle
gs SetScale 20
gs FilledOff
gs CrossOn
vtkGlyphSource2D gs1
gs1 SetGlyphTypeToTriangle
gs1 SetScale 20
gs1 FilledOff
gs1 CrossOn
vtkGlyphSource2D gs2
gs2 SetGlyphTypeToSquare
gs2 SetScale 20
gs2 FilledOff
gs2 CrossOn
vtkGlyphSource2D gs3
gs3 SetGlyphTypeToDiamond
gs3 SetScale 20
gs3 FilledOff
gs3 CrossOn
vtkGlyphSource2D gs4
gs4 SetGlyphTypeToDiamond
gs4 SetScale 20
gs4 FilledOn
gs4 DashOn
gs4 CrossOff
vtkGlyphSource2D gs5
gs5 SetGlyphTypeToThickArrow
gs5 SetScale 20
gs5 FilledOn
gs5 CrossOff
# Create a table of glyphs
vtkGlyph2D glypher
glypher SetInput pd
glypher SetSource 0 [gs GetOutput]
glypher SetSource 1 [gs1 GetOutput]
glypher SetSource 2 [gs2 GetOutput]
glypher SetSource 3 [gs3 GetOutput]
glypher SetSource 4 [gs4 GetOutput]
glypher SetSource 5 [gs5 GetOutput]
glypher SetIndexModeToScalar
glypher SetRange 0 5
glypher SetScaleModeToDataScalingOff
vtkPolyDataMapper2D mapper
mapper SetInputConnection [glypher GetOutputPort]
mapper SetScalarRange 0 5
vtkActor2D glyphActor
glyphActor SetMapper mapper
# Create the RenderWindow, Renderer and both Actors
#
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Add the actors to the renderer, set the background and size
#
ren1 AddActor glyphActor
ren1 SetBackground 1 1 1
renWin SetSize $size $size
renWin Render
# render the image
#
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
# prevent the tk window from showing up then start the event loop
wm withdraw .