VTK
|
A rooted tree data structure. More...
#include <vtkDirectedAcyclicGraph.h>
Public Types | |
typedef vtkDirectedGraph | Superclass |
![]() | |
typedef vtkGraph | Superclass |
![]() | |
typedef vtkDataObject | Superclass |
![]() | |
typedef vtkObject | Superclass |
enum | FieldAssociations { FIELD_ASSOCIATION_POINTS, FIELD_ASSOCIATION_CELLS, FIELD_ASSOCIATION_NONE, FIELD_ASSOCIATION_POINTS_THEN_CELLS, FIELD_ASSOCIATION_VERTICES, FIELD_ASSOCIATION_EDGES, FIELD_ASSOCIATION_ROWS, NUMBER_OF_ASSOCIATIONS } |
enum | AttributeTypes { POINT, CELL, FIELD, POINT_THEN_CELL, VERTEX, EDGE, ROW, NUMBER_OF_ATTRIBUTE_TYPES } |
enum | FieldOperations { FIELD_OPERATION_PRESERVED, FIELD_OPERATION_REINTERPOLATED, FIELD_OPERATION_MODIFIED, FIELD_OPERATION_REMOVED } |
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) |
![]() | |
vtkGraph * | NewInstance () const |
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) |
![]() | |
vtkDataObject * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
unsigned long int | GetMTime () |
void | ReleaseData () |
unsigned long | GetUpdateTime () |
virtual unsigned long | GetActualMemorySize () |
void | DataHasBeenGenerated () |
virtual void | PrepareForNewData () |
virtual int | GetExtentType () |
virtual void | Crop (const int *updateExtent) |
virtual vtkDataSetAttributes * | GetAttributes (int type) |
virtual int | GetAttributeTypeForArray (vtkAbstractArray *arr) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
virtual int | GetDataReleased () |
virtual void | SetFieldData (vtkFieldData *) |
virtual vtkFieldData * | GetFieldData () |
virtual void | CopyInformationFromPipeline (vtkInformation *vtkNotUsed(info)) |
void | GlobalReleaseDataFlagOn () |
void | GlobalReleaseDataFlagOff () |
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) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkGraph * | SafeDownCast (vtkObjectBase *o) |
static vtkGraph * | GetData (vtkInformation *info) |
static vtkGraph * | GetData (vtkInformationVector *v, int i=0) |
![]() | |
static vtkDataObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkDataObject * | SafeDownCast (vtkObjectBase *o) |
static const char * | GetAssociationTypeAsString (int associationType) |
static int | GetAssociationTypeFromString (const char *associationType) |
static vtkInformationStringKey * | DATA_TYPE_NAME () |
static vtkInformationDataObjectKey * | DATA_OBJECT () |
static vtkInformationIntegerKey * | DATA_EXTENT_TYPE () |
static vtkInformationIntegerPointerKey * | DATA_EXTENT () |
static vtkInformationIntegerKey * | DATA_PIECE_NUMBER () |
static vtkInformationIntegerKey * | DATA_NUMBER_OF_PIECES () |
static vtkInformationIntegerKey * | DATA_NUMBER_OF_GHOST_LEVELS () |
static vtkInformationDoubleKey * | DATA_RESOLUTION () |
static vtkInformationDoubleKey * | DATA_TIME_STEP () |
static vtkInformationInformationVectorKey * | POINT_DATA_VECTOR () |
static vtkInformationInformationVectorKey * | CELL_DATA_VECTOR () |
static vtkInformationInformationVectorKey * | VERTEX_DATA_VECTOR () |
static vtkInformationInformationVectorKey * | EDGE_DATA_VECTOR () |
static vtkInformationIntegerKey * | FIELD_ARRAY_TYPE () |
static vtkInformationIntegerKey * | FIELD_ASSOCIATION () |
static vtkInformationIntegerKey * | FIELD_ATTRIBUTE_TYPE () |
static vtkInformationIntegerKey * | FIELD_ACTIVE_ATTRIBUTE () |
static vtkInformationIntegerKey * | FIELD_NUMBER_OF_COMPONENTS () |
static vtkInformationIntegerKey * | FIELD_NUMBER_OF_TUPLES () |
static vtkInformationIntegerKey * | FIELD_OPERATION () |
static vtkInformationDoubleVectorKey * | FIELD_RANGE () |
static vtkInformationDoubleVectorKey * | PIECE_FIELD_RANGE () |
static vtkInformationStringKey * | FIELD_ARRAY_NAME () |
static vtkInformationIntegerVectorKey * | PIECE_EXTENT () |
static vtkInformationStringKey * | FIELD_NAME () |
static vtkInformationDoubleVectorKey * | ORIGIN () |
static vtkInformationDoubleVectorKey * | SPACING () |
static vtkInformationIntegerKey * | DATA_GEOMETRY_UNMODIFIED () |
static vtkInformationDoubleVectorKey * | BOUNDING_BOX () |
static vtkInformationDataObjectKey * | SIL () |
static vtkInformation * | GetActiveFieldInformation (vtkInformation *info, int fieldAssociation, int attributeType) |
static vtkInformation * | GetNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name) |
static void | RemoveNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name) |
static vtkInformation * | SetActiveAttribute (vtkInformation *info, int fieldAssociation, const char *attributeName, int attributeType) |
static void | SetActiveAttributeInfo (vtkInformation *info, int fieldAssociation, int attributeType, const char *name, int arrayType, int numComponents, int numTuples) |
static void | SetPointDataActiveScalarInfo (vtkInformation *info, int arrayType, int numComponents) |
static vtkDataObject * | GetData (vtkInformation *info) |
static vtkDataObject * | GetData (vtkInformationVector *v, int i=0) |
static void | SetGlobalReleaseDataFlag (int val) |
static int | GetGlobalReleaseDataFlag () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
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) |
![]() | |
vtkDataObject () | |
~vtkDataObject () | |
Additional Inherited Members | |
![]() | |
vtkGraphInternals * | Internals |
vtkDistributedGraphHelper * | DistributedHelper |
vtkGraphEdgePoints * | EdgePoints |
double | Bounds [6] |
vtkTimeStamp | ComputeTime |
vtkDataSetAttributes * | VertexData |
vtkDataSetAttributes * | EdgeData |
vtkPoints * | Points |
vtkIdTypeArray * | EdgeList |
![]() | |
vtkFieldData * | FieldData |
int | DataReleased |
vtkTimeStamp | UpdateTime |
vtkInformation * | Information |
![]() | |
static double | DefaultPoint [3] |
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.