#include <vtkPassInputTypeAlgorithm.h>
vtkPassInputTypeAlgorithm 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 contstructor 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 RequestDataObject RequestData and RequestInformation. The default implementation of RequestDataObject will create an output data of the same type as the input.
Definition at line 48 of file vtkPassInputTypeAlgorithm.h.
Reimplemented from vtkAlgorithm.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
Definition at line 52 of file vtkPassInputTypeAlgorithm.h.
vtkPassInputTypeAlgorithm::vtkPassInputTypeAlgorithm | ( | ) | [protected] |
vtkPassInputTypeAlgorithm::~vtkPassInputTypeAlgorithm | ( | ) | [inline, protected] |
Definition at line 119 of file vtkPassInputTypeAlgorithm.h.
static vtkPassInputTypeAlgorithm* vtkPassInputTypeAlgorithm::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkAlgorithm.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
virtual const char* vtkPassInputTypeAlgorithm::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkAlgorithm.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
static int vtkPassInputTypeAlgorithm::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.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
virtual int vtkPassInputTypeAlgorithm::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.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
static vtkPassInputTypeAlgorithm* vtkPassInputTypeAlgorithm::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkAlgorithm.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
void vtkPassInputTypeAlgorithm::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 vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
vtkDataObject* vtkPassInputTypeAlgorithm::GetOutput | ( | ) |
Get the output data object for a port on this algorithm.
vtkDataObject* vtkPassInputTypeAlgorithm::GetOutput | ( | int | ) |
Get the output data object for a port on this algorithm.
vtkPolyData* vtkPassInputTypeAlgorithm::GetPolyDataOutput | ( | ) |
Get the output as vtkPolyData.
vtkStructuredPoints* vtkPassInputTypeAlgorithm::GetStructuredPointsOutput | ( | ) |
Get the output as vtkStructuredPoints.
vtkImageData* vtkPassInputTypeAlgorithm::GetImageDataOutput | ( | ) |
Get the output as vtkStructuredPoints.
vtkStructuredGrid* vtkPassInputTypeAlgorithm::GetStructuredGridOutput | ( | ) |
Get the output as vtkStructuredGrid.
vtkUnstructuredGrid* vtkPassInputTypeAlgorithm::GetUnstructuredGridOutput | ( | ) |
Get the output as vtkUnstructuredGrid.
vtkRectilinearGrid* vtkPassInputTypeAlgorithm::GetRectilinearGridOutput | ( | ) |
Get the output as vtkRectilinearGrid.
vtkDataObject* vtkPassInputTypeAlgorithm::GetInput | ( | ) |
Get the input data object. This method is not recommended for use, but lots of old style filters use it.
void vtkPassInputTypeAlgorithm::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 vtkPassInputTypeAlgorithm::SetInput | ( | int | , | |
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 vtkPassInputTypeAlgorithm::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 vtkPassInputTypeAlgorithm::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 vtkPassInputTypeAlgorithm::ProcessRequest | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [virtual] |
see vtkAlgorithm for details
Reimplemented from vtkAlgorithm.
virtual int vtkPassInputTypeAlgorithm::RequestInformation | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [inline, protected, virtual] |
This is called within ProcessRequest when a request asks for Information. Typically an algorithm provides whatever lightweight information about its output that it can here without doing any lengthy computations. This happens in the first pass of the pipeline execution.
Reimplemented in vtkAssignAttribute, and vtkTemporalStatistics.
Definition at line 127 of file vtkPassInputTypeAlgorithm.h.
virtual int vtkPassInputTypeAlgorithm::RequestUpdateExtent | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [inline, protected, virtual] |
This is called within ProcessRequest when each filter in the pipeline decides what portion of its input is needed to create the portion of its output that the downstream filter asks for. This happens during the second pass in the pipeline execution process.
Reimplemented in vtkTemporalStatistics.
Definition at line 137 of file vtkPassInputTypeAlgorithm.h.
virtual int vtkPassInputTypeAlgorithm::RequestDataObject | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called within ProcessRequest to when a request asks the algorithm to create empty output data objects. This typically happens early on in the execution of the pipeline. The default behavior is to create an output DataSet of the same type as the input for each output port. This method can be overridden to change the output data type of an algorithm. This happens in the third pass of the pipeline execution.
Reimplemented in vtkTemporalStatistics.
virtual int vtkPassInputTypeAlgorithm::RequestData | ( | vtkInformation * | , | |
vtkInformationVector ** | , | |||
vtkInformationVector * | ||||
) | [inline, protected, virtual] |
This is called within ProcessRequest when a request asks the algorithm to do its work. This is the method you should override to do whatever the algorithm is designed to do. This happens during the fourth pass in the pipeline execution process.
Reimplemented in vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, vtkPassThrough, and vtkTransferAttributes.
Definition at line 164 of file vtkPassInputTypeAlgorithm.h.
virtual int vtkPassInputTypeAlgorithm::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 vtkPassInputTypeAlgorithm::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 vtkGeoAssignCoordinates, vtkAssignAttribute, vtkProgrammableFilter, vtkTemporalStatistics, vtkArrayMap, vtkAssignCoordinates, and vtkTransferAttributes.
vtkDataObject* vtkPassInputTypeAlgorithm::GetInput | ( | int | port | ) | [protected] |