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.
 
 
 
 
 
 

85 lines
2.4 KiB

# This is a simple volume rendering example that
# uses a vtkVolumeRayCast mapper
package require vtk
package require vtkinteraction
# Simple volume rendering example.
vtkImageReader reader
reader SetDataByteOrderToLittleEndian
reader SetDataExtent 0 63 0 63 1 93
reader SetFilePrefix "$VTK_DATA_ROOT/Data/headsq/quarter"
reader SetDataMask 0x7fff
reader SetDataSpacing 2 2 1
reader SetDataScalarTypeToUnsignedShort
reader Update
[reader GetOutput] SetOrigin -63 -63 -46
# Create transfer functions for opacity and color
vtkPiecewiseFunction opacityTransferFunction
opacityTransferFunction AddPoint 100 0.0
opacityTransferFunction AddPoint 2000 1.0
vtkColorTransferFunction colorTransferFunction
colorTransferFunction ClampingOff
colorTransferFunction AddRGBPoint 0.0 1.00 0.0 0.0
colorTransferFunction AddRGBPoint 1000.0 0.00 1.0 0.0
colorTransferFunction AddRGBPoint 2000.0 0.00 0.0 1.0
colorTransferFunction AddRGBPoint 3000.0 1.00 1.0 1.0
colorTransferFunction AddRGBPoint 4000.0 1.00 1.0 1.0
# colorTransferFunction SetColorSpaceToHSV
# Create properties, mappers, volume actors, and ray cast function
vtkVolumeProperty volumeProperty
volumeProperty SetColor colorTransferFunction
volumeProperty SetScalarOpacity opacityTransferFunction
volumeProperty ShadeOn
volumeProperty SetInterpolationTypeToLinear
# The mapper / ray cast function know how to render the data
vtkOpenGLVolumeShearWarpMapper volumeMapper
volumeMapper SetInputConnection [reader GetOutputPort]
volumeMapper FastClassificationOff
volumeMapper SetFunctionTypeToMIP
volumeMapper IntermixIntersectingGeometryOn
# The volume holds the mapper and the property and
# can be used to position/orient the volume
vtkVolume volume
volume SetMapper volumeMapper
volume SetProperty volumeProperty
vtkCamera cam
cam ParallelProjectionOn
# Create the standard renderer, render window
# and interactor
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
ren1 SetActiveCamera cam
#ren1 AddVolume volume
ren1 SetBackground 0.5 0.5 0.5
renWin SetSize 600 600
ren1 AddVolume volume
ren1 ResetCamera
renWin Render
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver AbortCheckEvent {TkCheckAbort}
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
wm withdraw .