OGDF » Release Notes » Madrona
Released 2012-05-10.
This release brings various new algorithms and modules, as well as bug fixes and adaptions for current compilers.
Highlights:
MultiEdgeApproxInserter
).FPPLayout
) and Schnyder (class SchnyderLayout
).SugiyamaLayout
:SiftingHeuristic
) and greedy approaches (classes GreedyInsertHeuristic
and GreedySwitchHeuristic
).CoffmanGrahamRanking
).FastSimpleHierarchyLayout
).DisjointSets
).MultiEdgeApproxInserter
) implementing an approximation algorithm for multi-edge insertion.FPPLayout
implements the algorithm by de Fraysseix, Pach, Pollack.SchnyderLayout
implements the algorithm by Schnyder.CoffmanGrahamRanking
) which allows to limit the number of nodes on a layer.GreedyInsertHeuristic
GreedySwitchHeuristic
SiftingHeuristic
FastSimpleHierarchyLayout
) in Sugiyama’s framework implementing the algorithm by Brandes and Köpf.DisjointSets
).SpringEmbedderFRExact
): Fruchterman/Reingold spring-embedder with exact force calculations; also features OpenMP and SSE3 parallelization.loadChallengeGraph()
, saveChallengeGraph()
: read and write graphs in GD Challenge file format.loadChacoGraph()
: read graph in Chaco (graph partitioning software) file format.loadEdgeListSubgraph()
, saveEdgeListSubgraph()
: read and write graphs with specified subgraphs in a simple file format (used in experimental evaluation of edge insertion algorithms by Chimani and Gutwenger).SteinLibParser
: reads instances from SteinLib.planarConnectedGraph()
: creates a connected (simple) planar (embedded) graph.gridGraph()
: creates a (toroidal) grid graph.petersenGraph()
: creates a generalized Petersen graph.changeDir()
now returns a boolean value (true = successful).SList
, SListPure
: added search()
method.ModularMultilevelMixerLayout.h
to ModularMultilevelMixer.h
(since it defines class ModularMultilevelMixer
).ClusterGraphAttributes
: made method readClusterGraphGML()
private, since it should not be called by a user.CrossingsMatrix
: changed return type of operator()
from double to int.ScalingLayout
, PreprocessorLayout
: proper usage of module options.Math
and renamed euler
to e
; added definitions of constants pi_2
, pi_4
, and two_pi
.GraphAttributes
: writeGML()
now uses edge arrow attributes if specified.GmlParser
: Access to uninitialized pointer in destructor if file could not be opened in constructor.ModularMultilevelMixer
: implemented correct usage of module options; fixes a potential memory leak.Cluster-Sugiyama
: fixed bug in ExtendedNestingGraph::tryEdge()
(integer overflow); reimplemented computation of “levels” for fast acyclicity testing such that levels are < 2n.DynamicPlanarSPQRTree.h
: fixed include statement (missing subdirectory decomposition).GraphListBase::swap()
(wrong swap function was called).