Overview Modules Class Hierarchy Classes Members
Graph_test

## Function Documentation

 static bool tlp::AcyclicTest::acyclicTest ( const Graph * , std::vector< edge > * obstructionEdges = `NULL` ) ` [static]`

Returns true if the graph is acyclic, false otherwise. If the graph is not acyclic, uses obstructionEdges variable to store all edges that create cycle.

 static void tlp::ConnectedTest::computeConnectedComponents ( Graph * graph, std::vector< std::set< node > > & components ) ` [static]`

Computes the sets of connected components and stores the result in the components vector.

 static void tlp::AcyclicTest::makeAcyclic ( Graph * graph, std::vector< edge > & reversed, std::vector< tlp::SelfLoops > & selfLoops ) ` [static]`

Makes the graph acyclic, by reversing edge direction (feedback arc set problem). If there is self loops, a new node is added with two edges that points to it.

 static void tlp::BiconnectedTest::makeBiconnected ( Graph * graph, std::vector< edge > & addedEdges ) ` [static]`

If the graph is not biconnected, adds edges in order to make the graph biconnected. The new edges are added in addedEdges.

 static void tlp::ConnectedTest::makeConnected ( Graph * graph, std::vector< edge > & addedEdges ) ` [static]`

If the graph is not connected, adds edges in order to make the graph connected. The new edges are added in addedEdges.

 static unsigned int tlp::ConnectedTest::numberOfConnectedComponents ( const Graph *const graph ) ` [static]`

Returns the number of connected components in the graph.

## Variable Documentation

 edge tlp::SelfLoops::e1
 edge tlp::SelfLoops::e2
 edge tlp::SelfLoops::e3
 node tlp::SelfLoops::n1
 node tlp::SelfLoops::n2
 edge tlp::SelfLoops::old

 Tulip Software by LaBRI Visualization Team    2001 - 2012