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.
115 lines
2.3 KiB
115 lines
2.3 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
#
|
|
# Test butterfly subdivision of point data
|
|
#
|
|
|
|
|
|
|
|
|
|
vtkSphereSource sphere
|
|
sphere SetPhiResolution 11
|
|
sphere SetThetaResolution 11
|
|
|
|
vtkElevationFilter colorIt
|
|
colorIt SetInputConnection [sphere GetOutputPort]
|
|
colorIt SetLowPoint 0 0 -.5
|
|
colorIt SetHighPoint 0 0 .5
|
|
|
|
vtkButterflySubdivisionFilter butterfly
|
|
butterfly SetInput [colorIt GetPolyDataOutput]
|
|
butterfly SetNumberOfSubdivisions 3
|
|
|
|
vtkLookupTable lut
|
|
lut SetNumberOfColors 256
|
|
lut Build
|
|
|
|
vtkPolyDataMapper mapper
|
|
mapper SetInputConnection [butterfly GetOutputPort]
|
|
mapper SetLookupTable lut
|
|
|
|
vtkActor actor
|
|
actor SetMapper mapper
|
|
|
|
vtkLinearSubdivisionFilter linear
|
|
linear SetInput [colorIt GetPolyDataOutput]
|
|
linear SetNumberOfSubdivisions 3
|
|
|
|
vtkPolyDataMapper mapper2
|
|
mapper2 SetInputConnection [linear GetOutputPort]
|
|
mapper2 SetLookupTable lut
|
|
|
|
vtkActor actor2
|
|
actor2 SetMapper mapper2
|
|
|
|
vtkPolyDataMapper mapper3
|
|
mapper3 SetInputConnection [colorIt GetOutputPort]
|
|
mapper3 SetLookupTable lut
|
|
|
|
vtkActor actor3
|
|
actor3 SetMapper mapper3
|
|
|
|
vtkRenderer ren1
|
|
vtkRenderer ren2
|
|
vtkRenderer ren3
|
|
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
renWin AddRenderer ren2
|
|
renWin AddRenderer ren3
|
|
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
ren1 AddActor actor
|
|
ren1 SetBackground 1 1 1
|
|
|
|
ren2 AddActor actor2
|
|
ren2 SetBackground 1 1 1
|
|
|
|
ren3 AddActor actor3
|
|
ren3 SetBackground 1 1 1
|
|
|
|
renWin SetSize 600 200
|
|
vtkCamera aCamera
|
|
aCamera Azimuth 70
|
|
vtkLight aLight
|
|
eval aLight SetPosition [aCamera GetPosition]
|
|
eval aLight SetFocalPoint [aCamera GetFocalPoint]
|
|
|
|
ren1 SetActiveCamera aCamera
|
|
ren1 AddLight aLight
|
|
ren1 ResetCamera
|
|
aCamera Dolly 1.4
|
|
ren1 ResetCameraClippingRange
|
|
|
|
ren2 SetActiveCamera aCamera
|
|
ren2 AddLight aLight
|
|
|
|
ren3 SetActiveCamera aCamera
|
|
ren3 AddLight aLight
|
|
|
|
ren3 SetViewport 0 0 .33 1
|
|
ren2 SetViewport .33 0 .67 1
|
|
ren1 SetViewport .67 0 1 1
|
|
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
iren Initialize
|
|
|
|
proc flat {} {
|
|
[actor GetProperty] SetInterpolationToFlat
|
|
[actor2 GetProperty] SetInterpolationToFlat
|
|
[actor3 GetProperty] SetInterpolationToFlat
|
|
renWin Render
|
|
}
|
|
|
|
proc smooth {} {
|
|
[actor GetProperty] SetInterpolationToGouraud
|
|
[actor2 GetProperty] SetInterpolationToGouraud
|
|
[actor3 GetProperty] SetInterpolationToGouraud
|
|
renWin Render
|
|
}
|
|
|
|
|
|
wm withdraw .
|
|
|