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

vtkDataObjectAlgorithm Class Reference

#include <vtkDataObjectAlgorithm.h>

Inheritance diagram for vtkDataObjectAlgorithm:

Inheritance graph
[legend]
Collaboration diagram for vtkDataObjectAlgorithm:

Collaboration graph
[legend]
List of all members.

Detailed Description

Superclass for algorithms that produce only data object as output.

vtkDataObjectAlgorithm is a convenience class to make writing algorithms easier. It is also designed to help transition old algorithms to the new pipeline architecture. Ther are some assumptions and defaults made by this class you should be aware of. This class defaults such that your filter will have one input port and one output port. If that is not the case simply change it with SetNumberOfInputPorts etc. See this classes constructor for the default. This class also provides a FillInputPortInfo method that by default says that all inputs will be DataObject. If that isn't the case then please override this method in your subclass. This class breaks out the downstream requests into seperate functions such as ExecuteData and ExecuteInformation. For new algorithms you should implement RequestData( request, inputVec, outputVec) but for older filters there is a default implementation that calls the old ExecuteData(output) signature, for even older filters that don;t implement ExecuteData the default implementation calls the even older Execute() signature.

Definition at line 45 of file vtkDataObjectAlgorithm.h.

Public Types

typedef vtkAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
vtkDataObjectGetInput ()
void PrintSelf (ostream &os, vtkIndent indent)
vtkDataObjectGetOutput ()
vtkDataObjectGetOutput (int)
virtual void SetOutput (vtkDataObject *d)
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkDataObjectGetInput (int port)
void SetInput (vtkDataObject *)
void SetInput (int, vtkDataObject *)
void AddInput (vtkDataObject *)
void AddInput (int, vtkDataObject *)

Static Public Member Functions

static vtkDataObjectAlgorithmNew ()
static int IsTypeOf (const char *type)
static vtkDataObjectAlgorithmSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkDataObjectAlgorithm ()
 ~vtkDataObjectAlgorithm ()
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int UpdateExtentIsEmpty (vtkDataObject *output)
virtual void ExecuteData (vtkDataObject *output)
virtual void Execute ()


Member Typedef Documentation

typedef vtkAlgorithm vtkDataObjectAlgorithm::Superclass
 

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

Definition at line 49 of file vtkDataObjectAlgorithm.h.


Constructor & Destructor Documentation

vtkDataObjectAlgorithm::vtkDataObjectAlgorithm  )  [protected]
 

vtkDataObjectAlgorithm::~vtkDataObjectAlgorithm  )  [protected]
 


Member Function Documentation

static vtkDataObjectAlgorithm* vtkDataObjectAlgorithm::New  )  [static]
 

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

static int vtkDataObjectAlgorithm::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.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

virtual int vtkDataObjectAlgorithm::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.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

void vtkDataObjectAlgorithm::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.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

vtkDataObject* vtkDataObjectAlgorithm::GetOutput  ) 
 

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

vtkDataObject* vtkDataObjectAlgorithm::GetOutput int   ) 
 

virtual void vtkDataObjectAlgorithm::SetOutput vtkDataObject d  )  [virtual]
 

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

see vtkAlgorithm for details

Reimplemented from vtkAlgorithm.

vtkDataObject* vtkDataObjectAlgorithm::GetInput  ) 
 

vtkDataObject* vtkDataObjectAlgorithm::GetInput int  port  ) 
 

void vtkDataObjectAlgorithm::SetInput vtkDataObject  ) 
 

Set an input of this algorithm. You should not override these methods because they are not the only way to connect a pipeline. Note that these methods support old-style pipeline connections. When writing new code you should use the more general vtkAlgorithm::SetInputConnection(). These methods transform the input index to the input port index, not an index of a connection within a single port.

void vtkDataObjectAlgorithm::SetInput int  ,
vtkDataObject
 

void vtkDataObjectAlgorithm::AddInput vtkDataObject  ) 
 

Add an input of this algorithm. Note that these methods support old-style pipeline connections. When writing new code you should use the more general vtkAlgorithm::AddInputConnection(). See SetInput() for details.

void vtkDataObjectAlgorithm::AddInput int  ,
vtkDataObject
 

Add an input of this algorithm. Note that these methods support old-style pipeline connections. When writing new code you should use the more general vtkAlgorithm::AddInputConnection(). See SetInput() for details.

virtual int vtkDataObjectAlgorithm::RequestInformation vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector
[protected, virtual]
 

virtual int vtkDataObjectAlgorithm::RequestData vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector
[protected, virtual]
 

This is called by the superclass. This is the method you should override.

Reimplemented in vtkDataSetToDataObjectFilter, and vtkProgrammableDataObjectSource.

virtual int vtkDataObjectAlgorithm::RequestUpdateExtent vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector
[inline, protected, virtual]
 

This is called by the superclass. This is the method you should override.

Reimplemented in vtkDataSetToDataObjectFilter.

Definition at line 112 of file vtkDataObjectAlgorithm.h.

int vtkDataObjectAlgorithm::UpdateExtentIsEmpty vtkDataObject output  )  [protected]
 

This detects when the UpdateExtent will generate no data. This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. The source uses this call to determine whether to call Execute.

Reimplemented from vtkAlgorithm.

virtual void vtkDataObjectAlgorithm::ExecuteData vtkDataObject output  )  [protected, virtual]
 

This method is the old style execute method

virtual void vtkDataObjectAlgorithm::Execute  )  [protected, virtual]
 

This detects when the UpdateExtent will generate no data. This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. The source uses this call to determine whether to call Execute.

virtual int vtkDataObjectAlgorithm::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.

virtual int vtkDataObjectAlgorithm::FillInputPortInformation int  port,
vtkInformation info
[protected, virtual]
 

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToDataObjectFilter.


The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:39:41 2008 for VTK by  doxygen 1.4.3-20050530