Tulip
5.2.0
Large graphs analysis and drawing

#include <SimpleTest.h>
Static Public Member Functions  
static bool  isSimple (const Graph *graph) 
static void  makeSimple (Graph *graph, std::vector< edge > &removed) 
static bool  simpleTest (const Graph *graph, std::vector< edge > *multipleEdges=nullptr, std::vector< edge > *loops=nullptr) 
Performs test to check if a graph is Simple. From Wikipedia: "A simple graph is an undirected graph that has no loops and no more than one edge between any two different vertices.".
Definition at line 35 of file SimpleTest.h.

static 
Checks if the graph is simple (i.e. it contains no self loops or parallel edges).
graph  The graph to check. 
Makes the graph simple, by removing self loops and parallel edges if any.
Makes the graph simple by removing self loops and parallel edges if any. The removed edges are stored in the removed vector.
graph  The graph to make simple. 
removed  The edges that were removed to make the graph simple. 

static 
Checks if the graph is simple, and stores parallel edges and self loops in different vectors.
Performs simple test and stores found parallel edges in the multipleEdges vector and found self loops in the loops vector. Returns true if the graph is simple, false otherwise.
graph  The graph to check for simplicity. 
multipleEdges  The parallel edges that need to be removed to make the graph simple. Defaults to 0. 
loops  The self loops that need to be removed to make the graph simple. Defaults to 0. 