Tulip  4.3.0
Better Visualization Through Research
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Groups Pages
tlp::BiconnectedTest Class Reference

#include <BiconnectedTest.h>

Inherits tlp::Observable.

Static Public Member Functions

static bool isBiconnected (const Graph *graph)
 
static void makeBiconnected (Graph *graph, std::vector< edge > &addedEdges)
 

Additional Inherited Members

- Private Member Functions inherited from tlp::Observable
void addListener (Observable *const listener) const
 
void addObserver (Observable *const observer) const
 
unsigned int countListeners () const
 
unsigned int countObservers () const
 
unsigned int getReceived () const
 
unsigned int getSent () const
 
void removeListener (Observable *const listener) const
 
void removeObserver (Observable *const observerver) const
 
 Observable (const Observable &)
 
tlp::Iterator< tlp::Observable * > * getObservables () const
 
bool hasOnlookers () const
 
void notifyObservers ()
 
void observableDeleted ()
 
Observableoperator= (const Observable &)
 
void sendEvent (const Event &message)
 
virtual void treatEvents (const std::vector< Event > &events)
 
- Static Private Member Functions inherited from tlp::Observable
static ObservablegetObject (tlp::node n)
 
static const tlp::VectorGraph & getObservableGraph ()
 
static void holdObservers ()
 
static bool isAlive (tlp::node n)
 
static unsigned int observersHoldCounter ()
 
static void unholdObservers ()
 

Detailed Description

Performs a test of biconnexity on the graph, and provides a function to make a graph biconnected. From Wikipedia: "A biconnected graph is connected and nonseparable, meaning that if any vertex were to be removed, the graph will remain connected.".

Definition at line 34 of file BiconnectedTest.h.

Member Function Documentation

static bool tlp::BiconnectedTest::isBiconnected ( const Graph graph)
static

Checks whether the graph is biconnected (i.e. removing one edge does not disconnect the graph, at least two must be removed).

Parameters
graphThe graph to check for biconnectivity.
Returns
bool True if the graph is biconnected, false otherwise.
static void tlp::BiconnectedTest::makeBiconnected ( Graph graph,
std::vector< edge > &  addedEdges 
)
static

Adds edges to make the graph biconnected.

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

Parameters
graphThe graph to make biconnected.
addedEdgesThe edges that were added in the process.
Returns
void