File: TestPDataSetReaderGrid.tcl

package info (click to toggle)
vtk 5.0.2-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 51,080 kB
  • ctags: 67,442
  • sloc: cpp: 522,627; ansic: 221,292; tcl: 43,377; python: 14,072; perl: 3,102; java: 1,436; yacc: 1,033; sh: 469; lex: 248; makefile: 181; asm: 154
file content (159 lines) | stat: -rw-r--r-- 3,835 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
package require vtk
package require vtkinteraction


# Create the RenderWindow, Renderer and both Actors
#
vtkRenderer ren1
vtkRenderWindow renWin
  renWin AddRenderer ren1
vtkRenderWindowInteractor iren
  iren SetRenderWindow renWin



#
# If the current directory is writable, then test the witers
#

if {[catch {set channel [open "test.tmp" "w"]}] == 0 } {
   close $channel
   file delete -force "test.tmp"

  # ====== Structured Grid ======
  # First save out a grid in parallel form.
  vtkPLOT3DReader reader
    reader SetXYZFileName "$VTK_DATA_ROOT/Data/combxyz.bin"
    reader SetQFileName "$VTK_DATA_ROOT/Data/combq.bin"
  vtkPDataSetWriter writer
    writer SetFileName "comb.pvtk"
    writer SetInputConnection [reader GetOutputPort]
    writer SetNumberOfPieces 4
    writer Write
  vtkPDataSetReader pReader
    pReader SetFileName "comb.pvtk"
  vtkDataSetSurfaceFilter surface
    surface SetInputConnection [pReader GetOutputPort]
  vtkPolyDataMapper mapper
    mapper SetInputConnection [surface GetOutputPort]
    mapper SetNumberOfPieces 2
    mapper SetPiece 0
    mapper SetGhostLevel 1
    mapper Update

  file delete -force "comb.pvtk"
  file delete -force "comb.0.vtk"
  file delete -force "comb.1.vtk"
  file delete -force "comb.2.vtk"
  file delete -force "comb.3.vtk"

  vtkActor actor
    actor SetMapper mapper
    actor SetPosition -5 0 -29

  # Add the actors to the renderer, set the background and size
  #
  ren1 AddActor actor



  # ====== ImageData ======
  # First save out a grid in parallel form.
  vtkImageMandelbrotSource fractal
    fractal SetWholeExtent 0 9 0 9 0 9
    fractal SetSampleCX 0.1 0.1 0.1 0.1
    fractal SetMaximumNumberOfIterations 10 

  vtkPDataSetWriter writer2
    writer SetFileName "fractal.pvtk"
    writer SetInputConnection [fractal GetOutputPort]
    writer SetNumberOfPieces 4
    writer Write

  vtkPDataSetReader pReader2
    pReader2 SetFileName "fractal.pvtk"
 
  vtkContourFilter iso
    iso SetInputConnection [pReader2 GetOutputPort]
    iso SetValue 0 4

  vtkPolyDataMapper mapper2
    mapper2 SetInputConnection [iso GetOutputPort]
    mapper2 SetNumberOfPieces 3
    mapper2 SetPiece 0
    mapper2 SetGhostLevel 0
    mapper2 Update

  file delete -force "fractal.pvtk"
  file delete -force "fractal.0.vtk"
  file delete -force "fractal.1.vtk"
  file delete -force "fractal.2.vtk"
  file delete -force "fractal.3.vtk"

  vtkActor actor2
    actor2 SetMapper mapper2
    actor2 SetScale 5 5 5
    actor2 SetPosition 6 6 6
    
  # Add the actors to the renderer, set the background and size
  #
  ren1 AddActor actor2



  # ====== PolyData ======
  # First save out a grid in parallel form.
  vtkSphereSource sphere
    sphere SetRadius 2

  vtkPDataSetWriter writer3
    writer3 SetFileName "sphere.pvtk"
    writer3 SetInputConnection [sphere GetOutputPort]
    writer3 SetNumberOfPieces 4
    writer3 Write

  vtkPDataSetReader pReader3
    pReader3 SetFileName "sphere.pvtk"
 
  vtkPolyDataMapper mapper3
    mapper3 SetInputConnection [pReader3 GetOutputPort]
    mapper3 SetNumberOfPieces 2
    mapper3 SetPiece 0
    mapper3 SetGhostLevel 1
    mapper3 Update

  file delete -force "sphere.pvtk"
  file delete -force "sphere.0.vtk"
  file delete -force "sphere.1.vtk"
  file delete -force "sphere.2.vtk"
  file delete -force "sphere.3.vtk"

  vtkActor actor3
    actor3 SetMapper mapper3
    actor3 SetPosition 6 6 6

  # Add the actors to the renderer, set the background and size
  #
  ren1 AddActor actor3
}

ren1 SetBackground 0.1 0.2 0.4
renWin SetSize 300 300

# render the image
#
iren AddObserver UserEvent {wm deiconify .vtkInteract}

set cam1 [ren1 GetActiveCamera]
$cam1 Azimuth 20
$cam1 Elevation 40
ren1 ResetCamera
$cam1 Zoom 1.2

iren Initialize

# prevent the tk window from showing up then start the event loop
wm withdraw .