VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkDirectedAcyclicGraph Class Reference

A rooted tree data structure. More...

#include <vtkDirectedAcyclicGraph.h>

Inheritance diagram for vtkDirectedAcyclicGraph:
[legend]
Collaboration diagram for vtkDirectedAcyclicGraph:
[legend]

Public Types

typedef vtkDirectedGraph Superclass
 
- Public Types inherited from vtkDirectedGraph
typedef vtkGraph Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetDataObjectType ()
 
- Public Member Functions inherited from vtkDirectedGraph
void PrintSelf (ostream &os, vtkIndent indent)
 

Static Public Member Functions

static vtkDirectedAcyclicGraphNew ()
 
static int IsTypeOf (const char *type)
 
static vtkDirectedAcyclicGraphSafeDownCast (vtkObject *o)
 
static vtkDirectedAcyclicGraphGetData (vtkInformation *info)
 
static vtkDirectedAcyclicGraphGetData (vtkInformationVector *v, int i=0)
 
- Static Public Member Functions inherited from vtkDirectedGraph
static vtkDirectedGraphNew ()
 
static int IsTypeOf (const char *type)
 
static vtkDirectedGraphSafeDownCast (vtkObject *o)
 
static vtkDirectedGraphGetData (vtkInformation *info)
 
static vtkDirectedGraphGetData (vtkInformationVector *v, int i=0)
 

Protected Member Functions

 vtkDirectedAcyclicGraph ()
 
 ~vtkDirectedAcyclicGraph ()
 
virtual bool IsStructureValid (vtkGraph *g)
 
- Protected Member Functions inherited from vtkDirectedGraph
 vtkDirectedGraph ()
 
 ~vtkDirectedGraph ()
 

Detailed Description

A rooted tree data structure.

vtkDirectedAcyclicGraph is a connected directed graph with no cycles. A tree is a type of directed graph, so works with all graph algorithms.

vtkDirectedAcyclicGraph is a read-only data structure. To construct a tree, create an instance of vtkMutableDirectedGraph. Add vertices and edges with AddVertex() and AddEdge(). You may alternately start by adding a single vertex as the root then call graph->AddChild(parent) which adds a new vertex and connects the parent to the child. The tree MUST have all edges in the proper direction, from parent to child. After building the tree, call tree->CheckedShallowCopy(graph) to copy the structure into a vtkDirectedAcyclicGraph. This method will return false if the graph is an invalid tree.

vtkDirectedAcyclicGraph provides some convenience methods for obtaining the parent and children of a vertex, for finding the root, and determining if a vertex is a leaf (a vertex with no children).

See also
vtkDirectedGraph vtkMutableDirectedGraph vtkGraph
Tests:
vtkDirectedAcyclicGraph (Tests)

Definition at line 55 of file vtkDirectedAcyclicGraph.h.

Member Typedef Documentation

Definition at line 59 of file vtkDirectedAcyclicGraph.h.

Constructor & Destructor Documentation

vtkDirectedAcyclicGraph::vtkDirectedAcyclicGraph ( )
protected
vtkDirectedAcyclicGraph::~vtkDirectedAcyclicGraph ( )
protected

Member Function Documentation

static vtkDirectedAcyclicGraph* vtkDirectedAcyclicGraph::New ( )
static
virtual const char* vtkDirectedAcyclicGraph::GetClassName ( )
virtual

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkTree.

static int vtkDirectedAcyclicGraph::IsTypeOf ( const char *  type)
static
virtual int vtkDirectedAcyclicGraph::IsA ( const char *  type)
virtual

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkTree.

static vtkDirectedAcyclicGraph* vtkDirectedAcyclicGraph::SafeDownCast ( vtkObject o)
static
void vtkDirectedAcyclicGraph::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual int vtkDirectedAcyclicGraph::GetDataObjectType ( )
inlinevirtual

Return what type of dataset this is.

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkTree.

Definition at line 63 of file vtkDirectedAcyclicGraph.h.

static vtkDirectedAcyclicGraph* vtkDirectedAcyclicGraph::GetData ( vtkInformation info)
static

Retrieve a graph from an information vector.

static vtkDirectedAcyclicGraph* vtkDirectedAcyclicGraph::GetData ( vtkInformationVector v,
int  i = 0 
)
static

Retrieve a graph from an information vector.

virtual bool vtkDirectedAcyclicGraph::IsStructureValid ( vtkGraph *  g)
protectedvirtual

Check the storage, and accept it if it is a valid tree.

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkTree.


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