VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkPistonAlgorithm Class Reference

Superclass for algorithms that produce only PistonDataObjects. More...

#include <vtkPistonAlgorithm.h>

Inheritance diagram for vtkPistonAlgorithm:
Inheritance graph
[legend]
Collaboration diagram for vtkPistonAlgorithm:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkPistonAlgorithmNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
vtkPistonDataObjectGetPistonDataObjectOutput (int port)
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetInputData (int num, vtkDataObject *input)
void SetInputData (vtkDataObject *input)

Static Public Member Functions

static vtkPistonAlgorithmNew ()
static int IsTypeOf (const char *type)
static vtkPistonAlgorithmSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkPistonAlgorithm ()
 ~vtkPistonAlgorithm ()
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int RequestDataObject (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void PassBoundsForward (vtkPistonDataObject *id, vtkPistonDataObject *od)

Detailed Description

Superclass for algorithms that produce only PistonDataObjects.

vtkPistonAlgorithm is a convenience class to make writing algorithms that operate in piston space easer. Basically one does that by subclassing this class and overriding Execute() to call into a method that calls into an external function compiled with the cuda compiler.

There 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 class constructor for the default. This class also provides a FillInputPortInfo method that by default says that all inputs will be PistonDataObject. If that isn't the case then please override this method in your subclass. This class breaks out the downstream requests into separate functions such as ExecuteData and ExecuteInformation.

Definition at line 43 of file vtkPistonAlgorithm.h.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.

static int vtkPistonAlgorithm::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.

virtual int vtkPistonAlgorithm::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.

virtual vtkObjectBase* vtkPistonAlgorithm::NewInstanceInternal ( ) const [protected, virtual]
void vtkPistonAlgorithm::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 vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.

Interface the algorithm to the Pipeline's passes.

Reimplemented from vtkAlgorithm.

A convenience method to reduce code duplication that gets the output as the expected type or NULL.

void vtkPistonAlgorithm::SetInputData ( int  num,
vtkDataObject input 
)

Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection() to setup a pipeline connection.

void vtkPistonAlgorithm::SetInputData ( vtkDataObject input) [inline]

Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection() to setup a pipeline connection.

Definition at line 67 of file vtkPistonAlgorithm.h.

virtual int vtkPistonAlgorithm::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Overridden to say that we take in and produce vtkPistonDataObjects

Reimplemented from vtkAlgorithm.

Reimplemented in vtkDataSetToPiston.

virtual int vtkPistonAlgorithm::FillOutputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Overridden to say that we take in and produce vtkPistonDataObjects

Reimplemented from vtkAlgorithm.

Reimplemented in vtkPistonToDataSet.

virtual int vtkPistonAlgorithm::RequestDataObject ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Produce empty output of the proper type for RequestData to fill in.

Reimplemented in vtkPistonToDataSet.

virtual int vtkPistonAlgorithm::RequestInformation ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Produce meta-data about what RequestData will produce.

Participate in pipeline's sub extent determination.

virtual int vtkPistonAlgorithm::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Method that does the actual calculation.

Reimplemented in vtkPistonToDataSet, vtkPistonSlice, vtkPistonThreshold, vtkDataSetToPiston, vtkPistonContour, and vtkPistonSort.

virtual void vtkPistonAlgorithm::PassBoundsForward ( vtkPistonDataObject id,
vtkPistonDataObject od 
) [protected, virtual]

Typically Execute uses this to copy input bounds to output. Algorithms for which this heuristic is poor, should override and do it exactly, perhaps by asking the GPU to calculate it,


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