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.
75 lines
1.7 KiB
75 lines
1.7 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
# get the interactor ui
|
|
|
|
## Graphics stuff
|
|
# Create the RenderWindow, Renderer and both Actors
|
|
#
|
|
vtkRenderer ren1
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
vtkImageGaussianSource gs1
|
|
gs1 SetWholeExtent 0 31 0 31 0 31
|
|
gs1 SetCenter 10 16 16
|
|
gs1 SetMaximum 1000
|
|
gs1 SetStandardDeviation 7
|
|
|
|
vtkImageGaussianSource gs2
|
|
gs2 SetWholeExtent 0 31 0 31 0 31
|
|
gs2 SetCenter 22 16 16
|
|
gs2 SetMaximum 1000
|
|
gs2 SetStandardDeviation 7
|
|
|
|
vtkImageAppendComponents iac
|
|
iac AddInput [gs1 GetOutput]
|
|
iac AddInput [gs2 GetOutput]
|
|
|
|
vtkContourFilter cf1
|
|
cf1 SetInputConnection [iac GetOutputPort]
|
|
cf1 SetValue 0 500
|
|
cf1 SetArrayComponent 0
|
|
|
|
vtkContourFilter cf2
|
|
cf2 SetInputConnection [iac GetOutputPort]
|
|
cf2 SetValue 0 500
|
|
cf2 SetArrayComponent 1
|
|
|
|
vtkPolyDataMapper mapper1
|
|
mapper1 SetInputConnection [cf1 GetOutputPort]
|
|
mapper1 SetImmediateModeRendering 1
|
|
mapper1 SetScalarRange 0 1
|
|
mapper1 SetScalarVisibility 0
|
|
mapper1 Update
|
|
|
|
vtkPolyDataMapper mapper2
|
|
mapper2 SetInputConnection [cf2 GetOutputPort]
|
|
mapper2 SetImmediateModeRendering 1
|
|
mapper2 SetScalarRange 0 1
|
|
mapper2 SetScalarVisibility 0
|
|
|
|
vtkActor actor1
|
|
actor1 SetMapper mapper1
|
|
[actor1 GetProperty] SetColor 1 1 1
|
|
ren1 AddActor actor1
|
|
|
|
vtkActor actor2
|
|
actor2 SetMapper mapper2
|
|
[actor2 GetProperty] SetColor 1 0 0
|
|
ren1 AddActor actor2
|
|
|
|
# Add the actors to the renderer, set the background and size
|
|
#
|
|
ren1 SetBackground .3 .3 .3
|
|
renWin SetSize 400 400
|
|
|
|
# enable user interface interactor
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
iren Initialize
|
|
|
|
# prevent the tk window from showing up then start the event loop
|
|
wm withdraw .
|
|
|
|
|