VTK
|
Superclass for algorithms that produce only PistonDataObjects. More...
#include <vtkPistonAlgorithm.h>
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.
Reimplemented from vtkAlgorithm.
Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.
Definition at line 47 of file vtkPistonAlgorithm.h.
vtkPistonAlgorithm::vtkPistonAlgorithm | ( | ) | [protected] |
vtkPistonAlgorithm::~vtkPistonAlgorithm | ( | ) | [protected] |
static vtkPistonAlgorithm* vtkPistonAlgorithm::New | ( | ) | [static] |
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.
static vtkPistonAlgorithm* vtkPistonAlgorithm::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkAlgorithm.
Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.
virtual vtkObjectBase* vtkPistonAlgorithm::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkAlgorithm.
Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.
Reimplemented from vtkAlgorithm.
Reimplemented in vtkDataSetToPiston, vtkPistonToDataSet, vtkPistonSort, vtkPistonSlice, vtkPistonContour, and vtkPistonThreshold.
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.
virtual int vtkPistonAlgorithm::ProcessRequest | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [virtual] |
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.
virtual int vtkPistonAlgorithm::RequestUpdateExtent | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
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,