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 vtkRenderLargeImage
Tests:
vtkWindowToImageFilter (Tests)

Definition at line 71 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)
vtkImageDataGetOutput ()
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 ()
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)
void Rescale2DActors ()
void Shift2DActors (int x, int y)
void Restore2DActors ()

Protected Attributes

vtkWindowInput
int Magnification
int ReadFrontBuffer
int ShouldRerender
double Viewport [4]
int InputBufferType
vtkWTI2DHelperClass * StoredData

Member Typedef Documentation

Reimplemented from vtkAlgorithm.

Definition at line 76 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 *  name  )  [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 *  name  )  [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. Initial value is 0.

virtual vtkWindow* vtkWindowToImageFilter::GetInput (  )  [virtual]

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

virtual void vtkWindowToImageFilter::SetMagnification ( int   )  [virtual]

The magnification of the current render window. Initial value is 1.

virtual int vtkWindowToImageFilter::GetMagnification (  )  [virtual]

The magnification of the current render window. Initial value is 1.

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. Initial value is true. (This option makes no difference if Magnification > 1.)

virtual void vtkWindowToImageFilter::ShouldRerenderOff (  )  [virtual]

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

virtual void vtkWindowToImageFilter::SetShouldRerender ( int   )  [virtual]

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

virtual int vtkWindowToImageFilter::GetShouldRerender (  )  [virtual]

Set/get whether to re-render the input window. Initial value is true. (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. Initial value is {0,0,1,1} (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. Initial value is {0,0,1,1} (This option does not work if Magnification > 1.)

virtual double* vtkWindowToImageFilter::GetViewport (  )  [virtual]

Set/get the extents to be used to generate the image. Initial value is {0,0,1,1} (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. Initial value is {0,0,1,1} (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). Initial value is VTK_RGB.

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). Initial value is VTK_RGB.

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). Initial value is VTK_RGB.

Definition at line 125 of file vtkWindowToImageFilter.h.

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). Initial value is VTK_RGB.

Definition at line 126 of file vtkWindowToImageFilter.h.

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). Initial value is VTK_RGB.

Definition at line 127 of file vtkWindowToImageFilter.h.

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.

void vtkWindowToImageFilter::Rescale2DActors (  )  [protected]

void vtkWindowToImageFilter::Shift2DActors ( int  x,
int  y 
) [protected]

void vtkWindowToImageFilter::Restore2DActors (  )  [protected]


Member Data Documentation

Definition at line 146 of file vtkWindowToImageFilter.h.

Definition at line 147 of file vtkWindowToImageFilter.h.

Definition at line 148 of file vtkWindowToImageFilter.h.

Definition at line 149 of file vtkWindowToImageFilter.h.

double vtkWindowToImageFilter::Viewport[4] [protected]

Definition at line 150 of file vtkWindowToImageFilter.h.

Definition at line 151 of file vtkWindowToImageFilter.h.

vtkWTI2DHelperClass* vtkWindowToImageFilter::StoredData [protected]

Definition at line 167 of file vtkWindowToImageFilter.h.


The documentation for this class was generated from the following file:

Generated on Wed Jun 3 19:46:45 2009 for VTK by  doxygen 1.5.6