Changes since last snapshot
- new graph generator customGraph() for quick generation of
specific custom graphs - the graph size is no longer bounded by the stack size for the
following algorithms:- biconnectedComponents()
- strongComponents()
- isForest()
- new simple graph algorithm nodeDistribution() and
degreeDistribution() as a special case - file format changes:
- an STP reader for Graph (without edge weights and terminals)
is now available, and it is included in the generic reader - the DMF reader and writer uses Graph and EdgeArray instead
of EdgeWeightedGraph now - the DOT reader is now implemented non-recursively
(which allows reading of large files while having low stack size) - Graph6, GDF, and TLP readers now clear the graph before reading
- an STP reader for Graph (without edge weights and terminals)
- new minimum s-t-cut functionality:
- MinSTCut module
- MinSTCutMaxflow (replaces old MinSTCut)
- MinSTCutBFS
- MinSTCutDijkstra
- new class DIntersectableRect replaces IntersectionRectangle
- new PlanarSubgraphTree class as Maximum Planar Subgraph heuristic
- bugfixes, code cleanup, improvement of code quality, C++11ifications,
e.g., in:- OGDF initialization
- the POOL_TS memory manager
- GraphAttributes
- GraphCopySimple
- List, ListPure, SLIst, SListPure
- DisjointSets
- EdgeRouter
- FMMMLayout
- LCA
- (fast_multipole_embedder::)ArrayGraph
- (fast_multipole_embedder::)WSPD
- the spring embedder force models
- general (sometimes internal) changes:
- removal of the doDestruction() function template
- removal of a lot of shadowing of variables
- fixes of one-definition-rule violations that led
to weird problems - enum classes (scoped enums) are now used throughout OGDF
instead of unscoped enums - typedefs are replaced by using for improved readability
and better flexibility - declaration of several constructors as explicit to
avoid implicit conversion where it is wrong - some auxiliary classes are moved into sub-namespaces and
their files are often moved into sub-directories - slightly improved consistency in documentation
- slightly improved code style consistency
There are also CMake changes. The default target only compiles the OGDF (and its dependencies). There are new targets “tests” and “examples” doing the obvious, and a new target “build-all” that also compiles tests and examples. Separate test targets are renamed from foo_bar_test to test-foo-bar.