Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkWindowToImageFilter Class Reference

#include <vtkWindowToImageFilter.h>

Inheritance diagram for vtkWindowToImageFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkWindowToImageFilter:

Collaboration graph
[legend]
List of all members.

Detailed Description

Use a vtkWindow as input to image pipeline.

vtkWindowToImageFilter provides methods needed to read the data in a vtkWindow and use it as input to the imaging pipeline. This is useful for saving an image to a file for example. The window can be read as either RGB or RGBA pixels; in addition, the depth buffer can also be read. RGB and RGBA pixels are of type unsigned char, while Z-Buffer data is returned as floats. Use this filter to convert RenderWindows or ImageWindows to an image format.

Warning:
A vtkWindow doesn't behave like other parts of the VTK pipeline: its modification time doesn't get updated when an image is rendered. As a result, naive use of vtkWindowToImageFilter will produce an image of the first image that the window rendered, but which is never updated on subsequent window updates. This behavior is unexpected and in general undesirable.

To force an update of the output image, call vtkWindowToImageFilter's Modified method after rendering to the window.

In VTK versions 4 and later, this filter is part of the canonical way to output an image of a window to a file (replacing the obsolete SaveImageAsPPM method for vtkRenderWindows that existed in 3.2 and earlier). Connect this filter to the output of the window, and filter's output to a writer such as vtkPNGWriter.

Reading back alpha planes is dependent on the correct operation of the render window's GetRGBACharPixelData method, which in turn is dependent on the configuration of the window's alpha planes. As of VTK 4.4+, machine-independent behavior is not automatically assured because of these dependencies.

See also:
vtkWindow
Examples:
vtkWindowToImageFilter (Examples)
Tests:
vtkWindowToImageFilter (Tests)

Definition at line 73 of file vtkWindowToImageFilter.h.

Public Types

typedef vtkAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void SetInput (vtkWindow *input)
virtual vtkWindowGetInput ()
virtual void SetMagnification (int)
virtual int GetMagnification ()
virtual void ReadFrontBufferOn ()
virtual void ReadFrontBufferOff ()
virtual int GetReadFrontBuffer ()
virtual void SetReadFrontBuffer (int)
virtual void ShouldRerenderOn ()
virtual void ShouldRerenderOff ()
virtual void SetShouldRerender (int)
virtual int GetShouldRerender ()
virtual void SetViewport (double, double, double, double)
virtual void SetViewport (double[4])
virtual double * GetViewport ()
virtual void GetViewport (double data[4])
virtual void SetInputBufferType (int)
virtual int GetInputBufferType ()
void SetInputBufferTypeToRGB ()
void SetInputBufferTypeToRGBA ()
void SetInputBufferTypeToZBuffer ()
vtkImageDataGetOutput ()
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Static Public Member Functions

static vtkWindowToImageFilterNew ()
static int IsTypeOf (const char *type)
static vtkWindowToImageFilterSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkWindowToImageFilter ()
 ~vtkWindowToImageFilter ()
void RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillOutputPortInformation (int port, vtkInformation *info)

Protected Attributes

vtkWindowInput
int Magnification
int ReadFrontBuffer
int ShouldRerender
double Viewport [4]
int InputBufferType


Member Typedef Documentation

typedef vtkAlgorithm vtkWindowToImageFilter::Superclass
 

Reimplemented from vtkAlgorithm.

Definition at line 78 of file vtkWindowToImageFilter.h.


Constructor & Destructor Documentation

vtkWindowToImageFilter::vtkWindowToImageFilter  )  [protected]
 

vtkWindowToImageFilter::~vtkWindowToImageFilter  )  [protected]
 


Member Function Documentation

static vtkWindowToImageFilter* vtkWindowToImageFilter::New  )  [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkAlgorithm.

virtual const char* vtkWindowToImageFilter::GetClassName  )  [virtual]
 

Reimplemented from vtkAlgorithm.

static int vtkWindowToImageFilter::IsTypeOf const char *  type  )  [static]
 

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkAlgorithm.

virtual int vtkWindowToImageFilter::IsA const char *  type  )  [virtual]
 

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkAlgorithm.

static vtkWindowToImageFilter* vtkWindowToImageFilter::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkAlgorithm.

void vtkWindowToImageFilter::PrintSelf ostream &  os,
vtkIndent  indent
[virtual]
 

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAlgorithm.

void vtkWindowToImageFilter::SetInput vtkWindow input  ) 
 

Indicates what renderer to get the pixel data from.

virtual vtkWindow* vtkWindowToImageFilter::GetInput  )  [virtual]
 

Returns which renderer is being used as the source for the pixel data.

virtual void vtkWindowToImageFilter::SetMagnification int   )  [virtual]
 

The magnification of the current render window

virtual int vtkWindowToImageFilter::GetMagnification  )  [virtual]
 

The magnification of the current render window

virtual void vtkWindowToImageFilter::ReadFrontBufferOn  )  [virtual]
 

Set/Get the flag that determines which buffer to read from. The default is to read from the front buffer.

virtual void vtkWindowToImageFilter::ReadFrontBufferOff  )  [virtual]
 

Set/Get the flag that determines which buffer to read from. The default is to read from the front buffer.

virtual int vtkWindowToImageFilter::GetReadFrontBuffer  )  [virtual]
 

Set/Get the flag that determines which buffer to read from. The default is to read from the front buffer.

virtual void vtkWindowToImageFilter::SetReadFrontBuffer int   )  [virtual]
 

Set/Get the flag that determines which buffer to read from. The default is to read from the front buffer.

virtual void vtkWindowToImageFilter::ShouldRerenderOn  )  [virtual]
 

Set/get whether to re-render the input window. (This option makes no difference if Magnification > 1.)

virtual void vtkWindowToImageFilter::ShouldRerenderOff  )  [virtual]
 

Set/get whether to re-render the input window. (This option makes no difference if Magnification > 1.)

virtual void vtkWindowToImageFilter::SetShouldRerender int   )  [virtual]
 

Set/get whether to re-render the input window. (This option makes no difference if Magnification > 1.)

virtual int vtkWindowToImageFilter::GetShouldRerender  )  [virtual]
 

Set/get whether to re-render the input window. (This option makes no difference if Magnification > 1.)

virtual void vtkWindowToImageFilter::SetViewport double  ,
double  ,
double  ,
double 
[virtual]
 

Set/get the extents to be used to generate the image. (This option does not work if Magnification > 1.)

virtual void vtkWindowToImageFilter::SetViewport double  [4]  )  [virtual]
 

Set/get the extents to be used to generate the image. (This option does not work if Magnification > 1.)

virtual double* vtkWindowToImageFilter::GetViewport  )  [virtual]
 

Set/get the extents to be used to generate the image. (This option does not work if Magnification > 1.)

virtual void vtkWindowToImageFilter::GetViewport double  data[4]  )  [virtual]
 

Set/get the extents to be used to generate the image. (This option does not work if Magnification > 1.)

virtual void vtkWindowToImageFilter::SetInputBufferType int   )  [virtual]
 

Set/get the window buffer from which data will be read. Choices include VTK_RGB (read the color image from the window), VTK_RGBA (same, but include the alpha channel), and VTK_ZBUFFER (depth buffer, returned as a float array).

virtual int vtkWindowToImageFilter::GetInputBufferType  )  [virtual]
 

Set/get the window buffer from which data will be read. Choices include VTK_RGB (read the color image from the window), VTK_RGBA (same, but include the alpha channel), and VTK_ZBUFFER (depth buffer, returned as a float array).

void vtkWindowToImageFilter::SetInputBufferTypeToRGB  )  [inline]
 

Set/get the window buffer from which data will be read. Choices include VTK_RGB (read the color image from the window), VTK_RGBA (same, but include the alpha channel), and VTK_ZBUFFER (depth buffer, returned as a float array).

Definition at line 126 of file vtkWindowToImageFilter.h.

References VTK_RGB.

void vtkWindowToImageFilter::SetInputBufferTypeToRGBA  )  [inline]
 

Set/get the window buffer from which data will be read. Choices include VTK_RGB (read the color image from the window), VTK_RGBA (same, but include the alpha channel), and VTK_ZBUFFER (depth buffer, returned as a float array).

Definition at line 127 of file vtkWindowToImageFilter.h.

References VTK_RGBA.

void vtkWindowToImageFilter::SetInputBufferTypeToZBuffer  )  [inline]
 

Set/get the window buffer from which data will be read. Choices include VTK_RGB (read the color image from the window), VTK_RGBA (same, but include the alpha channel), and VTK_ZBUFFER (depth buffer, returned as a float array).

Definition at line 128 of file vtkWindowToImageFilter.h.

References VTK_ZBUFFER.

vtkImageData* vtkWindowToImageFilter::GetOutput  ) 
 

Get the output data object for a port on this algorithm.

virtual int vtkWindowToImageFilter::ProcessRequest vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector
[virtual]
 

see vtkAlgorithm for details

Reimplemented from vtkAlgorithm.

void vtkWindowToImageFilter::RequestData vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector
[protected]
 

virtual void vtkWindowToImageFilter::RequestInformation vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector
[protected, virtual]
 

virtual int vtkWindowToImageFilter::FillOutputPortInformation int  port,
vtkInformation info
[protected, virtual]
 

Fill the output port information objects for this algorithm. This is invoked by the first call to GetOutputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkAlgorithm.


Member Data Documentation

vtkWindow* vtkWindowToImageFilter::Input [protected]
 

Definition at line 147 of file vtkWindowToImageFilter.h.

int vtkWindowToImageFilter::Magnification [protected]
 

Definition at line 148 of file vtkWindowToImageFilter.h.

int vtkWindowToImageFilter::ReadFrontBuffer [protected]
 

Definition at line 149 of file vtkWindowToImageFilter.h.

int vtkWindowToImageFilter::ShouldRerender [protected]
 

Definition at line 150 of file vtkWindowToImageFilter.h.

double vtkWindowToImageFilter::Viewport[4] [protected]
 

Definition at line 151 of file vtkWindowToImageFilter.h.

int vtkWindowToImageFilter::InputBufferType [protected]
 

Definition at line 152 of file vtkWindowToImageFilter.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 22 00:31:46 2008 for VTK by  doxygen 1.4.3-20050530