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.
 
 
 
 
 
 

117 lines
3.2 KiB

package require vtk
package require vtkinteraction
package require vtktesting
# Create five instances of vtkPlatonicSolidSource
# corresponding to each of the five Platonic solids.
#
vtkPlatonicSolidSource tet
tet SetSolidTypeToTetrahedron
vtkPolyDataMapper tetMapper
tetMapper SetInputConnection [tet GetOutputPort]
vtkActor tetActor
tetActor SetMapper tetMapper
vtkPlatonicSolidSource cube
cube SetSolidTypeToCube
vtkPolyDataMapper cubeMapper
cubeMapper SetInputConnection [cube GetOutputPort]
vtkActor cubeActor
cubeActor SetMapper cubeMapper
cubeActor AddPosition 2.0 0 0
vtkPlatonicSolidSource oct
oct SetSolidTypeToOctahedron
vtkPolyDataMapper octMapper
octMapper SetInputConnection [oct GetOutputPort]
vtkActor octActor
octActor SetMapper octMapper
octActor AddPosition 4.0 0 0
vtkPlatonicSolidSource icosa
icosa SetSolidTypeToIcosahedron
vtkPolyDataMapper icosaMapper
icosaMapper SetInputConnection [icosa GetOutputPort]
vtkActor icosaActor
icosaActor SetMapper icosaMapper
icosaActor AddPosition 6.0 0 0
vtkPlatonicSolidSource dode
dode SetSolidTypeToDodecahedron
vtkPolyDataMapper dodeMapper
dodeMapper SetInputConnection [dode GetOutputPort]
vtkActor dodeActor
dodeActor SetMapper dodeMapper
dodeActor AddPosition 8.0 0 0
# Create rendering stuff
#
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 tetActor
ren1 AddActor cubeActor
ren1 AddActor octActor
ren1 AddActor icosaActor
ren1 AddActor dodeActor
# Create a lookup table with colors for each face
#
vtkMath math
vtkLookupTable lut
lut SetNumberOfColors 20
lut Build
lut SetTableValue 0 1 0 0 1
lut SetTableValue 1 0 1 0 1
lut SetTableValue 2 1 1 0 1
lut SetTableValue 3 0 0 1 1
lut SetTableValue 4 1 0 1 1
lut SetTableValue 5 0 1 1 1
eval lut SetTableValue 6 $spring_green 1.0
eval lut SetTableValue 7 $lavender 1.0
eval lut SetTableValue 8 $mint_cream 1.0
eval lut SetTableValue 9 $violet 1.0
eval lut SetTableValue 10 $ivory_black 1.0
eval lut SetTableValue 11 $coral 1.0
eval lut SetTableValue 12 $pink 1.0
eval lut SetTableValue 13 $salmon 1.0
eval lut SetTableValue 14 $sepia 1.0
eval lut SetTableValue 15 $carrot 1.0
eval lut SetTableValue 16 $gold 1.0
eval lut SetTableValue 17 $forest_green 1.0
eval lut SetTableValue 18 $turquoise 1.0
eval lut SetTableValue 19 $plum 1.0
lut SetTableRange 0 19
tetMapper SetLookupTable lut
tetMapper SetScalarRange 0 19
cubeMapper SetLookupTable lut
cubeMapper SetScalarRange 0 19
octMapper SetLookupTable lut
octMapper SetScalarRange 0 19
icosaMapper SetLookupTable lut
icosaMapper SetScalarRange 0 19
dodeMapper SetLookupTable lut
dodeMapper SetScalarRange 0 19
set cam [ren1 GetActiveCamera]
$cam SetPosition 3.89696 7.20771 1.44123
$cam SetFocalPoint 3.96132 0 0
$cam SetViewUp -0.0079335 0.196002 -0.980571
$cam SetClippingRange 5.42814 9.78848
ren1 SetBackground 0 0 0
renWin SetSize 400 150
iren Initialize
# render the image
#
iren AddObserver UserEvent {wm deiconify .vtkInteract}
# prevent the tk window from showing up then start the event loop
wm withdraw .