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.
 
 
 
 
 
 

172 lines
5.1 KiB

# Test the scalar bar actor using a logarithmic lookup table
#
package require vtk
package require vtkinteraction
set VTK_INTEGRATE_BOTH_DIRECTIONS 2
#
# generate tensors
vtkPointLoad ptLoad
ptLoad SetLoadValue 100.0
ptLoad SetSampleDimensions 20 20 20
ptLoad ComputeEffectiveStressOn
ptLoad SetModelBounds -10 10 -10 10 -10 10
# Generate hyperstreamlines
vtkHyperStreamline s1
s1 SetInputConnection [ptLoad GetOutputPort]
s1 SetStartPosition 9 9 -9
s1 IntegrateMinorEigenvector
s1 SetMaximumPropagationDistance 18.0
s1 SetIntegrationStepLength 0.1
s1 SetStepLength 0.01
s1 SetRadius 0.25
s1 SetNumberOfSides 18
s1 SetIntegrationDirection $VTK_INTEGRATE_BOTH_DIRECTIONS
s1 Update
# Map hyperstreamlines
vtkLogLookupTable lut
lut SetHueRange .6667 0.0
vtkScalarBarActor scalarBar
scalarBar SetLookupTable lut
scalarBar SetTitle "Stress"
[scalarBar GetPositionCoordinate] SetCoordinateSystemToNormalizedViewport
[scalarBar GetPositionCoordinate] SetValue 0.1 0.05
scalarBar SetOrientationToVertical
scalarBar SetWidth 0.1
scalarBar SetHeight 0.9
scalarBar SetPosition 0.01 0.1
scalarBar SetLabelFormat "%-#6.3f"
[scalarBar GetLabelTextProperty] SetColor 1 0 0
[scalarBar GetTitleTextProperty] SetColor 1 0 0
vtkPolyDataMapper s1Mapper
s1Mapper SetInputConnection [s1 GetOutputPort]
s1Mapper SetLookupTable lut
ptLoad Update;#force update for scalar range
eval s1Mapper SetScalarRange [[ptLoad GetOutput] GetScalarRange]
vtkActor s1Actor
s1Actor SetMapper s1Mapper
vtkHyperStreamline s2
s2 SetInputConnection [ptLoad GetOutputPort]
s2 SetStartPosition -9 -9 -9
s2 IntegrateMinorEigenvector
s2 SetMaximumPropagationDistance 18.0
s2 SetIntegrationStepLength 0.1
s2 SetStepLength 0.01
s2 SetRadius 0.25
s2 SetNumberOfSides 18
s2 SetIntegrationDirection $VTK_INTEGRATE_BOTH_DIRECTIONS
s2 Update
vtkPolyDataMapper s2Mapper
s2Mapper SetInputConnection [s2 GetOutputPort]
s2Mapper SetLookupTable lut
eval s2Mapper SetScalarRange [[ptLoad GetOutput] GetScalarRange]
vtkActor s2Actor
s2Actor SetMapper s2Mapper
vtkHyperStreamline s3
s3 SetInputConnection [ptLoad GetOutputPort]
s3 SetStartPosition 9 -9 -9
s3 IntegrateMinorEigenvector
s3 SetMaximumPropagationDistance 18.0
s3 SetIntegrationStepLength 0.1
s3 SetStepLength 0.01
s3 SetRadius 0.25
s3 SetNumberOfSides 18
s3 SetIntegrationDirection $VTK_INTEGRATE_BOTH_DIRECTIONS
s3 Update
vtkPolyDataMapper s3Mapper
s3Mapper SetInputConnection [s3 GetOutputPort]
s3Mapper SetLookupTable lut
eval s3Mapper SetScalarRange [[ptLoad GetOutput] GetScalarRange]
vtkActor s3Actor
s3Actor SetMapper s3Mapper
vtkHyperStreamline s4
s4 SetInputConnection [ptLoad GetOutputPort]
s4 SetStartPosition -9 9 -9
s4 IntegrateMinorEigenvector
s4 SetMaximumPropagationDistance 18.0
s4 SetIntegrationStepLength 0.1
s4 SetStepLength 0.01
s4 SetRadius 0.25
s4 SetNumberOfSides 18
s4 SetIntegrationDirection $VTK_INTEGRATE_BOTH_DIRECTIONS
s4 Update
vtkPolyDataMapper s4Mapper
s4Mapper SetInputConnection [s4 GetOutputPort]
s4Mapper SetLookupTable lut
eval s4Mapper SetScalarRange [[ptLoad GetOutput] GetScalarRange]
vtkActor s4Actor
s4Actor SetMapper s4Mapper
# plane for context
#
vtkImageDataGeometryFilter g
g SetInputConnection [ptLoad GetOutputPort]
g SetExtent 0 100 0 100 0 0
g Update;#for scalar range
vtkPolyDataMapper gm
gm SetInputConnection [g GetOutputPort]
eval gm SetScalarRange [[g GetOutput] GetScalarRange]
vtkActor ga
ga SetMapper gm
# Create outline around data
#
vtkOutlineFilter outline
outline SetInputConnection [ptLoad GetOutputPort]
vtkPolyDataMapper outlineMapper
outlineMapper SetInputConnection [outline GetOutputPort]
vtkActor outlineActor
outlineActor SetMapper outlineMapper
eval [outlineActor GetProperty] SetColor 0 0 0
# Create cone indicating application of load
#
vtkConeSource coneSrc
coneSrc SetRadius .5
coneSrc SetHeight 2
vtkPolyDataMapper coneMap
coneMap SetInputConnection [coneSrc GetOutputPort]
vtkActor coneActor
coneActor SetMapper coneMap;
coneActor SetPosition 0 0 11
coneActor RotateY 90
eval [coneActor GetProperty] SetColor 1 0 0
# Create the rendering infrastructure
#
vtkRenderer ren1
vtkRenderWindow renWin
renWin AddRenderer ren1
vtkRenderWindowInteractor iren
iren SetRenderWindow renWin
vtkCamera camera
camera SetFocalPoint 0.113766 -1.13665 -1.01919
camera SetPosition -29.4886 -63.1488 26.5807
camera SetViewAngle 24.4617
camera SetViewUp 0.17138 0.331163 0.927879
camera SetClippingRange 1 100
ren1 AddActor2D scalarBar
ren1 AddActor s1Actor
ren1 AddActor s2Actor
ren1 AddActor s3Actor
ren1 AddActor s4Actor
ren1 AddActor outlineActor
ren1 AddActor coneActor
ren1 AddActor ga
ren1 SetBackground 1.0 1.0 1.0
ren1 SetActiveCamera camera
renWin SetSize 300 300
renWin Render
iren AddObserver UserEvent {wm deiconify .vtkInteract}
# prevent the tk window from showing up then start the event loop
wm withdraw .