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.
 
 
 
 
 
 

147 lines
4.2 KiB

package require vtk
package require vtkinteraction
package require vtktesting
# Create the RenderWindow, Renderer and both Actors
#
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
# create cutting planes
vtkPlanes planes
vtkPoints points
vtkFloatArray norms
norms SetNumberOfComponents 3
points InsertPoint 0 0.0 0.0 0.0
norms InsertTuple3 0 0.0 0.0 1.0;
points InsertPoint 1 0.0 0.0 0.0
norms InsertTuple3 1 -1.0 0.0 0.0;
planes SetPoints points
planes SetNormals norms
# texture
vtkStructuredPointsReader texReader
texReader SetFileName "$VTK_DATA_ROOT/Data/texThres2.vtk"
vtkTexture texture
texture SetInputConnection [texReader GetOutputPort]
texture InterpolateOff
texture RepeatOff
# read motor parts...each part colored separately
#
vtkBYUReader byu
byu SetGeometryFileName "$VTK_DATA_ROOT/Data/motor.g"
byu SetPartNumber 1
vtkPolyDataNormals normals
normals SetInputConnection [byu GetOutputPort]
vtkImplicitTextureCoords tex1
tex1 SetInputConnection [normals GetOutputPort]
tex1 SetRFunction planes
# tex1 FlipTextureOn
vtkDataSetMapper byuMapper
byuMapper SetInputConnection [tex1 GetOutputPort]
vtkActor byuActor
byuActor SetMapper byuMapper
byuActor SetTexture texture
eval [byuActor GetProperty] SetColor $cold_grey
vtkBYUReader byu2
byu2 SetGeometryFileName "$VTK_DATA_ROOT/Data/motor.g"
byu2 SetPartNumber 2
vtkPolyDataNormals normals2
normals2 SetInputConnection [byu2 GetOutputPort]
vtkImplicitTextureCoords tex2
tex2 SetInputConnection [normals2 GetOutputPort]
tex2 SetRFunction planes
# tex2 FlipTextureOn
vtkDataSetMapper byuMapper2
byuMapper2 SetInputConnection [tex2 GetOutputPort]
vtkActor byuActor2
byuActor2 SetMapper byuMapper2
byuActor2 SetTexture texture
eval [byuActor2 GetProperty] SetColor $peacock
vtkBYUReader byu3
byu3 SetGeometryFileName "$VTK_DATA_ROOT/Data/motor.g"
byu3 SetPartNumber 3
vtkTriangleFilter triangle3
triangle3 SetInputConnection [byu3 GetOutputPort]
vtkPolyDataNormals normals3
normals3 SetInputConnection [triangle3 GetOutputPort]
vtkImplicitTextureCoords tex3
tex3 SetInputConnection [normals3 GetOutputPort]
tex3 SetRFunction planes
# tex3 FlipTextureOn
vtkDataSetMapper byuMapper3
byuMapper3 SetInputConnection [tex3 GetOutputPort]
vtkActor byuActor3
byuActor3 SetMapper byuMapper3
byuActor3 SetTexture texture
eval [byuActor3 GetProperty] SetColor $raw_sienna
vtkBYUReader byu4
byu4 SetGeometryFileName "$VTK_DATA_ROOT/Data/motor.g"
byu4 SetPartNumber 4
vtkPolyDataNormals normals4
normals4 SetInputConnection [byu4 GetOutputPort]
vtkImplicitTextureCoords tex4
tex4 SetInputConnection [normals4 GetOutputPort]
tex4 SetRFunction planes
# tex4 FlipTextureOn
vtkDataSetMapper byuMapper4
byuMapper4 SetInputConnection [tex4 GetOutputPort]
vtkActor byuActor4
byuActor4 SetMapper byuMapper4
byuActor4 SetTexture texture
eval [byuActor4 GetProperty] SetColor $banana
vtkBYUReader byu5
byu5 SetGeometryFileName "$VTK_DATA_ROOT/Data/motor.g"
byu5 SetPartNumber 5
vtkPolyDataNormals normals5
normals5 SetInputConnection [byu5 GetOutputPort]
vtkImplicitTextureCoords tex5
tex5 SetInputConnection [normals5 GetOutputPort]
tex5 SetRFunction planes
# tex5 FlipTextureOn
vtkDataSetMapper byuMapper5
byuMapper5 SetInputConnection [tex5 GetOutputPort]
vtkActor byuActor5
byuActor5 SetMapper byuMapper5
byuActor5 SetTexture texture
eval [byuActor5 GetProperty] SetColor $peach_puff
# Add the actors to the renderer, set the background and size
#
ren1 AddActor byuActor
ren1 AddActor byuActor2
ren1 AddActor byuActor3
byuActor3 VisibilityOff
ren1 AddActor byuActor4
ren1 AddActor byuActor5
ren1 SetBackground 1 1 1
renWin SetSize 300 300
vtkCamera camera
camera SetFocalPoint 0.0286334 0.0362996 0.0379685
camera SetPosition 1.37067 1.08629 -1.30349
camera SetViewAngle 17.673
camera SetClippingRange 1 10
camera SetViewUp -0.376306 -0.5085 -0.774482
ren1 SetActiveCamera camera
# render the image
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize
# prevent the tk window from showing up then start the event loop
wm withdraw .