Open
Graph Drawing
Framework

 v.2012.05
 

graph_generators.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
00007  ***************************************************************/
00008  
00043 #ifdef _MSC_VER
00044 #pragma once
00045 #endif
00046 
00047 #ifndef OGDF_GRAPH_GENERATORS_H
00048 #define OGDF_GRAPH_GENERATORS_H
00049 
00050 
00051 #include <ogdf/basic/Graph.h>
00052 #include <ogdf/cluster/ClusterGraph.h>
00053 
00054 namespace ogdf {
00055 
00057 
00062 OGDF_EXPORT void randomGraph(Graph &G, int n, int m);
00063 
00065 
00070 OGDF_EXPORT bool randomSimpleGraph(Graph &G, int n, int m);
00071 
00073 
00078 OGDF_EXPORT void randomBiconnectedGraph(Graph &G, int n, int m);
00079 
00081 
00086 OGDF_EXPORT void planarConnectedGraph(Graph &G, int n, int m);
00087 
00089 
00096 OGDF_EXPORT void planarBiconnectedGraph(Graph &G, int n, int m, bool multiEdges = false);
00097 
00099 /*   @param n is the max. number of nodes in each biconencted component
00100  *   @param m is the max. number of edges in each biconnected component
00101  *   @param b is the number of biconnected components
00102  */
00103 OGDF_EXPORT void planarCNBGraph(Graph &G, int n, int m, int b);
00104 
00106 
00132 OGDF_EXPORT void randomTriconnectedGraph(Graph &G, int n, double p1, double p2);
00133 
00135 
00154 OGDF_EXPORT void planarTriconnectedGraph(Graph &G, int n, int m);
00155 
00157 
00173 OGDF_EXPORT void planarTriconnectedGraph(Graph &G, int n, double p1, double p2);
00174 
00176 
00180 OGDF_EXPORT void randomTree(Graph& G, int n);
00181 
00183 
00189 OGDF_EXPORT void randomTree(Graph &G, int n, int maxDeg, int maxWidth);
00190 
00192 
00199 void regularTree(Graph& G, int n, int children);
00200 
00201 
00202 
00204 
00213 OGDF_EXPORT void randomHierarchy(
00214     Graph &G,
00215     int n,
00216     int m,
00217     bool planar,
00218     bool singleSource,
00219     bool longEdges);
00220 
00222 
00231 OGDF_EXPORT void randomClusterPlanarGraph(ClusterGraph &C,Graph &G,int cNum);
00232 
00234 
00241 OGDF_EXPORT void randomClusterGraph(ClusterGraph &C,Graph &G,int cNum);
00242 
00243 
00245 
00257 OGDF_EXPORT void randomClusterGraph(ClusterGraph& C, const Graph& G, const node root, int moreInLeaves);
00258 
00259 
00261 
00265 OGDF_EXPORT void completeGraph(Graph &G, int n);
00266 
00268 
00273 OGDF_EXPORT void completeBipartiteGraph(Graph &G, int n, int m);
00274 
00276 
00280 OGDF_EXPORT void wheelGraph(Graph &G, int n);
00281 
00283 
00287 OGDF_EXPORT void cubeGraph(Graph &G, int n);
00288 
00290 
00294 OGDF_EXPORT void suspension(Graph &G, int s);
00295 
00297 
00304 OGDF_EXPORT void gridGraph(Graph &G, int n, int m, bool loopN, bool loopM);
00305 
00307 
00312 OGDF_EXPORT void petersenGraph(Graph &G, int n, int m);
00313 
00315 
00320 OGDF_EXPORT void randomDiGraph(Graph &G, int n, double p);
00321 
00322 
00323 
00324 }
00325 
00326 
00327 #endif