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.
58 lines
1.4 KiB
58 lines
1.4 KiB
2 years ago
|
package require vtk
|
||
|
package require vtkinteraction
|
||
|
|
||
|
# Now create the RenderWindow, Renderer and Interactor
|
||
|
#
|
||
|
vtkRenderer ren1
|
||
|
vtkRenderWindow renWin
|
||
|
renWin AddRenderer ren1
|
||
|
vtkRenderWindowInteractor iren
|
||
|
iren SetRenderWindow renWin
|
||
|
|
||
|
vtkPNMReader imageIn
|
||
|
imageIn SetFileName "$VTK_DATA_ROOT/Data/B.pgm"
|
||
|
|
||
|
vtkImageGaussianSmooth gaussian
|
||
|
eval gaussian SetStandardDeviations 2 2
|
||
|
gaussian SetDimensionality 2
|
||
|
gaussian SetRadiusFactors 1 1
|
||
|
gaussian SetInputConnection [imageIn GetOutputPort]
|
||
|
|
||
|
vtkImageDataGeometryFilter geometry
|
||
|
geometry SetInputConnection [gaussian GetOutputPort]
|
||
|
|
||
|
vtkClipPolyData aClipper
|
||
|
aClipper SetInputConnection [geometry GetOutputPort]
|
||
|
aClipper SetValue 127.5
|
||
|
aClipper GenerateClipScalarsOff
|
||
|
aClipper InsideOutOn
|
||
|
[[aClipper GetOutput] GetPointData] CopyScalarsOff
|
||
|
aClipper Update
|
||
|
|
||
|
vtkPolyDataMapper mapper
|
||
|
mapper SetInputConnection [aClipper GetOutputPort]
|
||
|
mapper ScalarVisibilityOff
|
||
|
|
||
|
vtkActor letter
|
||
|
letter SetMapper mapper
|
||
|
|
||
|
ren1 AddActor letter
|
||
|
[letter GetProperty] SetDiffuseColor 0 0 0
|
||
|
[letter GetProperty] SetRepresentationToWireframe
|
||
|
|
||
|
ren1 SetBackground 1 1 1
|
||
|
ren1 ResetCamera
|
||
|
[ren1 GetActiveCamera] Dolly 1.2
|
||
|
ren1 ResetCameraClippingRange
|
||
|
|
||
|
renWin SetSize 320 320
|
||
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
||
|
|
||
|
|
||
|
# render the image
|
||
|
#
|
||
|
renWin Render
|
||
|
|
||
|
# prevent the tk window from showing up then start the event loop
|
||
|
wm withdraw .
|