First Page
News
Forum
In a Nutshell
About OGDF
FAQs
Key Features
Publications
Documentation
Overview Pages
How-Tos
Developer Resources
Reference Documentation
Get OGDF
Download
System Requirements
Installation (Linux/Mac)
Installation (Windows)
Projects
By OGDF Team
External
Team & Contact
Imprint
.h.List.h declares the List class with their iterator classes.graph_generators.h.Each header file uses the following mechanism for preventing multiple inclusion:
#ifdef _MSC_VER #pragma once #endif #ifndef OGDF_FILENAME_H #define OGDF_FILENAME_H ... #endif
where FILENAME is the base name of the file with all letters in upper case. The pre-processor directive #pragma once tells Visual C++ that the file is included only once and hence optimizes compilation times. Since it is Microsoft specific, it is guarded by #ifdef _MSC_VER. The stuff below is the old-school C++ way to avoid multiple inclusion that works with every C++ compiler.
.cpp.sugiyama.cpp.
Header files are placed in subdirectories of the directory ogdf and implementation files in subdirectories of the directory src, both contained in the OGDF root directory. The respective subdirectories follow a common scheme, we have:
basic: all core functionality and basic data types.fileformats: graph loaders and file parsers.module: module base classes.augmentation: augmentation algorithm, mainly planar augmentation.decomposition: data structures for graph decomposition.graphalg: graph algorithms.packing: packing algorithms, in particular 2D-packing algorithms for the layout of connected components.planarity: data structures and algorithms for planarity testing and embedding, as well as planarization.cluster: clustered graphs and algorithms for clustered graphs.energybased: energy-based graph layout algorithms.layered: layer-based graph drawing algorithms.misclayout: diverse graph drawing algorithms that does not fit into one of the specific categories.orthogonal: algorithms and data structures for orthogonal graph drawing.planarlayout: planar layout algorithms (except for orthogonal layout).simultaneous: simultaneous graph drawing.tree: tree layout algorithms.upward: algorithms and data structures for (layer-free) upward graph drawing.labeling: graph labeling algorithms.external: interaction with external libraries, e.g., Coin.internal: (header files only) contains declarations that are required for header files but contain only internal functionality not relevant for the user.legacy: legacy code that is no longer part of the public release, but should be preserved; all this code must be in the namespace ogdf_legacy.lpsolver: OGDF's LP-solver (not part of the public release).