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.
 
 
 
 
 
 

101 lines
2.7 KiB

package require vtk
package require vtkinteraction
# read in an interesting object and outline it
#
vtkBYUReader fohe
fohe SetGeometryFileName "$VTK_DATA_ROOT/Data/teapot.g"
vtkPolyDataNormals normals
normals SetInputConnection [fohe GetOutputPort]
vtkPolyDataMapper foheMapper
foheMapper SetInputConnection [normals GetOutputPort]
vtkLODActor foheActor
foheActor SetMapper foheMapper
vtkOutlineFilter outline
outline SetInputConnection [normals GetOutputPort]
vtkPolyDataMapper mapOutline
mapOutline SetInputConnection [outline GetOutputPort]
vtkActor outlineActor
outlineActor SetMapper mapOutline
[outlineActor GetProperty] SetColor 0 0 0
# Create the RenderWindow, Renderer, and setup viewports
vtkCamera camera
camera SetClippingRange 1.60187 20.0842
camera SetFocalPoint 0.21406 1.5 0
camera SetPosition 11.63 6.32 5.77
camera SetViewUp 0.180325 0.549245 -0.815974
vtkLight light
light SetFocalPoint 0.21406 1.5 0
light SetPosition 8.3761 4.94858 4.12505
vtkRenderer ren1
ren1 SetViewport 0 0 0.5 1.0
ren1 SetActiveCamera camera
ren1 AddLight light
vtkRenderer ren2
ren2 SetViewport 0.5 0 1.0 1.0
ren2 SetActiveCamera camera
ren2 AddLight light
vtkRenderWindow renWin
renWin AddRenderer ren1
renWin AddRenderer ren2
renWin SetWindowName "VTK - Cube Axes"
renWin SetSize 790 400
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# Add the actors to the renderer, set the background and size
#
ren1 AddViewProp foheActor
ren1 AddViewProp outlineActor
ren2 AddViewProp foheActor
if { [info command "rtExMath"] == ""} {
ren2 AddViewProp outlineActor
}
ren1 SetBackground 0.1 0.2 0.4
ren2 SetBackground 0.1 0.2 0.4
vtkTextProperty tprop
tprop SetColor 1 1 1
tprop ShadowOn
vtkCubeAxesActor2D axes
axes SetInput [normals GetOutput]
axes SetCamera [ren1 GetActiveCamera]
axes SetLabelFormat "%6.1f"
axes SetFlyModeToOuterEdges
axes SetFontFactor 0.8
axes SetAxisTitleTextProperty tprop
axes SetAxisLabelTextProperty tprop
ren1 AddViewProp axes
vtkCubeAxesActor2D axes2
axes2 SetViewProp foheActor
axes2 SetCamera [ren2 GetActiveCamera]
axes2 SetLabelFormat [axes GetLabelFormat]
axes2 SetFlyModeToClosestTriad
axes2 SetFontFactor [axes GetFontFactor]
axes2 ScalingOff
axes2 SetAxisTitleTextProperty tprop
axes2 SetAxisLabelTextProperty tprop
ren2 AddViewProp axes2
renWin Render
# render the image
#
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
proc TkCheckAbort {} {
set foo [renWin GetEventPending]
if {$foo != 0} {renWin SetAbortRender 1}
}
renWin AddObserver "AbortCheckEvent" {TkCheckAbort}
# prevent the tk window from showing up then start the event loop
wm withdraw .