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.

70 lines
1.8 KiB

2 years ago
package require vtk
package require vtkinteraction
vtkLookupTable lut
lut SetHueRange 0.6 0
lut SetSaturationRange 1.0 0
lut SetValueRange 0.5 1.0
# Read the data: a height field results
vtkDEMReader demReader
demReader SetFileName "$VTK_DATA_ROOT/Data/SainteHelens.dem"
demReader Update
set lo [lindex [[demReader GetOutput] GetScalarRange] 0]
set hi [lindex [[demReader GetOutput] GetScalarRange] 1]
# Decimate the terrain
vtkGreedyTerrainDecimation deci
deci SetInputConnection [demReader GetOutputPort]
deci BoundaryVertexDeletionOn
# deci SetErrorMeasureToSpecifiedReduction
# deci SetReduction 0.95
deci SetErrorMeasureToNumberOfTriangles
deci SetNumberOfTriangles 5000
# deci SetErrorMeasureToAbsoluteError
# deci SetAbsoluteError 25.0
# deci SetErrorMeasureToRelativeError
# deci SetAbsoluteError 0.01
vtkPolyDataNormals normals
normals SetInputConnection [deci GetOutputPort]
normals SetFeatureAngle 60
normals ConsistencyOn
normals SplittingOff
vtkPolyDataMapper demMapper
demMapper SetInputConnection [normals GetOutputPort]
eval demMapper SetScalarRange $lo $hi
demMapper SetLookupTable lut
vtkLODActor actor
actor SetMapper demMapper
# 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 actor
ren1 SetBackground .1 .2 .4
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren SetDesiredUpdateRate 5
[ren1 GetActiveCamera] SetViewUp 0 0 1
[ren1 GetActiveCamera] SetPosition -99900 -21354 131801
[ren1 GetActiveCamera] SetFocalPoint 41461 41461 2815
ren1 ResetCamera
[ren1 GetActiveCamera] Dolly 1.2
ren1 ResetCameraClippingRange
renWin Render
wm withdraw .