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.
116 lines
2.6 KiB
116 lines
2.6 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
vtkMath math
|
|
math RandomSeed 22
|
|
|
|
vtkParallelFactory pf
|
|
pf RegisterFactory pf
|
|
|
|
vtkSphereSource sphere
|
|
sphere SetPhiResolution 32
|
|
sphere SetThetaResolution 32
|
|
|
|
vtkExtractPolyDataPiece extract
|
|
extract SetInputConnection [sphere GetOutputPort]
|
|
|
|
vtkPolyDataNormals normals
|
|
normals SetInputConnection [extract GetOutputPort]
|
|
|
|
vtkPieceScalars ps
|
|
ps SetInputConnection [normals GetOutputPort]
|
|
|
|
vtkPolyDataMapper mapper
|
|
mapper SetInputConnection [ps GetOutputPort]
|
|
mapper SetNumberOfPieces 2
|
|
|
|
vtkActor actor
|
|
actor SetMapper mapper
|
|
|
|
vtkSphereSource sphere2
|
|
sphere2 SetPhiResolution 32
|
|
sphere2 SetThetaResolution 32
|
|
|
|
vtkExtractPolyDataPiece extract2
|
|
extract2 SetInputConnection [sphere2 GetOutputPort]
|
|
|
|
vtkPolyDataMapper mapper2
|
|
mapper2 SetInputConnection [extract2 GetOutputPort]
|
|
mapper2 SetNumberOfPieces 2
|
|
mapper2 SetPiece 1
|
|
mapper2 SetScalarRange 0 4
|
|
mapper2 SetScalarModeToUseCellFieldData
|
|
mapper2 SetColorModeToMapScalars
|
|
mapper2 ColorByArrayComponent "vtkGhostLevels" 0
|
|
mapper2 SetGhostLevel 4
|
|
|
|
# check the pipeline size
|
|
extract2 UpdateInformation
|
|
vtkPipelineSize psize
|
|
if {[psize GetEstimatedSize extract2 0 0] > 100} {
|
|
puts stderr "ERROR: Pipeline Size increased"
|
|
}
|
|
if {[psize GetNumberOfSubPieces 10 mapper2] != 2} {
|
|
puts stderr "ERROR: Number of sub pieces changed"
|
|
}
|
|
|
|
vtkActor actor2
|
|
actor2 SetMapper mapper2
|
|
actor2 SetPosition 1.5 0 0
|
|
|
|
vtkSphereSource sphere3
|
|
sphere3 SetPhiResolution 32
|
|
sphere3 SetThetaResolution 32
|
|
|
|
vtkExtractPolyDataPiece extract3
|
|
extract3 SetInputConnection [sphere3 GetOutputPort]
|
|
|
|
vtkPieceScalars ps3
|
|
ps3 SetInputConnection [extract3 GetOutputPort]
|
|
|
|
vtkPolyDataMapper mapper3
|
|
mapper3 SetInputConnection [ps3 GetOutputPort]
|
|
mapper3 SetNumberOfSubPieces 8
|
|
mapper3 SetScalarRange 0 8
|
|
|
|
vtkActor actor3
|
|
actor3 SetMapper mapper3
|
|
actor3 SetPosition 0 -1.5 0
|
|
|
|
vtkSphereSource sphere4
|
|
sphere4 SetPhiResolution 32
|
|
sphere4 SetThetaResolution 32
|
|
|
|
vtkExtractPolyDataPiece extract4
|
|
extract4 SetInputConnection [sphere4 GetOutputPort]
|
|
|
|
vtkPieceScalars ps4
|
|
ps4 RandomModeOn
|
|
ps4 SetScalarModeToCellData
|
|
ps4 SetInputConnection [extract4 GetOutputPort]
|
|
|
|
vtkPolyDataMapper mapper4
|
|
mapper4 SetInputConnection [ps4 GetOutputPort]
|
|
mapper4 SetNumberOfSubPieces 8
|
|
mapper4 SetScalarRange 0 8
|
|
|
|
vtkActor actor4
|
|
actor4 SetMapper mapper4
|
|
actor4 SetPosition 1.5 -1.5 0
|
|
|
|
vtkRenderer ren
|
|
ren AddActor actor
|
|
ren AddActor actor2
|
|
ren AddActor actor3
|
|
ren AddActor actor4
|
|
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren
|
|
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
iren Initialize
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
|
|
wm withdraw .
|
|
|
|
|