vtkDirectedGraphAlgorithm Class Reference

#include <vtkDirectedGraphAlgorithm.h>

Inheritance diagram for vtkDirectedGraphAlgorithm:

Inheritance graph
[legend]
Collaboration diagram for vtkDirectedGraphAlgorithm:

Collaboration graph
[legend]

List of all members.


Detailed Description

Superclass for algorithms that produce only directed graph as output.

vtkDirectedGraphAlgorithm is a convenience class to make writing algorithms easier. It is also designed to help transition old algorithms to the new pipeline edgehitecture. 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 Graph. 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. 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.

Thanks:
Thanks to Patricia Crossno, Ken Moreland, Andrew Wilson and Brian Wylie from Sandia National Laboratories for their help in developing this class.

Definition at line 53 of file vtkDirectedGraphAlgorithm.h.


Public Types

typedef vtkAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkDirectedGraphGetOutput ()
vtkDirectedGraphGetOutput (int index)
void SetInput (vtkDataObject *obj)
void SetInput (int index, vtkDataObject *obj)

Static Public Member Functions

static vtkDirectedGraphAlgorithmNew ()
static int IsTypeOf (const char *type)
static vtkDirectedGraphAlgorithmSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkDirectedGraphAlgorithm ()
 ~vtkDirectedGraphAlgorithm ()
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Member Typedef Documentation


Constructor & Destructor Documentation

vtkDirectedGraphAlgorithm::vtkDirectedGraphAlgorithm (  )  [protected]

vtkDirectedGraphAlgorithm::~vtkDirectedGraphAlgorithm (  )  [protected]


Member Function Documentation

static vtkDirectedGraphAlgorithm* vtkDirectedGraphAlgorithm::New (  )  [static]

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

Reimplemented from vtkAlgorithm.

Reimplemented in vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, vtkUnstructuredGridToReebGraphFilter, and vtkPipelineGraphSource.

virtual const char* vtkDirectedGraphAlgorithm::GetClassName (  )  [virtual]

static int vtkDirectedGraphAlgorithm::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 vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, vtkUnstructuredGridToReebGraphFilter, and vtkPipelineGraphSource.

virtual int vtkDirectedGraphAlgorithm::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 vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, vtkUnstructuredGridToReebGraphFilter, and vtkPipelineGraphSource.

static vtkDirectedGraphAlgorithm* vtkDirectedGraphAlgorithm::SafeDownCast ( vtkObject o  )  [static]

void vtkDirectedGraphAlgorithm::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 vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, vtkUnstructuredGridToReebGraphFilter, and vtkPipelineGraphSource.

virtual int vtkDirectedGraphAlgorithm::ProcessRequest ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [virtual]

see vtkAlgorithm for details

Reimplemented from vtkAlgorithm.

vtkDirectedGraph* vtkDirectedGraphAlgorithm::GetOutput (  )  [inline]

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

Reimplemented in vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, and vtkUnstructuredGridToReebGraphFilter.

Definition at line 69 of file vtkDirectedGraphAlgorithm.h.

vtkDirectedGraph* vtkDirectedGraphAlgorithm::GetOutput ( int  index  ) 

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

void vtkDirectedGraphAlgorithm::SetInput ( vtkDataObject obj  )  [inline]

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.

Definition at line 81 of file vtkDirectedGraphAlgorithm.h.

void vtkDirectedGraphAlgorithm::SetInput ( int  index,
vtkDataObject obj 
)

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.

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

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

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

Reimplemented in vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, vtkUnstructuredGridToReebGraphFilter, and vtkPipelineGraphSource.

virtual int vtkDirectedGraphAlgorithm::RequestUpdateExtent ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

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

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

Reimplemented in vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, and vtkUnstructuredGridToReebGraphFilter.

virtual int vtkDirectedGraphAlgorithm::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 vtkPolyDataToReebGraphFilter, vtkReebGraphSimplificationFilter, vtkReebGraphToJoinSplitTreeFilter, and vtkUnstructuredGridToReebGraphFilter.


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

Generated on Wed Aug 24 11:33:59 2011 for VTK by  doxygen 1.5.6