Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

vtkTraversal Class Reference

#include <vtkTraversal.h>

Collaboration diagram for vtkTraversal:

Collaboration graph
[legend]
List of all members.

Detailed Description

Provides convenient traversal of pipeline objects.

Author:
Sean McInerney
Version:
Revision
1.2
Date:
Date
2004/08/10 07:37:22

Definition at line 48 of file vtkTraversal.h.

Public Member Functions

 vtkTraversal (void)
 vtkTraversal (vtkProcessObject *a)
virtual ~vtkTraversal ()
void UpdateTop (vtkProcessObject *aNode)
void UpdateTop (void)
vtkProcessObject * InitTraversal (vtkProcessObject *aNode)
 Sets Current to aNode and returns Current.

vtkProcessObject * InitTraversal (void)
 Sets Current to First and returns Current.

vtkProcessObject * TraverseUp (void)
vtkProcessObject * TraverseForward (int &depth)
vtkProcessObject * TraverseForward (void)
vtkProcessObject * TraverseBackward (void)
vtkProcessObject * Find (vtkProcessObject *node)
vtkProcessObject * FindByType (const char *classname)
vtkProcessObject * FindBySupertype (const char *superclassname)

Static Public Member Functions

vtkTraversal * New (void)
vtkProcessObject * GetInputSource (vtkDataObject *o)
 Get the source node connecting this node to its parent data object.

vtkDataObject * GetFirstInput (vtkProcessObject *o)
 Get the first input node connecting this node to its parent(s).

vtkDataObject * GetParent (vtkDataObject *o)
 Return the data object immediately upstream of this node.

vtkProcessObject * GetParent (vtkProcessObject *o)
 Return the process object immediately upstream of this node.

vtkCollection * GetConsumers (vtkDataObject *parent, vtkCollection **=0)
 Return a list of the consumer objects of this node.

vtkDataObjectCollection * GetOutputs (vtkProcessObject *parent, vtkDataObjectCollection **=0)
 Return a list of the output data objects of this node.

vtkDataObjectCollection * GetChildren (vtkDataObject *parent, vtkDataObjectCollection **=0)
 Return a list of data objects downstream from this node.

vtkCollection * GetConsumers (vtkProcessObject *parent, vtkCollection **=0)
 Return a list of consumer objects downstream from this node.

vtkProcessObjectCollection * GetChildren (vtkProcessObject *parent, vtkProcessObjectCollection **=0)
 Return a list of consumer process objects downstream from this node.

int GetNumberOfChildren (vtkDataObject *parent, vtkDataObjectCollection **=0)
int GetNumberOfChildren (vtkProcessObject *parent, vtkProcessObjectCollection **=0)
vtkObject * GetFirstConsumer (vtkDataObject *o)
vtkProcessObject * GetFirstProcessObject (vtkDataObject *o)
vtkDataObject * GetFirstOutput (vtkProcessObject *o)
vtkDataObject * GetFirstChild (vtkDataObject *o)
vtkObject * GetFirstConsumer (vtkProcessObject *o)
vtkProcessObject * GetFirstChild (vtkProcessObject *o)
vtkObject * GetLastConsumer (vtkDataObject *o)
vtkProcessObject * GetLastProcessObject (vtkDataObject *o)
vtkDataObject * GetLastOutput (vtkProcessObject *o)
vtkDataObject * GetLastChild (vtkDataObject *o)
vtkObject * GetLastConsumer (vtkProcessObject *o)
vtkProcessObject * GetLastChild (vtkProcessObject *o)
vtkDataObject * GetNextSibling (vtkDataObject *o)
vtkProcessObject * GetNextSibling (vtkProcessObject *o)
vtkDataObject * GetPreviousSibling (vtkDataObject *o)
vtkProcessObject * GetPreviousSibling (vtkProcessObject *)
vtkDataObject * GetTop (vtkDataObject *o)
vtkProcessObject * GetTop (vtkProcessObject *o)
vtkProcessObject * Splice (vtkProcessObject *newNode, vtkProcessObject *refNode)
 Inserts newNode as a parent of the existing node refNode.

vtkProcessObject * Replace (vtkProcessObject *newNode, vtkProcessObject *oldNode)
 Replaces the node oldNode with newNode.

vtkProcessObject * Remove (vtkProcessObject *oldNode)
 Removes the node indicated by oldNode and returns it.

vtkSource * Append (vtkSource *newNode, vtkProcessObject *refNode)
 Adds the node newNode to the termial end of the tree occupied by refNode.

vtkBoolType HasChildren (vtkDataObject *o)
vtkBoolType HasChildren (vtkProcessObject *o)
unsigned short ComparePosition (vtkProcessObject *o)
vtkBoolType IsSame (vtkProcessObject *o)
vtkBoolType IsEqual (vtkProcessObject *o)

Protected Types

typedef vtkTraversal Self

Static Protected Member Functions

int GetConsumerIndex (vtkDataObject *o, vtkObject *consumer)
 Returns the index of the specified consumer of a DataObject.

int GetOutputIndex (vtkProcessObject *o, vtkDataObject *output)
 Returns the index of the specified output of a ProcessObject.

int SetNthInput (vtkProcessObject *node, int index, vtkDataObject *input)
 Set the n'th input of a filter or mapper.

vtkBoolType IsSelfOrAncestor (vtkProcessObject *node, vtkProcessObject *child)
 Check if child is same as node or if child is one of node's ancestors.


Protected Attributes

vtkProcessObject * Top
vtkProcessObject * Current


Member Typedef Documentation

typedef vtkTraversal vtkTraversal::Self [protected]
 

Definition at line 210 of file vtkTraversal.h.


Constructor & Destructor Documentation

vtkTraversal::vtkTraversal (  void   ) 
 

vtkTraversal::vtkTraversal (  vtkProcessObject *  a  ) 
 

virtual vtkTraversal::~vtkTraversal (   )  [virtual]
 


Member Function Documentation

vtkSource* vtkTraversal::Append (  vtkSource *  newNode,
vtkProcessObject *  refNode
)  [static]
 

Adds the node newNode to the termial end of the tree occupied by refNode.

Parameters:
newNode The node to add.
refNode The reference node.
Returns:
The node added on success or null on failure.
Note:
If the newNode is already in the tree, it is first removed.

unsigned short vtkTraversal::ComparePosition (  vtkProcessObject *  o  )  [inline, static]
 

Definition at line 200 of file vtkTraversal.h.

vtkProcessObject * vtkTraversal::Find (  vtkProcessObject *  node  )  [inline]
 

Definition at line 775 of file vtkTraversal.h.

References Find(), InitTraversal(), and TraverseForward().

Referenced by Find().

vtkProcessObject * vtkTraversal::FindBySupertype (  const char *  superclassname  )  [inline]
 

Definition at line 805 of file vtkTraversal.h.

References FindBySupertype(), InitTraversal(), vtkProcessObject::IsA(), and TraverseForward().

Referenced by FindBySupertype().

vtkProcessObject * vtkTraversal::FindByType (  const char *  classname  )  [inline]
 

Definition at line 790 of file vtkTraversal.h.

References FindByType(), vtkProcessObject::GetClassName(), InitTraversal(), and TraverseForward().

Referenced by FindByType().

vtkProcessObjectCollection* vtkTraversal::GetChildren (  vtkProcessObject *  parent,
vtkProcessObjectCollection **  = 0
)  [static]
 

Return a list of consumer process objects downstream from this node.

vtkDataObjectCollection* vtkTraversal::GetChildren (  vtkDataObject *  parent,
vtkDataObjectCollection **  = 0
)  [static]
 

Return a list of data objects downstream from this node.

int vtkTraversal::GetConsumerIndex (  vtkDataObject *  o,
vtkObject *  consumer
)  [inline, static, protected]
 

Returns the index of the specified consumer of a DataObject.

Note:
Returns NULL on failure.

Definition at line 257 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetConsumerIndex(), and vtkDataObject::GetNumberOfConsumers().

Referenced by GetConsumerIndex().

vtkCollection* vtkTraversal::GetConsumers (  vtkProcessObject *  parent,
vtkCollection **  = 0
)  [static]
 

Return a list of consumer objects downstream from this node.

vtkCollection* vtkTraversal::GetConsumers (  vtkDataObject *  parent,
vtkCollection **  = 0
)  [static]
 

Return a list of the consumer objects of this node.

vtkProcessObject * vtkTraversal::GetFirstChild (  vtkProcessObject *  o  )  [static]
 

Definition at line 480 of file vtkTraversal.h.

References GetFirstChild().

vtkDataObject * vtkTraversal::GetFirstChild (  vtkDataObject *  o  )  [static]
 

Definition at line 453 of file vtkTraversal.h.

References GetFirstChild().

Referenced by GetFirstChild().

vtkObject * vtkTraversal::GetFirstConsumer (  vtkProcessObject *  o  )  [static]
 

Definition at line 467 of file vtkTraversal.h.

References GetFirstConsumer().

vtkObject * vtkTraversal::GetFirstConsumer (  vtkDataObject *  o  )  [static]
 

Definition at line 409 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetFirstConsumer(), and vtkDataObject::GetNumberOfConsumers().

Referenced by GetFirstConsumer().

vtkDataObject * vtkTraversal::GetFirstInput (  vtkProcessObject *  o  )  [static]
 

Get the first input node connecting this node to its parent(s).

Definition at line 368 of file vtkTraversal.h.

References GetFirstInput(), vtkProcessObject::GetInputs(), and vtkProcessObject::GetNumberOfInputs().

Referenced by GetFirstInput().

vtkDataObject * vtkTraversal::GetFirstOutput (  vtkProcessObject *  o  )  [static]
 

Definition at line 435 of file vtkTraversal.h.

References GetFirstOutput(), vtkSource::GetNumberOfOutputs(), and vtkSource::GetOutputs().

Referenced by GetFirstOutput().

vtkProcessObject * vtkTraversal::GetFirstProcessObject (  vtkDataObject *  o  )  [static]
 

Definition at line 421 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetFirstProcessObject(), and vtkDataObject::GetNumberOfConsumers().

Referenced by GetFirstProcessObject().

vtkProcessObject * vtkTraversal::GetInputSource (  vtkDataObject *  o  )  [static]
 

Get the source node connecting this node to its parent data object.

Definition at line 358 of file vtkTraversal.h.

References GetInputSource(), and vtkDataObject::GetSource().

Referenced by GetInputSource().

vtkProcessObject * vtkTraversal::GetLastChild (  vtkProcessObject *  o  )  [static]
 

Definition at line 565 of file vtkTraversal.h.

References GetLastChild().

vtkDataObject * vtkTraversal::GetLastChild (  vtkDataObject *  o  )  [static]
 

Definition at line 538 of file vtkTraversal.h.

References GetLastChild().

Referenced by GetLastChild().

vtkObject * vtkTraversal::GetLastConsumer (  vtkProcessObject *  o  )  [static]
 

Definition at line 552 of file vtkTraversal.h.

References GetLastConsumer().

vtkObject * vtkTraversal::GetLastConsumer (  vtkDataObject *  o  )  [static]
 

Definition at line 494 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetLastConsumer(), and vtkDataObject::GetNumberOfConsumers().

Referenced by GetLastConsumer().

vtkDataObject * vtkTraversal::GetLastOutput (  vtkProcessObject *  o  )  [static]
 

Definition at line 520 of file vtkTraversal.h.

References GetLastOutput(), vtkSource::GetNumberOfOutputs(), and vtkSource::GetOutputs().

Referenced by GetLastOutput().

vtkProcessObject * vtkTraversal::GetLastProcessObject (  vtkDataObject *  o  )  [static]
 

Definition at line 506 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetLastProcessObject(), and vtkDataObject::GetNumberOfConsumers().

Referenced by GetLastProcessObject().

vtkProcessObject * vtkTraversal::GetNextSibling (  vtkProcessObject *  o  )  [static]
 

Definition at line 595 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), GetNextSibling(), and vtkDataObject::GetNumberOfConsumers().

vtkDataObject * vtkTraversal::GetNextSibling (  vtkDataObject *  o  )  [static]
 

Definition at line 579 of file vtkTraversal.h.

References GetNextSibling(), vtkSource::GetNumberOfOutputs(), and vtkSource::GetOutputs().

Referenced by GetNextSibling(), and TraverseForward().

int vtkTraversal::GetNumberOfChildren (  vtkProcessObject *  parent,
vtkProcessObjectCollection **  = 0
)  [static]
 

int vtkTraversal::GetNumberOfChildren (  vtkDataObject *  parent,
vtkDataObjectCollection **  = 0
)  [static]
 

int vtkTraversal::GetOutputIndex (  vtkProcessObject *  o,
vtkDataObject *  output
)  [inline, static, protected]
 

Returns the index of the specified output of a ProcessObject.

Note:
Returns NULL on failure.

Definition at line 274 of file vtkTraversal.h.

References GetOutputIndex().

Referenced by GetOutputIndex().

vtkDataObjectCollection* vtkTraversal::GetOutputs (  vtkProcessObject *  parent,
vtkDataObjectCollection **  = 0
)  [static]
 

Return a list of the output data objects of this node.

vtkProcessObject * vtkTraversal::GetParent (  vtkProcessObject *  o  )  [static]
 

Return the process object immediately upstream of this node.

Definition at line 395 of file vtkTraversal.h.

References GetParent().

vtkDataObject * vtkTraversal::GetParent (  vtkDataObject *  o  )  [static]
 

Return the data object immediately upstream of this node.

Definition at line 382 of file vtkTraversal.h.

References GetParent().

Referenced by GetParent().

vtkProcessObject * vtkTraversal::GetPreviousSibling (  vtkProcessObject *   )  [static]
 

Definition at line 627 of file vtkTraversal.h.

References vtkDataObject::GetConsumer(), and GetPreviousSibling().

vtkDataObject * vtkTraversal::GetPreviousSibling (  vtkDataObject *  o  )  [static]
 

Definition at line 611 of file vtkTraversal.h.

References vtkSource::GetOutputs(), and GetPreviousSibling().

Referenced by GetPreviousSibling().

vtkProcessObject * vtkTraversal::GetTop (  vtkProcessObject *  o  )  [static]
 

Definition at line 655 of file vtkTraversal.h.

References GetTop().

vtkDataObject * vtkTraversal::GetTop (  vtkDataObject *  o  )  [static]
 

Definition at line 644 of file vtkTraversal.h.

References GetTop().

Referenced by GetTop().

vtkBoolType vtkTraversal::HasChildren (  vtkProcessObject *  o  )  [static]
 

vtkBoolType vtkTraversal::HasChildren (  vtkDataObject *  o  )  [static]
 

vtkProcessObject * vtkTraversal::InitTraversal (  void   )  [inline]
 

Sets Current to First and returns Current.

Definition at line 686 of file vtkTraversal.h.

References Current, and Top.

Referenced by Find(), FindBySupertype(), and FindByType().

vtkProcessObject * vtkTraversal::InitTraversal (  vtkProcessObject *  aNode  )  [inline]
 

Sets Current to aNode and returns Current.

Definition at line 680 of file vtkTraversal.h.

References Current.

vtkBoolType vtkTraversal::IsEqual (  vtkProcessObject *  o  )  [inline, static]
 

Definition at line 203 of file vtkTraversal.h.

References vtkBoolType.

vtkBoolType vtkTraversal::IsSame (  vtkProcessObject *  o  )  [inline, static]
 

Definition at line 202 of file vtkTraversal.h.

References vtkBoolType.

vtkBoolType vtkTraversal::IsSelfOrAncestor (  vtkProcessObject *  node,
vtkProcessObject *  child
)  [inline, static, protected]
 

Check if child is same as node or if child is one of node's ancestors.

Definition at line 328 of file vtkTraversal.h.

References IsSelfOrAncestor(), VTK_FALSE, and VTK_TRUE.

Referenced by IsSelfOrAncestor().

vtkTraversal* vtkTraversal::New (  void   )  [inline, static]
 

Definition at line 51 of file vtkTraversal.h.

vtkProcessObject* vtkTraversal::Remove (  vtkProcessObject *  oldNode  )  [static]
 

Removes the node indicated by oldNode and returns it.

Parameters:
oldNode The node being removed.
Returns:
The node removed on success or null on failure.

vtkProcessObject* vtkTraversal::Replace (  vtkProcessObject *  newNode,
vtkProcessObject *  oldNode
)  [static]
 

Replaces the node oldNode with newNode.

Parameters:
newNode The new node.
oldNode The node being replaced.
Returns:
The node being replaced on success or null on failure.
Note:
If the newNode is already in the tree, it is first removed.

int vtkTraversal::SetNthInput (  vtkProcessObject *  node,
int  index,
vtkDataObject *  input
)  [inline, static, protected]
 

Set the n'th input of a filter or mapper.

Parameters:
node The filter of mapper to modify.
index An index into the array of inputs.
input The new value for the n'th input.
Returns:
VTK_OK on success or VTK_ERROR on failure.

Definition at line 294 of file vtkTraversal.h.

References vtkDataObject::AddConsumer(), vtkProcessObject::GetInputs(), vtkProcessObject::GetNumberOfInputs(), vtkObject::Modified(), vtkObject::Register(), SetNthInput(), VTK_ERROR, and VTK_OK.

Referenced by SetNthInput().

vtkProcessObject* vtkTraversal::Splice (  vtkProcessObject *  newNode,
vtkProcessObject *  refNode
)  [static]
 

Inserts newNode as a parent of the existing node refNode.

Parameters:
newNode The node to insert above refNode.
refNode The reference node, i.e., the node above which the new node must be inserted.
Returns:
The node being inserted on success or null on failure.
Note:
If the newNode is already in the tree, it is first removed.
Warning:
Does NOT properly handle multiple input or multiple output filters.

vtkProcessObject * vtkTraversal::TraverseBackward (  void   )  [inline]
 

Definition at line 747 of file vtkTraversal.h.

References Current.

vtkProcessObject * vtkTraversal::TraverseForward (  void   )  [inline]
 

Definition at line 739 of file vtkTraversal.h.

Referenced by Find(), FindBySupertype(), and FindByType().

vtkProcessObject * vtkTraversal::TraverseForward (  int &  depth  )  [inline]
 

Definition at line 700 of file vtkTraversal.h.

References Current, and GetNextSibling().

vtkProcessObject * vtkTraversal::TraverseUp (  void   )  [inline]
 

Definition at line 692 of file vtkTraversal.h.

References Current.

void vtkTraversal::UpdateTop (  void   )  [inline]
 

Definition at line 674 of file vtkTraversal.h.

References Top.

void vtkTraversal::UpdateTop (  vtkProcessObject *  aNode  )  [inline]
 

Definition at line 667 of file vtkTraversal.h.

References Current, and Top.


Member Data Documentation

vtkProcessObject* vtkTraversal::Current [protected]
 

Definition at line 207 of file vtkTraversal.h.

Referenced by InitTraversal(), TraverseBackward(), TraverseForward(), TraverseUp(), and UpdateTop().

vtkProcessObject* vtkTraversal::Top [protected]
 

Definition at line 206 of file vtkTraversal.h.

Referenced by InitTraversal(), and UpdateTop().


The documentation for this class was generated from the following file:
Generated on Tue Aug 10 03:44:54 2004 for vtkExtensions by doxygen 1.3.7