1 /** \file
2  * \brief Declaration of the Random Hierarchy graph generator.
3  *
4  * \author Carsten Gutwenger, Christoph Buchheim
5  *
6  * \par License:
7  * This file is part of the Open Graph Drawing Framework (OGDF).
8  *
9  * \par
10  * Copyright (C)<br>
11  * See README.md in the OGDF root directory for details.
12  *
13  * \par
14  * This program is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU General Public License
16  * Version 2 or 3 as published by the Free Software Foundation;
17  * see the file LICENSE.txt included in the packaging of this file
18  * for details.
19  *
20  * \par
21  * This program is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  * GNU General Public License for more details.
25  *
26  * \par
27  * You should have received a copy of the GNU General Public
28  * License along with this program; if not, see
29  * http://www.gnu.org/copyleft/gpl.html
30  */
31 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 
36 namespace ogdf {
37 
38 /**
39  * @addtogroup graph-generators
40  * @{
41  */
42 
43 //! @name Randomized graph generators
44 //! @{
45 
46 //! Creates a random hierarchical graph.
47 /**
48  * @param G is assigned the generated graph.
49  * @param n is the number of nodes.
50  * @param m is the number of edges.
51  * @param planar determines if the resulting graph is (level-)planar.
52  * @param singleSource determines if the graph is a single-source graph.
53  * @param longEdges determines if the graph has long edges (spanning 2 layers
54  *        or more); otherwise the graph is proper.
55  */
56 OGDF_EXPORT void randomHierarchy(
57 	Graph &G,
58 	int n,
59 	int m,
60 	bool planar,
61 	bool singleSource,
62 	bool longEdges);
63 
64 //! @}
65 
66 /** @} */
67 
68 }
69