VTK
|
A rooted tree data structure. More...
#include <vtkDirectedAcyclicGraph.h>
Public Types | |
typedef vtkDirectedGraph | Superclass |
![]() | |
typedef vtkGraph | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkDirectedAcyclicGraph * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual int | GetDataObjectType () |
![]() | |
vtkDirectedGraph * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
Static Public Member Functions | |
static vtkDirectedAcyclicGraph * | New () |
static int | IsTypeOf (const char *type) |
static vtkDirectedAcyclicGraph * | SafeDownCast (vtkObjectBase *o) |
static vtkDirectedAcyclicGraph * | GetData (vtkInformation *info) |
static vtkDirectedAcyclicGraph * | GetData (vtkInformationVector *v, int i=0) |
![]() | |
static vtkDirectedGraph * | New () |
static int | IsTypeOf (const char *type) |
static vtkDirectedGraph * | SafeDownCast (vtkObjectBase *o) |
static vtkDirectedGraph * | GetData (vtkInformation *info) |
static vtkDirectedGraph * | GetData (vtkInformationVector *v, int i=0) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkDirectedAcyclicGraph () | |
~vtkDirectedAcyclicGraph () | |
virtual bool | IsStructureValid (vtkGraph *g) |
![]() | |
vtkDirectedGraph () | |
~vtkDirectedGraph () | |
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).
Definition at line 56 of file vtkDirectedAcyclicGraph.h.
Definition at line 60 of file vtkDirectedAcyclicGraph.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
Reimplemented from vtkDirectedGraph.
|
static |
|
protectedvirtual |
Reimplemented from vtkDirectedGraph.
vtkDirectedAcyclicGraph* vtkDirectedAcyclicGraph::NewInstance | ( | ) | const |
void vtkDirectedAcyclicGraph::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
inlinevirtual |
Return what type of dataset this is.
Reimplemented from vtkDirectedGraph.
Definition at line 64 of file vtkDirectedAcyclicGraph.h.
|
static |
Retrieve a graph from an information vector.
|
static |
Retrieve a graph from an information vector.
|
protectedvirtual |
Check the storage, and accept it if it is a valid tree.
Reimplemented from vtkDirectedGraph.