File: TestXMLUnstructuredGridIO.tcl

package info (click to toggle)
vtk 5.0.4-1.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 51,084 kB
  • ctags: 70,426
  • sloc: cpp: 524,166; ansic: 220,276; tcl: 43,377; python: 14,037; perl: 3,102; java: 1,436; yacc: 1,033; sh: 339; lex: 248; makefile: 197; asm: 154
file content (115 lines) | stat: -rw-r--r-- 2,664 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
package require vtk
package require vtkinteraction

set file0 ugFile0.vtu
set file1 ugFile1.vtu
set file2 ugFile2.vtu

# read in some unstructured grid data
vtkUnstructuredGridReader ugReader
  ugReader SetFileName "$VTK_DATA_ROOT/Data/blow.vtk"
  ugReader SetScalarsName "thickness9"
  ugReader SetVectorsName "displacement9"

vtkExtractUnstructuredGridPiece extract
  extract SetInputConnection [ugReader GetOutputPort]

# write various versions 
vtkXMLUnstructuredGridWriter ugWriter
  ugWriter SetFileName $file0
  ugWriter SetDataModeToAscii
  ugWriter SetInputConnection [ugReader GetOutputPort]
  ugWriter Write
  
  ugWriter SetFileName $file1
  ugWriter SetInputConnection [extract GetOutputPort]
  ugWriter SetDataModeToAppended
  ugWriter SetNumberOfPieces 2
  ugWriter Write

  ugWriter SetFileName $file2
  ugWriter SetDataModeToBinary
  ugWriter SetGhostLevel 2
  ugWriter Write


# read the ASCII version
vtkXMLUnstructuredGridReader reader
  reader SetFileName $file0
  reader Update

vtkUnstructuredGrid ug0
  ug0 DeepCopy [reader GetOutput] 

vtkDataSetSurfaceFilter sF
  sF SetInput ug0

vtkPolyDataMapper mapper0
  mapper0 SetInputConnection [sF GetOutputPort]

vtkActor actor0
  actor0 SetMapper mapper0
  actor0 SetPosition 0 40 20


# read appended piece 0
reader SetFileName $file1

vtkDataSetSurfaceFilter sF1
  sF1 SetInputConnection [reader GetOutputPort]
  
vtkPolyDataMapper mapper1
  mapper1 SetInputConnection [sF1 GetOutputPort]
  mapper1 SetPiece 1
  mapper1 SetNumberOfPieces 2

vtkActor actor1
  actor1 SetMapper mapper1


# read binary piece 0 (with ghost level)
vtkXMLUnstructuredGridReader reader2
  reader2 SetFileName $file2

vtkDataSetSurfaceFilter sF2
  sF2 SetInputConnection [reader2 GetOutputPort]
  
vtkPolyDataMapper mapper2
  mapper2 SetInputConnection [sF2 GetOutputPort]
  mapper2 SetPiece 1
  mapper2 SetNumberOfPieces 2
  mapper2 SetGhostLevel 2

vtkActor actor2
  actor2 SetMapper mapper2
  actor2 SetPosition 0 0 30

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

# Add the actors to the renderer, set the background and size
#
ren1 AddActor actor0
ren1 AddActor actor1
ren1 AddActor actor2

ren1 ResetCamera
[ren1 GetActiveCamera] SetPosition 180 55 65
[ren1 GetActiveCamera] SetFocalPoint 3.5 32 15 
renWin SetSize 300 300
iren Initialize
renWin Render

iren AddObserver UserEvent {wm deiconify .vtkInteract}

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

file delete -force $file0
file delete -force $file1
file delete -force $file2