File: voxelModel.tcl

package info (click to toggle)
paraview 4.0.1-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 526,572 kB
  • sloc: cpp: 2,284,430; ansic: 816,374; python: 239,936; xml: 70,162; tcl: 48,295; fortran: 39,116; yacc: 5,466; java: 3,518; perl: 3,107; lex: 1,620; sh: 1,555; makefile: 932; asm: 471; pascal: 228
file content (75 lines) | stat: -rw-r--r-- 1,898 bytes parent folder | download | duplicates (16)
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
package require vtk
package require vtkinteraction


# Now create the RenderWindow, Renderer and Interactor
#
vtkRenderer ren1
vtkRenderWindow renWin
  renWin AddRenderer ren1
vtkRenderWindowInteractor iren
  iren SetRenderWindow renWin

vtkSphereSource sphereModel
  sphereModel SetThetaResolution 10
  sphereModel SetPhiResolution 10

vtkVoxelModeller voxelModel
  voxelModel SetInputConnection [sphereModel GetOutputPort]
  voxelModel SetSampleDimensions 21 21 21
  voxelModel SetModelBounds -1.5 1.5 -1.5 1.5 -1.5 1.5
  voxelModel SetScalarTypeToBit
  voxelModel SetForegroundValue 1
  voxelModel SetBackgroundValue 0
if {[catch {set channel [open "voxelModel.vtk" "w"]}] == 0 } {
   close $channel
   file delete -force "voxelModel.vtk"

   vtkDataSetWriter aWriter
     aWriter SetFileName "voxelModel.vtk"
     aWriter SetInputConnection [voxelModel GetOutputPort]
     aWriter Update

   vtkDataSetReader aReader
     aReader SetFileName "voxelModel.vtk"

   vtkContourFilter voxelSurface
     voxelSurface SetInputConnection [aReader GetOutputPort]
     voxelSurface SetValue 0 .999

   vtkPolyDataMapper voxelMapper
     voxelMapper SetInputConnection [voxelSurface GetOutputPort]

   vtkActor voxelActor
     voxelActor SetMapper voxelMapper

   vtkPolyDataMapper sphereMapper
     sphereMapper SetInputConnection [sphereModel GetOutputPort]

   vtkActor sphereActor
     sphereActor SetMapper sphereMapper

   ren1 AddActor sphereActor
   ren1 AddActor voxelActor

   ren1 SetBackground .1 .2 .4
   renWin SetSize 256 256
   ren1 ResetCamera
   [ren1 GetActiveCamera] SetViewUp 0 -1 0;
   [ren1 GetActiveCamera] Azimuth 180
   [ren1 GetActiveCamera] Dolly 1.75
   ren1 ResetCameraClippingRange

   iren Initialize;

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


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

}