This code is taken from the OGDF library.

***********************************************************
*         OGDF - The Open Graph Drawing Framework         *
*                                                         *
*                        LICENSE                          *
***********************************************************

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
Version 2 or 3 as published by the Free Software Foundation
and appearing in the files LICENSE_GPL_v2.txt and
LICENSE_GPL_v3.txt included in the packaging of this file.

In addition, as a special exception, you have permission to link
this software with

  - Tulip (https://tulip.labri.fr/site/)

  - the libraries of the COIN-OR Osi project (see
    https://github.com/coin-or/Osi);

  - all libraries required by Osi;

  - and all LP-solver libraries directly supported by the
    COIN-OR Osi project,

and distribute executables, as long as you follow the requirements
of the GNU General Public License in regard to all of the software
in the executable aside from these third-party libraries.

Moreover, we grant a special exception to the OGDF QML
(https://github.com/schulzch/qml-ogdf) plugin by Christoph Schulz
(licensed under the GNU Lesser General Public License) for linking
OGDF and distributing the plugin under LGPL v2 or v3.
We also grant a special link exception for the binary distribution
(academic use only!) of the StayNerd software tool for
Steiner tree computations by Ivana Ljubic, Matteo Fischetti, et al.



See also: http://www.ogdf.net/license


Third-party software:

This distribution integrates source code from

  - the ABACUS framework, licensed under the GNU LGPL
    (see https://software.cs.uni-koeln.de/abacus/).
    The files are located in {src,include}/ogdf/lib/abacus.

  - the Bandit unit testing framework, licensed under MIT license
    (see test/include/bandit/LICENSE.md).
    The files are located in test/include/bandit.
    The current version is commit 49693bfa1 from
    https://github.com/ogdf/bandit

  - the Snowhouse assertion framework, licensed under the Boost
    Software License 1.0.  The files are located in
    test/include/bandit/assertion_frameworks/snowhouse.
    See LICENSE_1_0.txt in that directory for more information.
    The current version is the one used in commit 49693bfa1 from
    https://github.com/ogdf/bandit

  - the COIN-OR project, licensed under the Eclipse Public License 1.0
    (see https://www.eclipse.org/legal/epl-v10.html).
    The files are located in {src,include}/coin.

  - the Minisat project, licensed under the MIT license
    (see include/ogdf/lib/minisat/LICENSE).
    The files are located in {src,include}/ogdf/lib/minisat.

  - the pugixml project, licensed under the MIT license
    (see include/ogdf/lib/pugixml/pugixml.h header)
    The files are located in {src,include}/ogdf/lib/pugixml.

  - the TinyDir project, licensed under the 2-clause BSD license
    (see test/include/tinydir.h header).
    The only included file is test/include/tinydir.h.

  - the Backward project, licensed under the MIT license
    (see include/ogdf/lib/backward/backward.hpp header)
    The only included file is include/ogdf/lib/backward/backward.hpp.
