Vuo  2.0.0
Public Member Functions | List of all members
VuoDirectedAcyclicNetwork Class Reference

Description

A data structure that ties together multiple directed acyclic graphs.

If a VuoDirectedAcyclicGraph::Vertex with the same key appears in two graphs, and there is an edge from the first graph to the second graph, then this data structure effectively adds an edge from the vertex in the first graph to the vertex in the second graph: vertices downstream of the vertex in the second graph are also downstream of the vertex in the first graph.

Definition at line 63 of file VuoDirectedAcyclicGraph.hh.

Public Member Functions

vector< VuoDirectedAcyclicGraph::Vertex * > findVertex (const string &key)
 Returns all vertices in the network whose VuoDirectedAcyclicGraph::Vertex::key function returns key. More...
 
void addEdge (VuoDirectedAcyclicGraph *fromGraph, VuoDirectedAcyclicGraph *toGraph)
 Adds a directed edge to the network. More...
 
vector< VuoDirectedAcyclicGraph::Vertex * > getDownstreamVertices (VuoDirectedAcyclicGraph::Vertex *vertex)
 Returns all vertices that can be reached from vertex via a path of directed vertex-to-vertex edges within graphs and directed graph-to-graph edges within the network. More...
 
vector< VuoDirectedAcyclicGraph::Vertex * > getUpstreamVertices (VuoDirectedAcyclicGraph::Vertex *vertex)
 Returns all vertices that can reach vertex via a path of directed vertex-to-vertex edges with graphs and directed graph-to-graph edges within the network. More...
 
string toString (bool showVertexAddresses=false)
 For debugging. More...
 

Member Function Documentation

◆ addEdge()

void VuoDirectedAcyclicNetwork::addEdge ( VuoDirectedAcyclicGraph fromGraph,
VuoDirectedAcyclicGraph toGraph 
)

Adds a directed edge to the network.

The network does not take ownership of the graph objects.

If this function is called multiple times for the same edge endpoints, the edge is only added once.

Definition at line 313 of file VuoDirectedAcyclicGraph.cc.

◆ findVertex()

vector< VuoDirectedAcyclicGraph::Vertex * > VuoDirectedAcyclicNetwork::findVertex ( const string &  key)

Returns all vertices in the network whose VuoDirectedAcyclicGraph::Vertex::key function returns key.

Definition at line 294 of file VuoDirectedAcyclicGraph.cc.

◆ getDownstreamVertices()

vector< VuoDirectedAcyclicGraph::Vertex * > VuoDirectedAcyclicNetwork::getDownstreamVertices ( VuoDirectedAcyclicGraph::Vertex vertex)

Returns all vertices that can be reached from vertex via a path of directed vertex-to-vertex edges within graphs and directed graph-to-graph edges within the network.

When different vertex instances with the same key appear in multiple graphs along the paths, all instances are returned.

The returned vertices are not in any particular order. In the future, this function may be modified to return them in topological order.

Definition at line 332 of file VuoDirectedAcyclicGraph.cc.

◆ getUpstreamVertices()

vector< VuoDirectedAcyclicGraph::Vertex * > VuoDirectedAcyclicNetwork::getUpstreamVertices ( VuoDirectedAcyclicGraph::Vertex vertex)

Returns all vertices that can reach vertex via a path of directed vertex-to-vertex edges with graphs and directed graph-to-graph edges within the network.

When different vertex instances with the same key appear in multiple graphs along the paths, all instances are returned.

The returned vertices are not in any particular order. In the future, this function may be modified to return them in topological order.

Definition at line 347 of file VuoDirectedAcyclicGraph.cc.

◆ toString()

string VuoDirectedAcyclicNetwork::toString ( bool  showVertexAddresses = false)

For debugging.

Definition at line 448 of file VuoDirectedAcyclicGraph.cc.


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