File: grab.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 (38 lines) | stat: -rw-r--r-- 940 bytes parent folder | download | duplicates (2)
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
package require -exact vtkrendering 5.0

namespace eval ::vtk {

    proc grab_screenshot {renderer basename} {

        $renderer Render

        set rs \
            [::vtk::new_widget_object "_${renderer}" vtkRendererSource rs]
        $rs SetInput $renderer
        $rs DepthValuesOff
        $rs DepthValuesInScalarsOn

        set pw \
            [::vtk::new_widget_object "_${renderer}" vtkPNGWriter pw]
        $pw SetInput [$rs GetOutput]
        $pw SetFileName "$basename-rgbz.png"
        $pw Write

        set iec \
        [::vtk::new_widget_object "_${renderer}" vtkImageExtractComponents iec]
        $iec SetInput [$rs GetOutput]
        $iec SetComponents 3

        $pw SetInput [$iec GetOutput]
        $pw SetFileName "$basename-z.png"
        $pw Write

        $iec SetComponents 0 1 2
        $pw SetFileName "$basename-rgb.png"
        $pw Write

        $rs Delete
        $pw Delete
        $iec Delete
    }
}