|
| virtual const char * | GetClassName () |
| |
| virtual int | IsA (const char *type) |
| |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| |
| virtual int | GetDataObjectType () |
| |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| |
| virtual void | Initialize () |
| |
| void | ComputeBounds () |
| |
| unsigned long int | GetMTime () |
| |
| virtual void | GetOutEdges (vtkIdType v, vtkOutEdgeIterator *it) |
| |
| virtual vtkIdType | GetDegree (vtkIdType v) |
| |
| virtual vtkIdType | GetOutDegree (vtkIdType v) |
| |
| virtual void | GetOutEdge (vtkIdType v, vtkIdType index, vtkGraphEdge *e) |
| |
| virtual void | GetInEdges (vtkIdType v, vtkInEdgeIterator *it) |
| |
| virtual vtkIdType | GetInDegree (vtkIdType v) |
| |
| virtual void | GetInEdge (vtkIdType v, vtkIdType index, vtkGraphEdge *e) |
| |
| virtual void | GetAdjacentVertices (vtkIdType v, vtkAdjacentVertexIterator *it) |
| |
| virtual void | GetEdges (vtkEdgeListIterator *it) |
| |
| virtual vtkIdType | GetNumberOfEdges () |
| |
| virtual void | GetVertices (vtkVertexListIterator *it) |
| |
| virtual vtkIdType | GetNumberOfVertices () |
| |
| void | SetDistributedGraphHelper (vtkDistributedGraphHelper *helper) |
| |
| vtkIdType | FindVertex (const vtkVariant &pedigreeID) |
| |
| virtual void | ShallowCopy (vtkDataObject *obj) |
| |
| virtual void | DeepCopy (vtkDataObject *obj) |
| |
| virtual void | CopyStructure (vtkGraph *g) |
| |
| virtual bool | CheckedShallowCopy (vtkGraph *g) |
| |
| virtual bool | CheckedDeepCopy (vtkGraph *g) |
| |
| virtual void | Squeeze () |
| |
| void | ReorderOutVertices (vtkIdType v, vtkIdTypeArray *vertices) |
| |
| bool | IsSameStructure (vtkGraph *other) |
| |
| vtkIdType | GetNumberOfEdgePoints (vtkIdType e) |
| |
| double * | GetEdgePoint (vtkIdType e, vtkIdType i) |
| |
| void | ClearEdgePoints (vtkIdType e) |
| |
| vtkGraphInternals * | GetGraphInternals (bool modifying) |
| |
| void | GetInducedEdges (vtkIdTypeArray *verts, vtkIdTypeArray *edges) |
| |
| virtual vtkFieldData * | GetAttributesAsFieldData (int type) |
| |
| virtual vtkIdType | GetNumberOfElements (int type) |
| |
| void | Dump () |
| |
| vtkIdType | GetEdgeId (vtkIdType a, vtkIdType b) |
| |
| bool | ToDirectedGraph (vtkDirectedGraph *g) |
| |
| bool | ToUndirectedGraph (vtkUndirectedGraph *g) |
| |
| virtual vtkDataSetAttributes * | GetVertexData () |
| |
| virtual vtkDataSetAttributes * | GetEdgeData () |
| |
| double * | GetPoint (vtkIdType ptId) |
| |
| void | GetPoint (vtkIdType ptId, double x[3]) |
| |
| vtkPoints * | GetPoints () |
| |
| virtual void | SetPoints (vtkPoints *points) |
| |
| double * | GetBounds () |
| |
| void | GetBounds (double bounds[6]) |
| |
| virtual vtkOutEdgeType | GetOutEdge (vtkIdType v, vtkIdType index) |
| |
| virtual vtkInEdgeType | GetInEdge (vtkIdType v, vtkIdType index) |
| |
| vtkDistributedGraphHelper * | GetDistributedGraphHelper () |
| |
| vtkIdType | GetSourceVertex (vtkIdType e) |
| |
| vtkIdType | GetTargetVertex (vtkIdType e) |
| |
| void | SetEdgePoints (vtkIdType e, vtkIdType npts, double *pts) |
| |
| void | GetEdgePoints (vtkIdType e, vtkIdType &npts, double *&pts) |
| |
| void | SetEdgePoint (vtkIdType e, vtkIdType i, double x[3]) |
| |
| void | SetEdgePoint (vtkIdType e, vtkIdType i, double x, double y, double z) |
| |
| void | AddEdgePoint (vtkIdType e, double x[3]) |
| |
| void | AddEdgePoint (vtkIdType e, double x, double y, double z) |
| |
| void | ShallowCopyEdgePoints (vtkGraph *g) |
| |
| void | DeepCopyEdgePoints (vtkGraph *g) |
| |
|
| | vtkDirectedAcyclicGraph () |
| |
| | ~vtkDirectedAcyclicGraph () |
| |
| virtual bool | IsStructureValid (vtkGraph *g) |
| |
| | vtkDirectedGraph () |
| |
| | ~vtkDirectedGraph () |
| |
| | vtkGraph () |
| |
| | ~vtkGraph () |
| |
| void | AddVertexInternal (const vtkVariant &pedigree, vtkIdType *vertex) |
| |
| void | RemoveVertexInternal (vtkIdType v, bool directed) |
| |
| void | RemoveEdgeInternal (vtkIdType e, bool directed) |
| |
| void | RemoveVerticesInternal (vtkIdTypeArray *arr, bool directed) |
| |
| virtual void | CopyInternal (vtkGraph *g, bool deep) |
| |
| void | SetInternals (vtkGraphInternals *internals) |
| |
| void | SetEdgePoints (vtkGraphEdgePoints *edgePoints) |
| |
| void | ForceOwnership () |
| |
| void | BuildEdgeList () |
| |
| void | AddVertexInternal (vtkVariantArray *propertyArr=0, vtkIdType *vertex=0) |
| |
| void | AddEdgeInternal (vtkIdType u, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge) |
| |
| void | AddEdgeInternal (const vtkVariant &uPedigree, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge) |
| |
| void | AddEdgeInternal (vtkIdType u, const vtkVariant &vPedigree, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge) |
| |
| void | AddEdgeInternal (const vtkVariant &uPedigree, const vtkVariant &vPedigree, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge) |
| |
| void | RemoveEdgesInternal (vtkIdTypeArray *arr, bool directed) |
| |
| virtual void | GetOutEdges (vtkIdType v, const vtkOutEdgeType *&edges, vtkIdType &nedges) |
| |
| virtual void | GetInEdges (vtkIdType v, const vtkInEdgeType *&edges, vtkIdType &nedges) |
| |
| virtual vtkIdTypeArray * | GetEdgeList () |
| |
| virtual void | SetEdgeList (vtkIdTypeArray *list) |
| |
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.