VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkPistonAlgorithm Class Reference

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

#include <vtkPistonAlgorithm.h>

Inheritance diagram for vtkPistonAlgorithm:
[legend]

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

typedef vtkAlgorithm vtkPistonAlgorithm::Superclass

Definition at line 47 of file vtkPistonAlgorithm.h.

Constructor & Destructor Documentation

vtkPistonAlgorithm::vtkPistonAlgorithm ( )
protected
vtkPistonAlgorithm::~vtkPistonAlgorithm ( )
protected

Member Function Documentation

static vtkPistonAlgorithm* vtkPistonAlgorithm::New ( )
static
static int vtkPistonAlgorithm::IsTypeOf ( const char *  type)
static
virtual int vtkPistonAlgorithm::IsA ( const char *  type)
virtual
static vtkPistonAlgorithm* vtkPistonAlgorithm::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkPistonAlgorithm::NewInstanceInternal ( ) const
protectedvirtual
vtkPistonAlgorithm* vtkPistonAlgorithm::NewInstance ( ) const
void vtkPistonAlgorithm::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual int vtkPistonAlgorithm::ProcessRequest ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
)
virtual

Interface the algorithm to the Pipeline's passes.

vtkPistonDataObject* vtkPistonAlgorithm::GetPistonDataObjectOutput ( int  port)

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 
)
protectedvirtual

Overridden to say that we take in and produce vtkPistonDataObjects

Reimplemented in vtkDataSetToPiston.

virtual int vtkPistonAlgorithm::FillOutputPortInformation ( int  port,
vtkInformation info 
)
protectedvirtual

Overridden to say that we take in and produce vtkPistonDataObjects

Reimplemented in vtkPistonToDataSet.

virtual int vtkPistonAlgorithm::RequestDataObject ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
)
protectedvirtual

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 
)
protectedvirtual

Produce meta-data about what RequestData will produce.

virtual int vtkPistonAlgorithm::RequestUpdateExtent ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
)
protectedvirtual

Participate in pipeline's sub extent determination.

virtual int vtkPistonAlgorithm::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
)
protectedvirtual

Method that does the actual calculation.

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

virtual void vtkPistonAlgorithm::PassBoundsForward ( vtkPistonDataObject id,
vtkPistonDataObject od 
)
protectedvirtual

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: