The namespace for all OGDF objects. More...
Namespaces | |
namespace | booth_lueker |
namespace | boyer_myrvold |
namespace | cluster_planarity |
namespace | davidson_harel |
namespace | disjoint_sets |
namespace | dot |
namespace | edge_router |
namespace | embedder |
namespace | embedding_inserter |
namespace | energybased |
namespace | fast_multipole_embedder |
namespace | gdf |
namespace | gexf |
namespace | gml |
namespace | graphics |
namespace | graphml |
namespace | internal |
namespace | Matching |
Simple algorithms for matchings. | |
namespace | Math |
namespace | planar_separator |
namespace | planar_separators |
namespace | planarization_layout |
namespace | pq_internal |
This namespace contains helper classes to keep the code dry. | |
namespace | spring_embedder |
namespace | sse |
namespace | steiner_tree |
namespace | tlp |
namespace | topology_module |
Classes | |
class | AcyclicSubgraphModule |
Base class of algorithms for computing a maximal acyclic subgraph. More... | |
class | AdjacencyOracle |
Tells you in constant time if two nodes are adjacent. More... | |
class | AdjElement |
Class for adjacency list elements. More... | |
class | AdjEntryArray |
Dynamic arrays indexed with adjacency entries. More... | |
class | AdjEntryArrayBase |
Abstract base class for adjacency entry arrays. More... | |
class | AdjHypergraphElement |
Class for adjacency list elements. More... | |
class | AlgorithmFailureException |
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing. More... | |
class | Array |
The parameterized class Array implements dynamic arrays of type E. More... | |
class | Array2D |
The parameterized class Array2D implements dynamic two-dimensional arrays. More... | |
class | ArrayBuffer |
An array that keeps track of the number of inserted elements; also usable as an efficient stack. More... | |
class | ArrayLevel |
The simple implementation of LevelBase interface. More... | |
class | ArrayReverseIteratorBase |
Random-access reverse iterator based on a pointer to an array element. More... | |
class | AStarSearch |
A-Star informed search algorithm. More... | |
class | AugmentationModule |
The base class for graph augmentation algorithms. More... | |
class | BalloonLayout |
class | Barrier |
Representation of a barrier. More... | |
class | BarycenterHeuristic |
The barycenter heuristic for 2-layer crossing minimization. More... | |
class | BarycenterPlacer |
The barycenter placer for multilevel layout. More... | |
class | BasicPageRank |
Basic page rank calculation. More... | |
class | BCTree |
Static BC-trees. More... | |
class | BendString |
Represents the bends on an edge e consisting of vertical and horizontal segments. More... | |
class | BertaultLayout |
class | BiconnectedShellingOrder |
Computation of the shelling order for biconnected graphs. More... | |
class | BinaryHeap |
Heap realized by a data array. More... | |
class | BinaryHeapSimple |
Dynamically growing binary heap tuned for efficiency on a small interface (compared to BinaryHeap). More... | |
class | BinomialHeap |
Binomial heap implementation. More... | |
struct | BinomialHeapNode |
Binomial heap node. More... | |
class | BitonicOrdering |
class | Block |
Class representing idea of Blocks used in GlobalSifting and GridSifting algorithms. More... | |
class | BlockOrder |
Hierarchical graph representation used by GlobalSifting and GridSifting algorithms. More... | |
class | BoothLueker |
Booth-Lueker planarity test. More... | |
class | BoundedQueue |
The parameterized class BoundedQueue implements queues with bounded size. More... | |
class | BoyerMyrvold |
Wrapper class used for preprocessing and valid invocation of the planarity test. More... | |
class | BoyerMyrvoldPlanar |
This class implements the extended BoyerMyrvold planarity embedding algorithm. More... | |
class | BucketEdgeArray |
Bucket function for edges. More... | |
class | BucketFunc |
Abstract base class for bucket functions. More... | |
class | BucketSourceIndex |
Bucket function using the index of an edge's source node as bucket. More... | |
class | BucketTargetIndex |
Bucket function using the index of an edge's target node as bucket. More... | |
class | CCLayoutPackModule |
Base class of algorithms that arrange/pack layouts of connected components. More... | |
class | CconnectClusterPlanar |
C-planarity test by Cohen, Feng and Eades. More... | |
class | CconnectClusterPlanarEmbed |
C-planarity test and embedding by Cohen, Feng and Eades. More... | |
class | CirclePlacer |
The circle placer for multilevel layout. More... | |
class | CircularLayout |
The circular layout algorithm. More... | |
class | CliqueFinderHeuristic |
Finds cliques and dense subgraphs using a heuristic. More... | |
class | CliqueFinderModule |
Finds cliques. More... | |
class | CliqueFinderSPQR |
Finds cliques using SPQR trees. More... | |
class | ClusterAnalysis |
class | ClusterArray |
Dynamic arrays indexed with clusters. More... | |
class | ClusterArrayBase |
Abstract base class for cluster arrays. More... | |
class | ClusterElement |
Representation of clusters in a clustered graph. More... | |
class | Clusterer |
Clustering is determined based on the threshold values (connectivity thresholds determine edges to be deleted) and stopped if average clustering index drops below m_stopIndex. More... | |
class | ClustererModule |
Interface for algorithms that compute a clustering for a given graph. More... | |
class | ClusterGraph |
Representation of clustered graphs. More... | |
class | ClusterGraphAttributes |
Stores additional attributes of a clustered graph (like layout information). More... | |
class | ClusterGraphCopy |
class | ClusterGraphCopyAttributes |
Manages access on copy of an attributed clustered graph. More... | |
class | ClusterGraphObserver |
Abstract base class for cluster graph observers. More... | |
class | ClusterOrthoLayout |
Represents a planar orthogonal drawing algorithm for c-planar, c-connected clustered graphs. More... | |
class | ClusterOrthoShaper |
Computes the orthogonal representation of a clustered graph. More... | |
class | ClusterPlanarity |
C-planarity testing via completely connected graph extension. More... | |
class | ClusterPlanarizationLayout |
The cluster planarization layout algorithm. More... | |
class | ClusterPlanarModule |
class | ClusterPlanRep |
Planarized representations for clustered graphs. More... | |
class | ClusterSet |
Cluster sets. More... | |
class | ClusterSetPure |
Cluster sets. More... | |
class | ClusterSetSimple |
Simple cluster sets. More... | |
class | CoffmanGrahamRanking |
The coffman graham ranking algorithm. More... | |
class | CoinManager |
If you use COIN-OR, you should use this class. More... | |
class | Color |
Colors represented as RGBA values. More... | |
class | CombinatorialEmbedding |
Combinatorial embeddings of planar graphs with modification functionality. More... | |
class | CommonCompactionConstraintGraphBase |
Base class for ogdf::CompactionConstraintGraphBase. More... | |
class | CompactionConstraintGraph |
Represents a constraint graph used for compaction. More... | |
class | CompactionConstraintGraphBase |
Class implementing template-parameter-independent behaviour of ogdf::CompactionConstraintGraph. More... | |
class | ComponentSplitterLayout |
class | Configuration |
Provides information about how OGDF has been configured. More... | |
class | ConnectivityTester |
Naive implementation for testing the connectivity of a graph. More... | |
class | ConstCombinatorialEmbedding |
Combinatorial embeddings of planar graphs. More... | |
class | ConvexHull |
Computes the convex hull of a set of points or a layout. More... | |
class | CPlanarEdgeInserter |
Edge insertion algorithm for clustered graphs. More... | |
class | CPlanarSubClusteredGraph |
Constructs a c-planar subclustered graph of the input based on a spanning tree. More... | |
class | CPlanarSubgraphModule |
Interface of algorithms for the computation of c-planar subgraphs. More... | |
class | CrossingMinimalPosition |
Compute a crossing minimal position for a vertex. More... | |
class | CrossingMinimalPositionApx |
class | CrossingMinimalPositionApxWeighted |
class | CrossingMinimizationModule |
Base class for crossing minimization algorithms. More... | |
class | CrossingsMatrix |
Implements crossings matrix which is used by some TwoLayerCrossingMinimization heuristics (e.g. split) More... | |
class | CrossingVertexOrder |
class | DavidsonHarel |
The Davidson-Harel approach for drawing graphs. More... | |
class | DavidsonHarelLayout |
The Davidson-Harel layout algorithm. More... | |
class | DefHashFunc |
Default hash functions. More... | |
class | DefHashFunc< double > |
Specialized default hash function for double. More... | |
class | DefHashFunc< IPoint > |
class | DefHashFunc< string > |
Specialized default hash function for string. More... | |
class | DefHashFunc< void * > |
Specialized default hash function for pointer types. More... | |
class | DeletingTop10Heap |
A variant of Top10Heap which deletes the elements that get rejected from the heap. More... | |
class | DfsAcyclicSubgraph |
DFS-based algorithm for computing a maximal acyclic subgraph. More... | |
class | DfsMakeBiconnected |
Implementation of a DFS-based algorithm for biconnectivity augmentation. More... | |
class | Dijkstra |
Dijkstra's single source shortest path algorithm. More... | |
class | DIntersectableRect |
Rectangles with real coordinates. More... | |
class | DisjointSets |
A Union/Find data structure for maintaining disjoint sets. More... | |
class | DLParser |
class | DominanceLayout |
class | DPolygon |
Polygons with real coordinates. More... | |
class | DRect |
Rectangles with real coordinates. More... | |
class | DTreeMultilevelEmbedder |
class | DTreeMultilevelEmbedder2D |
class | DTreeMultilevelEmbedder3D |
class | DualGraphBase |
A dual graph including its combinatorial embedding of an embedded graph. More... | |
class | DynamicBCTree |
Dynamic BC-trees. More... | |
class | DynamicCastFailedException |
Exception thrown when result of cast is 0. More... | |
class | DynamicPlanarSPQRTree |
SPQR-trees of planar graphs. More... | |
class | DynamicSkeleton |
Skeleton graphs of nodes in a dynamic SPQR-tree. More... | |
class | DynamicSPQRForest |
Dynamic SPQR-forest. More... | |
class | DynamicSPQRTree |
Linear-time implementation of dynamic SPQR-trees. More... | |
class | EdgeArray |
Dynamic arrays indexed with edges. More... | |
class | EdgeArrayBase |
Abstract base class for edge arrays. More... | |
class | EdgeComparer |
Compares adjacency entries based on the position of the nodes given by GraphAttribute layout information. More... | |
class | EdgeComparerSimple |
Compares incident edges of a node based on the position of the last bend point or the position of the adjacent node given by the layout information of the graph. More... | |
class | EdgeCoverMerger |
The edge cover merger for multilevel layout. More... | |
class | EdgeElement |
Class for the representation of edges. More... | |
class | EdgeIndependentSpanningTrees |
Calculates k edge-independent spanning trees of a graph. More... | |
class | EdgeInsertionModule |
Interface for edge insertion algorithms. More... | |
class | EdgeLabel |
class | EdgeOrderComparer |
Orders edges such that they do not cross each other when embeddded as insertion paths. More... | |
class | EdgeRouter |
Places node boxes in replacement areas of orthogonal drawing step and route edges to minimize bends. More... | |
class | EdgeStandardRep |
Edge standard representation of hypergraphs. More... | |
class | EdgeWeightedGraph |
class | EdgeWeightedGraphCopy |
class | ELabelInterface |
class | ELabelPosSimple |
class | EmbedderMaxFace |
Embedder that maximizes the external face. More... | |
class | EmbedderMaxFaceBiconnectedGraphs |
Embedder that maximizing the external face. More... | |
class | EmbedderMaxFaceBiconnectedGraphsLayers |
Embedder that maximizes the external face (plus layers approach). More... | |
class | EmbedderMaxFaceLayers |
Embedder that maximizes the external face and optimizes the position of blocks afterwards. More... | |
class | EmbedderMinDepth |
Embedder that minimizes block-nesting depth. More... | |
class | EmbedderMinDepthMaxFace |
Embedding that minimizes block-nesting depth and maximizes the external face. More... | |
class | EmbedderMinDepthMaxFaceLayers |
Planar graph embedding that minimizes block-nesting depth and maximizes the external face and optimizes the position of blocks afterwards. More... | |
class | EmbedderMinDepthPiTa |
Embedder that minimizes block-nesting depth for given embedded blocks. More... | |
class | EmbedderModule |
Base class for embedder algorithms. More... | |
class | EmbedderOptimalFlexDraw |
The algorithm computes a planar embedding with minimum cost. More... | |
class | ENGLayer |
Represents layer in an extended nesting graph. More... | |
class | EpsilonTest |
class | Exception |
Base class of all ogdf exceptions. More... | |
class | ExpansionGraph |
Represents expansion graph of each biconnected component of a given digraph, i.e., each vertex v with in- and outdegree greater than 1 is expanded into two vertices x and y connected by an edge x->y such that all incoming edges are moved from v to x and all outgoing edges from v to y. More... | |
class | ExtendedNestingGraph |
struct | ExternE |
List of externally active nodes strictly between x and y for minortypes B and E More... | |
class | ExtractKuratowskis |
Extracts multiple Kuratowski Subdivisions. More... | |
class | FaceArray |
Dynamic arrays indexed with faces of a combinatorial embedding. More... | |
class | FaceArrayBase |
Abstract base class for face arrays. More... | |
class | FaceElement |
Faces in a combinatorial embedding. More... | |
class | FaceSet |
Face sets. More... | |
class | FaceSinkGraph |
class | FastHierarchyLayout |
Coordinate assignment phase for the Sugiyama algorithm by Buchheim et al. More... | |
class | FastMultipoleEmbedder |
The fast multipole embedder approach for force-directed layout. More... | |
class | FastMultipoleMultilevelEmbedder |
The fast multipole multilevel embedder approach for force-directed multilevel layout. More... | |
class | FastSimpleHierarchyLayout |
Coordinate assignment phase for the Sugiyama algorithm by Ulrik Brandes and Boris Köpf. More... | |
class | FibonacciHeap |
Fibonacci heap implementation. More... | |
struct | FibonacciHeapNode |
Fibonacci heap node. More... | |
struct | Fill |
Properties of fills. More... | |
class | FindKuratowskis |
This class collects information about Kuratowski Subdivisions which is used for extraction later. More... | |
class | FixedEmbeddingInserter |
Inserts edges optimally into an embedding. More... | |
class | FixedEmbeddingInserterUML |
Edge insertion module that inserts each edge optimally into a fixed embedding. More... | |
class | FixedEmbeddingUpwardEdgeInserter |
Edge insertion module that inserts each edge optimally into a fixed embedding. More... | |
class | FixEdgeInserterCore |
class | FixEdgeInserterUMLCore |
class | FlowCompaction |
represents compaction algorithm using min-cost flow in the dual of the constraint graph More... | |
class | FMMMLayout |
The fast multipole multilevel layout algorithm. More... | |
class | FMMMOptions |
class | ForceLayoutModule |
Interface of general layout algorithms. More... | |
class | FPPLayout |
The class FPPLayout represents the layout algorithm by de Fraysseix, Pach, Pollack [DPP90]. More... | |
class | FUPSModule |
Interface for feasible upward planar subgraph algorithms. More... | |
class | FUPSSimple |
class | GEMLayout |
The energy-based GEM layout algorithm. More... | |
struct | GenericComparer |
Compare elements based on a single comparable attribute. More... | |
class | GenericLine |
Infinite lines. More... | |
class | GenericPoint |
Parameterized base class for points. More... | |
class | GenericPolyline |
Polylines with PointType points. More... | |
class | GenericSegment |
Finite line segments. More... | |
class | GeometricEdgeInsertion |
class | GeometricVertexInsertion |
class | GF2Solver |
class | GlobalSifting |
The global sifting heuristic for crossing minimization. More... | |
class | GlueMap |
This is a helper class to make the glueing of two edges simpler. More... | |
class | Graph |
Data type for general directed graphs (adjacency list representation). More... | |
class | GraphAttributes |
Stores additional attributes of a graph (like layout information). More... | |
class | GraphCopy |
Copies of graphs supporting edge splitting. More... | |
class | GraphCopySimple |
Copies of graphs with mapping between nodes and edges. More... | |
class | GraphIO |
Utility class providing graph I/O in various exchange formats. More... | |
class | GraphMLParser |
class | GraphObserver |
Abstract Base class for graph observers. More... | |
class | GraphReduction |
Creates a reduced graph by removing leaves, self-loops, and reducing chains. More... | |
class | GreedyCycleRemoval |
Greedy algorithm for computing a maximal acyclic subgraph. More... | |
class | GreedyInsertHeuristic |
The greedy-insert heuristic for 2-layer crossing minimization. More... | |
class | GreedySwitchHeuristic |
The greedy-switch heuristic for 2-layer crossing minimization. More... | |
class | GridLayout |
Representation of a graph's grid layout. More... | |
class | GridLayoutMapped |
Extends GridLayout by a grid mapping mechanism. More... | |
class | GridLayoutModule |
Base class for grid layout algorithms. More... | |
class | GridLayoutPlanRepModule |
Base class for grid layout algorithms operating on a PlanRep. More... | |
class | GridSifting |
The grid sifting heuristic for crossing minimization. More... | |
class | HananiTutteCPlanarity |
C-planarity testing via Hanani-Tutte approach. More... | |
class | HashArray |
Indexed arrays using hashing for element access. More... | |
class | HashArray2D |
Indexed 2-dimensional arrays using hashing for element access. More... | |
class | HashConstIterator |
Iterators for hash tables. More... | |
class | HashConstIterator2D |
Const-iterator for 2D-hash arrays. More... | |
class | HashElement |
Representation of elements in a hash table. More... | |
class | HashElementBase |
Base class for elements within a hash table. More... | |
class | HashFuncTuple |
class | Hashing |
Hashing with chaining and table doubling. More... | |
class | HashingBase |
Base class for hashing with chaining and table doubling. More... | |
class | HeapBase |
Common interface for all heap classes. More... | |
class | Hierarchy |
Representation of proper hierarchies used by Sugiyama-layout. More... | |
class | HierarchyClusterLayoutModule |
Interface of hierarchy layout algorithms for cluster graphs. More... | |
class | HierarchyLayoutModule |
Interface of hierarchy layout algorithms. More... | |
class | HierarchyLevels |
Representation of proper hierarchies used by Sugiyama-layout. More... | |
class | HierarchyLevelsBase |
class | HotQueue |
Heap-on-Top queue implementation. More... | |
struct | HotQueueHandle |
Heap-on-Top handle to inserted items. More... | |
struct | HotQueueNode |
Heap-on-Top bucket element. More... | |
class | HyperedgeArray |
Dynamic arrays indexed with nodes. More... | |
class | HyperedgeElement |
Class for the representation of hyperedges. More... | |
class | Hypergraph |
class | HypergraphArrayBase |
Abstract base class for hypergraph arrays. More... | |
class | HypergraphAttributes |
Stores additional attributes of a hypergraph. More... | |
class | HypergraphAttributesES |
Stores additional attributes of edge standard representation of a hypergraph. More... | |
class | HypergraphLayoutES |
class | HypergraphLayoutModule |
Interface of hypergraph layout algorithms. More... | |
class | HypergraphObserver |
class | HypernodeArray |
Dynamic arrays indexed with hypernodes. More... | |
class | HypernodeElement |
Class for the representation of hypernodes. More... | |
class | IncNodeInserter |
class | IndependentSetMerger |
The independent set merger for multilevel layout. More... | |
class | Initialization |
The class Initialization is used for initializing global variables. More... | |
class | InitialPlacer |
Base class for placer modules. More... | |
struct | InOutPoint |
Representation of an in- or outpoint. More... | |
class | InsufficientMemoryException |
Exception thrown when not enough memory is available to execute an algorithm. More... | |
class | IOPoints |
Representation of in- and outpoint lists. More... | |
class | KuratowskiStructure |
A Kuratowski Structure is a special graph structure containing severals subdivisions. More... | |
class | KuratowskiSubdivision |
class | KuratowskiWrapper |
Wrapper-class for Kuratowski Subdivisions containing the minortype and edgelist. More... | |
class | LayerBasedUPRLayout |
class | LayerByLayerSweep |
Interface of two-layer crossing minimization algorithms. More... | |
class | LayeredCrossMinModule |
Interface of crossing minimization algorithms for layered graphs. More... | |
class | Layout |
Stores a layout of a graph (coordinates of nodes, bend points of edges). More... | |
class | LayoutClusterPlanRepModule |
Interface for planar cluster layout algorithms. More... | |
class | LayoutModule |
Interface of general layout algorithms. More... | |
class | LayoutPlanRepModule |
Interface for planar layout algorithms (used in the planarization approach). More... | |
class | LayoutPlanRepUMLModule |
Interface for planar UML layout algorithms. More... | |
class | LayoutStandards |
Standard values for graphical attributes and layouts. More... | |
class | LayoutStatistics |
Computes statistical information about a layout. More... | |
class | LCA |
Implements the <O(n log n), O(1)>-time "sparse table" algorithm by Bender and Farach-Colton to compute lowest common ancestors (LCAs) in arborescences (not arbitrary directed acyclic graphs). More... | |
class | LeftistOrdering |
class | Level |
Representation of levels in hierarchies. More... | |
class | LevelBase |
Representation of levels in hierarchies. More... | |
class | LHTreeNode |
class | LibraryNotSupportedException |
Exception thrown when an external library shall be used which is not supported. More... | |
class | LinearLayout |
Layout the graph with nodes next to each other with natural or custom order and draw the edges as semicircular bows above them. More... | |
class | List |
Doubly linked lists (maintaining the length of the list). More... | |
class | ListContainer |
class | ListElement |
Structure for elements of doubly linked lists. More... | |
class | ListIteratorBase |
Encapsulates a pointer to a list element. More... | |
class | ListPure |
Doubly linked lists. More... | |
class | LocalBiconnectedMerger |
The local biconnected merger for multilevel layout. More... | |
class | Logger |
Centralized global and local logging facility working on streams like std::cout . More... | |
class | LongestPathCompaction |
Compaction algorithm using longest paths in the constraint graph. More... | |
class | LongestPathRanking |
The longest-path ranking algorithm. More... | |
class | LPSolver |
class | MallocMemoryAllocator |
Implements a simple memory manager using malloc() and free() . More... | |
class | MatchingMerger |
The matching merger for multilevel layout. More... | |
class | MaxAdjOrdering |
Calculate one or all Maximum Adjacency Ordering(s) of a given simple undirected graph. More... | |
class | MaxFlowEdmondsKarp |
Computes a max flow via Edmonds-Karp. More... | |
class | MaxFlowGoldbergTarjan |
Computes a max flow via Preflow-Push (global relabeling and gap relabeling heuristic). More... | |
class | MaxFlowModule |
class | MaxFlowSTPlanarDigraph |
Computes a max flow in s-t-planar network via dual shortest paths. More... | |
class | MaxFlowSTPlanarItaiShiloach |
Computes a max flow in s-t-planar network via uppermost paths. More... | |
class | MaximalFUPS |
class | MaximalPlanarSubgraphSimple< TCost, typename std::enable_if< std::is_floating_point< TCost >::value >::type > |
class | MaximalPlanarSubgraphSimple< TCost, typename std::enable_if< std::is_integral< TCost >::value >::type > |
Naive maximal planar subgraph approach that extends a configurable non-maximal subgraph heuristic. More... | |
class | MaximumCPlanarSubgraph |
Exact computation of a maximum c-planar subgraph. More... | |
class | MaximumPlanarSubgraph |
Exact computation of a maximum planar subgraph. More... | |
class | MaxSequencePQTree |
The class template MaxSequencePQTree is designed to compute a maximal consecutive sequence of pertinent leaves in a PQ-tree. More... | |
class | MedianHeuristic |
The median heuristic for 2-layer crossing minimization. More... | |
class | MedianPlacer |
The median placer for multilevel layout. More... | |
class | MinCostFlowModule |
Interface for min-cost flow algorithms. More... | |
class | MinCostFlowReinelt |
Computes a min-cost flow using a network simplex method. More... | |
class | MinimumCutModule |
Serves as an interface for various methods to compute minimum cuts with or without edge weights. More... | |
class | MinimumCutNagamochiIbaraki |
Calculate minimum cut value for a given Graph. More... | |
struct | MinimumCutStoerWagner |
Computes a minimum cut in a graph. More... | |
class | MinimumEdgeDistances |
Maintains input sizes for improvement compaction (deltas and epsilons) More... | |
class | MinSTCutBFS |
Min-st-cut algorithm, that calculates the cut by doing a depth first search over the dual graph of of an st-planar input graph. More... | |
class | MinSTCutDijkstra |
Min-st-cut algorithm, that calculates the cut by calculating the shortest path between the faces adjacent to an edge between s and t, via the algorithm by Dijkstra on the dual graph. More... | |
class | MinSTCutMaxFlow |
Min-st-cut algorithm, that calculates the cut via maxflow. More... | |
class | MinSTCutModule |
class | MinSteinerTreeDirectedCut |
This class implements the Directed Cut Integer Linear Program for the Steiner tree problem. More... | |
class | MinSteinerTreeDualAscent |
Dual ascent heuristic for the minimum Steiner tree problem. More... | |
class | MinSteinerTreeGoemans139 |
This class implements the (1.39+epsilon)-approximation algorithm for the Steiner tree problem by Goemans et. More... | |
class | MinSteinerTreeKou |
This class implements the Minimum Steiner Tree 2-approximation algorithm by Kou et al. More... | |
class | MinSteinerTreeMehlhorn |
This class implements the Minimum Steiner Tree 2-approximation algorithm by Mehlhorn. More... | |
class | MinSteinerTreeModule |
Serves as an interface for various methods to compute or approximate minimum Steiner trees on undirected graphs with edge costs. More... | |
class | MinSteinerTreePrimalDual |
Primal-Dual approximation algorithm for Steiner tree problems. More... | |
class | MinSteinerTreeRZLoss |
This class implements the loss-contracting (1.55+epsilon)-approximation algorithm for the Steiner tree problem by Robins and Zelikovsky. More... | |
class | MinSteinerTreeShore |
Implementation of Shore, Foulds and Gibbons exact branch and bound algorithm for solving Steiner tree problems. More... | |
class | MinSteinerTreeTakahashi |
This class implements the minimum Steiner tree 2-approximation algorithm by Takahashi and Matsuyama with improvements proposed by Poggi de Aragao et al. More... | |
class | MinSteinerTreeZelikovsky |
This class implements the 11/6-approximation algorithm by Zelikovsky for the minimum Steiner tree problem along with variants and practical improvements. More... | |
class | MixedModelBase |
class | MixedModelCrossingsBeautifierModule |
The base class for Mixed-Model crossings beautifier algorithms. More... | |
class | MixedModelLayout |
Implementation of the Mixed-Model layout algorithm. More... | |
class | MMCBBase |
common base class for MMCBDoubleGrid and MMCBLocalStretch. More... | |
class | MMCBDoubleGrid |
Crossings beautifier using grid doubling. More... | |
class | MMCBLocalStretch |
Crossings beautifier using a local stretch strategy. More... | |
class | MMCrossingMinimizationModule |
Interface for minor-monotone crossing minimization algorithms. More... | |
class | MMDummyCrossingsBeautifier |
Dummy implementation of Mixed-Model crossings beautifier. More... | |
class | MMEdgeInsertionModule |
Interface for minor-monotone edge insertion algorithms. More... | |
class | MMFixedEmbeddingInserter |
Minor-monotone edge insertion with fixed embedding. More... | |
class | MMOrder |
class | MMSubgraphPlanarizer |
Planarization approach for minor-monotone crossing minimization. More... | |
class | MMVariableEmbeddingInserter |
Minor-monotone edge insertion with variable embedding. More... | |
class | ModifiedNibbleClusterer |
The modified nibble clustering algorithm. More... | |
class | ModularMultilevelMixer |
Modular multilevel graph layout. More... | |
class | Module |
Base class for modules. More... | |
class | MultiEdgeApproxInserter |
Multi edge inserter with approximation guarantee. More... | |
class | MultilevelBuilder |
Base class for merger modules. More... | |
class | MultilevelGraph |
class | MultilevelLayout |
The multilevel drawing framework. More... | |
class | MultilevelLayoutModule |
Interface of general layout algorithms that also allow a MultilevelGraph as call parameter, extending the interface of a simple LayoutModule. More... | |
class | NearestRectangleFinder |
Finds in a given set of rectangles for each point in a given set of points the nearest rectangle. More... | |
class | NodeArray |
Dynamic arrays indexed with nodes. More... | |
class | NodeArrayBase |
Abstract base class for node arrays. More... | |
class | NodeElement |
Class for the representation of nodes. More... | |
struct | NodeMerge |
struct | NodePair |
class | NodeRespecterLayout |
The NodeRespecterLayout layout algorithm. More... | |
class | NodeSet |
Node sets. More... | |
class | NonPlanarCore |
Non-planar core reduction. More... | |
class | NoStdComparerException |
Exception thrown when a required standard comparer has not been specialized. More... | |
class | OptimalHierarchyClusterLayout |
The LP-based hierarchy cluster layout algorithm. More... | |
class | OptimalHierarchyLayout |
The LP-based hierarchy layout algorithm. More... | |
class | OptimalRanking |
The optimal ranking algorithm. More... | |
class | OrderComparer |
class | OrthoLayout |
The Orthogonal layout algorithm for planar graphs. More... | |
class | OrthoLayoutUML |
Represents planar orthogonal drawing algorithm for mixed-upward planar embedded graphs (UML-diagrams) More... | |
class | OrthoRep |
Orthogonal representation of an embedded graph. More... | |
class | OrthoShaper |
class | PairingHeap |
Pairing heap implementation. More... | |
struct | PairingHeapNode |
Pairing heap node. More... | |
class | PALabel |
auxiliary class for the planar augmentation algorithm More... | |
class | PertinentGraph |
Pertinent graphs of nodes in an SPQR-tree. More... | |
class | PivotMDS |
The Pivot MDS (multi-dimensional scaling) layout algorithm. More... | |
class | PlanarAugmentation |
The algorithm for planar biconnectivity augmentation (Mutzel, Fialko). More... | |
class | PlanarAugmentationFix |
The algorithm for biconnectivity augmentation with fixed combinatorial embedding. More... | |
class | PlanarDrawLayout |
Implementation of the Planar-Draw layout algorithm. More... | |
class | PlanarGridLayoutModule |
Base class for planar grid layout algorithms. More... | |
class | PlanarityModule |
Module for planarity testing and planar embeddings. More... | |
class | PlanarizationGridLayout |
The planarization grid layout algorithm. More... | |
class | PlanarizationLayout |
The planarization approach for drawing graphs. More... | |
class | PlanarizationLayoutUML |
The planarization layout algorithm. More... | |
class | PlanarizerChordlessCycle |
Starts with a chordless cycle of the graph and then inserts each original node that is adjacent to already inserted ones via the StarInserter. More... | |
class | PlanarizerMixedInsertion |
Computes a planar subgraph of the graph and then re-inserts each original node that is incident to at least one edge not in the subgraph via the StarInserter. More... | |
class | PlanarizerStarReinsertion |
The star (re-)insertion approach for crossing minimization. More... | |
class | PlanarSeparatorModule |
Abstract description of all planar separator algorithms. More... | |
class | PlanarSPQRTree |
SPQR-trees of planar graphs. More... | |
class | PlanarStraightLayout |
Implementation of the Planar-Straight layout algorithm. More... | |
class | PlanarSubgraphBoyerMyrvold |
Maximum planar subgraph heuristic based on the Boyer-Myrvold planarity test. More... | |
class | PlanarSubgraphCactus |
Maximum planar subgraph approximation algorithm by Calinescu et al. More... | |
class | PlanarSubgraphEmpty |
Dummy implementation for maximum planar subgraph that returns an empty graph. More... | |
class | PlanarSubgraphFast |
Computation of a planar subgraph using PQ-trees. More... | |
class | PlanarSubgraphModule |
Interface for planar subgraph algorithms. More... | |
class | PlanarSubgraphPQTree |
class | PlanarSubgraphTree |
Maximum planar subgraph heuristic that yields a spanning tree. More... | |
class | PlanarSubgraphTriangles |
Maximum planar subgraph approximation algorithms by Chalermsook/Schmid and Calinescu et al. More... | |
class | PlanRep |
Planarized representations (of a connected component) of a graph. More... | |
class | PlanRepExpansion |
Planarized representations (of a connected component) of a graph. More... | |
class | PlanRepInc |
This class is only an adaption of PlanRep for the special incremental drawing case. More... | |
class | PlanRepLight |
Light-weight version of a planarized representation, associated with a PlanRep. More... | |
class | PlanRepUML |
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierarchies in the graph. More... | |
class | PoolMemoryAllocator |
Allocates memory in large chunks for better runtime. More... | |
class | PQBasicKey |
class | PQBasicKeyRoot |
The class PQBasicKeyRoot is used as a base class of the class template basicKey. More... | |
class | PQInternalKey |
The class template PQInternalKey is a derived class of class template PQBasicKey. More... | |
class | PQInternalNode |
The class template PQInternalNode is used to present P-nodes and Q-nodes in the PQ-Tree. More... | |
class | PQLeaf |
The datastructure PQ-tree was designed to present a set of permutations on an arbitrary set of elements. More... | |
class | PQLeafKey |
The class template PQLeafKey is a derived class of class template PQBasicKey. More... | |
class | PQNode |
The class template PQBasicKey is an abstract base class. More... | |
class | PQNodeKey |
The class template PQNodeKey is a derived class of class template PQBasicKey. More... | |
class | PQNodeRoot |
The class PQNodeRoot is used as a base class of the class PQNode. More... | |
class | PQTree |
class | PreprocessorLayout |
The PreprocessorLayout removes multi-edges and self-loops. More... | |
class | Prioritized |
Augments any data elements of type X with keys of type Priority. This class is also its own Comparer. More... | |
class | PrioritizedMapQueue |
Prioritized queue interface wrapper for heaps. More... | |
class | PrioritizedMapQueue< edge, P, C, Impl, HashFunc > |
Specialization for edge elements. More... | |
class | PrioritizedMapQueue< node, P, C, Impl, HashFunc > |
Specialization for node elements. More... | |
class | PriorityQueue |
Priority queue interface wrapper for heaps. More... | |
class | ProcrustesPointSet |
class | ProcrustesSubLayout |
Simple procrustes analysis. More... | |
class | Queue |
The parameterized class Queue<E> implements list-based queues. More... | |
struct | QueueEntry |
class | QueuePure |
Implementation of list-based queues. More... | |
class | RadialTreeLayout |
The radial tree layout algorithm. More... | |
class | RadixHeap |
Radix heap data structure implementation. More... | |
class | RadixHeapNode |
class | RandomMerger |
The random merger for multilevel layout. More... | |
class | RandomPlacer |
The random placer for multilevel layout. More... | |
class | RandomVertexPosition |
Interface for computing a good / optimal vertex position. More... | |
class | RankingModule |
Interface of algorithms for computing a node ranking. More... | |
struct | RCCrossings |
class | Reverse |
A wrapper class to easily iterate through a container in reverse. More... | |
class | RMHeap |
Randomized meldable heap implementation. More... | |
struct | RMHeapNode |
Randomized meldable heap node. More... | |
class | RoutingChannel |
Maintains input sizes for constructive compaction (size of routing channels, separation, cOverhang) More... | |
class | ScalingLayout |
Scales a graph layout and calls a secondary layout algorithm. More... | |
class | SchnyderLayout |
The class SchnyderLayout represents the layout algorithm by Schnyder [Sch90]. More... | |
class | SeparatorDual |
Computes planar separators using the Dual of the graph. More... | |
class | SeparatorDualFC |
Computes planar separators by applying the Fundamental Cycle Lemma directly, without trying tree levels first. More... | |
class | SeparatorHarPeled |
Computes planar separators according to Har-Peled. More... | |
class | SeparatorLiptonTarjan |
Computes planar separators according to Lipton and Tarjan 1979. More... | |
class | SeparatorLiptonTarjanFC |
Computes planar separators using Fundamental Cycles. More... | |
class | ShellingOrder |
The shelling order of a graph. More... | |
class | ShellingOrderModule |
Base class for modules that compute a shelling order of a graph. More... | |
class | ShellingOrderSet |
The node set in a shelling order of a graph. More... | |
class | ShortestPathModule |
class | ShortestPathWithBFM |
Computes single-source shortest-paths with Bellman-Ford-Moore's algorithm. More... | |
class | SiftingHeuristic |
The sifting heuristic for 2-layer crossing minimization. More... | |
class | SimDraw |
The Base class for simultaneous graph drawing. More... | |
class | SimDrawCaller |
Calls modified algorithms for simdraw instances. More... | |
class | SimDrawColorizer |
Adds color to a graph. More... | |
class | SimDrawCreator |
Creates variety of possible SimDraw creations. More... | |
class | SimDrawCreatorSimple |
Offers predefined SimDraw creations. More... | |
class | SimDrawManipulatorModule |
Interface for simdraw manipulators. More... | |
class | SimpleCCPacker |
Splits and packs the components of a Graph. More... | |
class | SimpleCluster |
class | SimpleEmbedder |
Embedder that chooses a largest face as the external one. More... | |
class | SimpleIncNodeInserter |
class | Skeleton |
Skeleton graphs of nodes in an SPQR-tree. More... | |
class | Skiplist |
A randomized skiplist. More... | |
class | SkiplistIterator |
Forward-Iterator for Skiplists. More... | |
class | SList |
Singly linked lists (maintaining the length of the list). More... | |
class | SListElement |
Structure for elements of singly linked lists. More... | |
class | SListIteratorBase |
Encapsulates a pointer to an ogdf::SList element. More... | |
class | SListPure |
Singly linked lists. More... | |
class | SolarMerger |
The solar merger for multilevel layout. More... | |
class | SolarPlacer |
The solar placer for multilevel layout. More... | |
class | SortedSequence |
Maintains a sequence of (key,info) pairs sorted by key. More... | |
class | SortedSequenceIteratorBase |
Iterators for sorted sequences. More... | |
class | SpannerBasicGreedy |
Multiplicative spanner by greedily adding edges. More... | |
class | SpannerBaswanaSen |
Randomized multiplicative spanner calculation by forming clusters. More... | |
class | SpannerBaswanaSenIterated |
Use the ogdf::SpannerIteratedWrapper to execute the ogdf::SpannerBaswanaSen algorithm up to 1000 times. More... | |
class | SpannerBerman |
Approximation algorithm for calculating spanners. More... | |
class | SpannerBermanDisconnected |
Wrapper around SpannerBerman: For each component of the graph, the algorithm will be called. More... | |
class | SpannerElkinNeiman |
Randomized multiplicative spanner calculation by propagating random messages through the graph. More... | |
class | SpannerElkinNeimanIterated |
Use the ogdf::SpannerIteratedWrapper to execute the ogdf::SpannerElkinNeiman algorithm up to 200 times. More... | |
class | SpannerIteratedWrapper |
A implementation-independed wrapper class to execute a spanner algorithm multiple times. More... | |
class | SpannerKortsarzPeleg |
Approximation multiplicative 2-spanner calculation. More... | |
class | SpannerModule |
Interface for spanner algorithms. More... | |
class | SplitHeuristic |
The split heuristic for 2-layer crossing minimization. More... | |
class | SPQRTree |
Linear-time implementation of static SPQR-trees. More... | |
class | SpringEmbedderFRExact |
Fruchterman-Reingold algorithm with (exact) layout. More... | |
class | SpringEmbedderGridVariant |
The spring-embedder layout algorithm with force approximation using hte grid variant approach. More... | |
class | SpringEmbedderKK |
The spring-embedder layout algorithm by Kamada and Kawai. More... | |
class | StarInserter |
Inserts a star (a vertex and its incident edges) optimally into an embedding. More... | |
class | StaticPlanarSPQRTree |
SPQR-trees of planar graphs. More... | |
class | StaticSkeleton |
Skeleton graphs of nodes in a static SPQR-tree. More... | |
class | StaticSPQRTree |
Linear-time implementation of static SPQR-trees. More... | |
class | StdComparer |
Standard comparer (valid as a static comparer). More... | |
class | StdComparer< bool > |
Generates a specialization of the standard static comparer for booleans. More... | |
class | StdComparer< Prioritized< X, Priority > > |
class | SteinerTreeLowerBoundDualAscent |
Implementation of a dual-ascent-based lower bound heuristic for Steiner tree problems. More... | |
class | SteinerTreePreprocessing |
This class implements preprocessing strategies for the Steiner tree problem. More... | |
class | StlGreater |
Template for converting any StdComparer into a STL compatible compare functor. More... | |
class | StlLess |
Template for converting any StdComparer into a STL compatible compare functor. More... | |
class | Stopwatch |
Realizes a stopwatch for measuring elapsed time. More... | |
class | StopwatchCPU |
Implements a stopwatch measuring CPU time. More... | |
class | StopwatchWallClock |
Implements a stopwatch measuring wall-clock time. More... | |
class | StressMinimization |
Energy-based layout using stress minimization. More... | |
struct | Stroke |
Properties of strokes. More... | |
class | SubgraphPlanarizer |
The planarization approach for crossing minimization. More... | |
class | SubgraphPlanarizerUML |
The planarization approach for UML crossing minimization. More... | |
class | SubgraphUpwardPlanarizer |
Takes an acyclic connected non-upward-planar graph and planarizes it, i.e., we obtain an upward-planar graph where crossings are represented via dummy vertices. More... | |
class | SubsetEnumerator |
Enumerator for k-subsets of a given type. More... | |
class | SugiyamaLayout |
Sugiyama's layout algorithm. More... | |
class | SvgPrinter |
SVG Writer. More... | |
class | System |
System specific functionality. More... | |
class | TargetComparer |
A static comparer which compares the target of pointers ("content"), instead of the pointer's adresses. More... | |
class | Thread |
Threads supporting OGDF's memory management. More... | |
class | TikzWriter |
LaTeX+TikZ Writer. More... | |
class | TileToRowsCCPacker |
The tile-to-rows algorithm for packing drawings of connected components. More... | |
class | Timeouter |
class for timeout funtionality. More... | |
class | TokenIgnorer |
class | Top10Heap |
A variant of BinaryHeapSimple which always holds only the 10 elements with the highest keys. More... | |
class | TopologyModule |
Constructs embeddings from given layout. More... | |
class | TreeLayout |
The tree layout algorithm. More... | |
class | TriconnectedShellingOrder |
Computation of a shelling order for a triconnected and simple (no multi-edges, no self-loops) planar graph. More... | |
class | Triconnectivity |
realizes Hopcroft/Tarjan algorithm for finding the triconnected components of a biconnected multi-graph More... | |
class | TsplibXmlParser |
Parses tsplib files in xml format. More... | |
class | Tuple2 |
Tuples of two elements (2-tuples). More... | |
class | TutteLayout |
Tutte's layout algorithm. More... | |
class | TwoLayerCrossMinSimDraw |
class | TypeNotSupportedException |
Exception thrown when a data type is not supported by a generic function. More... | |
class | UMLCrossingMinimizationModule |
Base class for UML crossing minimization algorithms. More... | |
class | UmlDiagramGraph |
Contains the class UmlDiagramGraph which represents one particular diagram of the complete UML Model. More... | |
class | UMLEdgeInsertionModule |
Interface for UML edge insertion algorithms. More... | |
class | UMLGraph |
class | UMLLayoutModule |
Interface of UML layout algorithms. More... | |
class | UmlModelGraph |
This class represents the complete UML Model in a graph-like data structure. More... | |
class | UPRLayoutModule |
Interface of hierarchy layout algorithms. More... | |
class | UpSAT |
class | UpwardEdgeInserterModule |
class | UpwardPlanarity |
Upward planarity testing and embedding. More... | |
class | UpwardPlanarityEmbeddedDigraph |
class | UpwardPlanaritySingleSource |
Performs upward planarity testing and embedding for single-source digraphs. More... | |
class | UpwardPlanarizationLayout |
class | UpwardPlanarizerModule |
Interface for upward planarization algorithms. More... | |
class | UpwardPlanarSubgraphModule |
Interface for algorithms for computing an upward planar subgraph. More... | |
class | UpwardPlanarSubgraphSimple |
A maximal planar subgraph algorithm using planarity testing. More... | |
class | UpwardPlanRep |
Upward planarized representations (of a connected component) of a graph. More... | |
class | VarEdgeInserterCore |
class | VarEdgeInserterDynCore |
class | VarEdgeInserterDynUMLCore |
class | VarEdgeInserterUMLCore |
class | VariableEmbeddingInserter |
Optimal edge insertion module. More... | |
class | VariableEmbeddingInserterBase |
Common parameter functionality for ogdf::VariableEmbeddingInserter and ogdf::VariableEmbeddingInserterDyn. More... | |
class | VariableEmbeddingInserterDyn |
Optimal edge insertion module. More... | |
class | VariableEmbeddingInserterDynUML |
Optimal edge insertion module. More... | |
class | VariableEmbeddingInserterUML |
Optimal edge insertion module. More... | |
class | VComparer |
Abstract base class for comparer classes. More... | |
class | VertexMovement |
class | VertexPositionModule |
Interface for computing a good / optimal vertex position. More... | |
class | VisibilityLayout |
class | Voronoi |
Computes Voronoi regions in an edge-weighted graph. More... | |
class | WeightComparer |
class | whaInfo |
struct | WInfo |
Saves information about a pertinent node w between two stopping vertices. More... | |
class | ZeroPlacer |
The zero placer for multilevel layout. More... | |
Functions | |
template<typename TCost > | |
void | bfs_SPAP (const Graph &G, NodeArray< NodeArray< TCost > > &distance, TCost edgeCosts) |
Computes all-pairs shortest paths in G using breadth-first serach (BFS). | |
template<typename TCost > | |
void | bfs_SPSS (node s, const Graph &G, NodeArray< TCost > &distanceArray, TCost edgeCosts) |
Computes single-source shortest paths from s in G using breadth-first search (BFS). | |
template<class E > | |
void | bucketSort (Array< E > &a, int min, int max, BucketFunc< E > &f) |
Bucket-sort array a using bucket assignment f ; the values of f must be in the interval [min ,max ]. | |
template<typename CONTAINER , typename TYPE > | |
CONTAINER::const_iterator | chooseIteratorFrom (const CONTAINER &container, std::function< bool(const TYPE &)> includeElement=[](const TYPE &) { return true;}, bool isFastTest=true) |
Returns an iterator to a random element in the container . | |
template<typename CONTAINER , typename TYPE > | |
CONTAINER::iterator | chooseIteratorFrom (CONTAINER &container, std::function< bool(const TYPE &)> includeElement=[](const TYPE &) { return true;}, bool isFastTest=true) |
Returns an iterator to a random element in the container . | |
int | computeSTNumbering (const Graph &G, NodeArray< int > &numbering, node s=nullptr, node t=nullptr, bool randomized=false) |
Computes an st-Numbering of G . | |
void | degreeDistribution (const Graph &G, Array< int > °dist) |
Fills degdist with the degree distribution of graph G . | |
bool | dfsGenTree (UMLGraph &UG, List< edge > &fakedGens, bool fakeTree) |
bool | dfsGenTreeRec (UMLGraph &UG, EdgeArray< bool > &used, NodeArray< int > &hierNumber, int hierNum, node v, List< edge > &fakedGens, bool fakeTree) |
template<typename TCost > | |
void | dijkstra_SPAP (const Graph &G, NodeArray< NodeArray< TCost > > &shortestPathMatrix, const EdgeArray< TCost > &edgeCosts) |
Computes all-pairs shortest paths in graph G using Dijkstra's algorithm. | |
template<typename TCost > | |
double | dijkstra_SPAP (const GraphAttributes &GA, NodeArray< NodeArray< TCost > > &shortestPathMatrix) |
Computes all-pairs shortest paths in GA using Dijkstra's algorithm. | |
template<typename TCost > | |
void | dijkstra_SPSS (node s, const Graph &G, NodeArray< TCost > &shortestPathMatrix, const EdgeArray< TCost > &edgeCosts) |
Computes single-source shortest paths from node s in G using Disjkstra's algorithm. | |
bool | equalIgnoreCase (const string &str1, const string &str2) |
Compares the two strings str1 and str2 , ignoring the case of characters. | |
edge | firstOutGen (UMLGraph &UG, node v, EdgeArray< bool > &) |
template<typename TCost > | |
void | floydWarshall_SPAP (NodeArray< NodeArray< TCost > > &shortestPathMatrix, const Graph &G) |
Computes all-pairs shortest paths in graph G using Floyd-Warshall's algorithm. | |
template<class ToClass > | |
ToClass | fromString (string key) |
void | initFillPatternHashing () |
FillPattern | intToFillPattern (int i) |
Converts integer i to fill pattern. | |
StrokeType | intToStrokeType (int i) |
Converts integer i to stroke type. | |
bool | isBipartite (const Graph &G) |
Checks whether a graph is bipartite. | |
bool | isBipartite (const Graph &G, NodeArray< bool > &color) |
Checks whether a graph is bipartite. | |
template<typename T > | |
bool | isinf (T value) |
bool | isPlanar (const Graph &G) |
Returns true, if G is planar, false otherwise. | |
bool | isRegular (const Graph &G) |
Checks if a graph is regular. | |
bool | isRegular (const Graph &G, int d) |
Checks if a graph is d-regular. | |
bool | isSTNumbering (const Graph &G, NodeArray< int > &st_no, int max) |
Tests, whether a numbering of the nodes is an st-numbering. | |
bool | isSTPlanar (const Graph &graph, const node s, const node t) |
Returns whether G is s-t-planar (i.e. | |
bool | maximumDensitySubgraph (Graph &G, NodeSet< true > &subgraphNodes, std::function< node(node)> resultNodeMap=[](node v) { return v;}, int64_t timelimit=-1) |
Calculates the maximum density subgraph of G . | |
void | nodeDistribution (const Graph &G, Array< int > °dist, std::function< int(node)> func) |
Fills dist with the distribution given by a function func in graph G . | |
template<class E1 , class E2 > | |
bool | operator!= (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2) |
Inequality operator for 2-tuples. | |
bool | operator!= (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs) |
edgeType | operator& (edgeType lhs, UMLEdgeTypeConstants rhs) |
edgeType | operator& (edgeType lhs, UMLEdgeTypePatterns rhs) |
int | operator& (int i, TopologyModule::Options b) |
int | operator& (int lhs, UMLOpt rhs) |
int | operator& (int lhs, WInfo::MinorType rhs) |
edgeType | operator& (UMLEdgeTypePatterns lhs, edgeType rhs) |
int | operator+= (int &lhs, UMLOpt rhs) |
edgeType | operator<< (edgeType lhs, UMLEdgeTypeOffsets rhs) |
edgeType | operator<< (edgeType lhs, UMLEdgeTypePatterns rhs) |
std::ostream & | operator<< (std::ostream &os, cluster c) |
std::ostream & | operator<< (std::ostream &os, Configuration::LPSolver lps) |
Output operator for Configuration::LPSolver (uses Configuration::toString(Configuration::LPSolver)). | |
std::ostream & | operator<< (std::ostream &os, Configuration::MemoryManager mm) |
Output operator for Configuration::MemoryManager (uses Configuration::toString(Configuration::MemoryManager)). | |
std::ostream & | operator<< (std::ostream &os, Configuration::System sys) |
Output operator for Configuration::System (uses Configuration::toString(Configuration::System)). | |
std::ostream & | operator<< (std::ostream &os, const BalloonLayout::RootSelection &rs) |
template<class E , class INDEX > | |
std::ostream & | operator<< (std::ostream &os, const BoundedQueue< E, INDEX > &Q) |
Prints BoundedQueue Q to output stream os . | |
std::ostream & | operator<< (std::ostream &os, const DPolygon &dop) |
Output operator for polygons. | |
std::ostream & | operator<< (std::ostream &os, const EdgeArrow &ea) |
Output operator. | |
std::ostream & | operator<< (std::ostream &os, const FillPattern &fp) |
Output operator. | |
template<class PointType > | |
std::ostream & | operator<< (std::ostream &os, const GenericLine< PointType > &line) |
Output operator for lines. | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const GenericPoint< T > &p) |
Output operator for generic points. | |
template<class PointType > | |
std::ostream & | operator<< (std::ostream &os, const GenericSegment< PointType > &dl) |
Output operator for line segments. | |
std::ostream & | operator<< (std::ostream &os, const Graph::EdgeType &et) |
std::ostream & | operator<< (std::ostream &os, const KuratowskiWrapper::SubdivisionType &obj) |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const List< E > &L) |
Prints list L to output stream os . | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const ListPure< E > &L) |
Prints list L to output stream os . | |
std::ostream & | operator<< (std::ostream &os, const Module::ReturnType &r) |
std::ostream & | operator<< (std::ostream &os, const NodePair &np) |
template<class E , class INDEX > | |
std::ostream & | operator<< (std::ostream &os, const ogdf::Array< E, INDEX > &a) |
Prints array a to output stream os . | |
template<class E , class INDEX > | |
std::ostream & | operator<< (std::ostream &os, const ogdf::ArrayBuffer< E, INDEX > &a) |
Prints ArrayBuffer a to output stream os . | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const Queue< E > &Q) |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const QueuePure< E > &Q) |
std::ostream & | operator<< (std::ostream &os, const RCCrossings &cr) |
std::ostream & | operator<< (std::ostream &os, const Shape &shape) |
Output operator. | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const SList< E > &L) |
Output operator. | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const SListPure< E > &L) |
Output operator. | |
std::ostream & | operator<< (std::ostream &os, const StrokeType &st) |
Output operator. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const SubsetEnumerator< T > &subset) |
template<class E1 , class E2 > | |
std::ostream & | operator<< (std::ostream &os, const Tuple2< E1, E2 > &t2) |
Output operator for 2-tuples. | |
std::ostream & | operator<< (std::ostream &os, const UmlModelGraph &modelGraph) |
Output operator for UmlModelGraph. | |
std::ostream & | operator<< (std::ostream &os, Logger::Level level) |
std::ostream & | operator<< (std::ostream &os, ogdf::adjEntry adj) |
Output operator for adjacency entries; prints node and twin indices (or "nil"). | |
std::ostream & | operator<< (std::ostream &os, ogdf::edge e) |
Output operator for edges; prints source and target indices (or "nil"). | |
std::ostream & | operator<< (std::ostream &os, ogdf::face f) |
Output operator for faces; prints face index (or "nil"). | |
std::ostream & | operator<< (std::ostream &os, ogdf::node v) |
Output operator for nodes; prints node index (or "nil"). | |
edgeType | operator<< (UMLEdgeTypeConstants lhs, UMLEdgeTypeOffsets rhs) |
int | operator<< (UMLNodeTypeConstants lhs, UMLNodeTypeOffsets rhs) |
bool | operator<= (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs) |
template<class E1 , class E2 > | |
bool | operator== (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2) |
Equality operator for 2-tuples. | |
bool | operator== (edgeType lhs, UMLEdgeTypeConstants rhs) |
bool | operator== (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs) |
bool | operator> (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs) |
edgeType | operator>> (edgeType lhs, UMLEdgeTypeOffsets rhs) |
std::istream & | operator>> (std::istream &is, TokenIgnorer token) |
int | operator| (int i, TopologyModule::Options b) |
int | operator| (int lhs, UMLOpt rhs) |
int | operator| (TopologyModule::Options a, TopologyModule::Options b) |
int | operator|= (int &lhs, WInfo::MinorType rhs) |
unsigned int | operator|= (unsigned int &i, CPUFeatureMask fm) |
int | operator~ (UMLOpt rhs) |
int | orientation (const DPoint &p, const DPoint &q, const DPoint &r) |
int | orientation (const DSegment &s, const DPoint &p) |
bool | planarEmbed (Graph &G) |
Returns true, if G is planar, false otherwise. If true is returned, G will be planarly embedded. | |
bool | planarEmbedPlanarGraph (Graph &G) |
Constructs a planar embedding of G. It assumes that G is planar! | |
bool | planarSTEmbed (Graph &graph, node s, node t) |
s-t-planarly embeds a graph. | |
bool | prefixIgnoreCase (const string &prefix, const string &str) |
Tests if prefix is a prefix of str , ignoring the case of characters. | |
template<class E , class INDEX > | |
void | print (std::ostream &os, const Array< E, INDEX > &a, char delim=' ') |
Prints array a to output stream os using delimiter delim . | |
template<class E , class INDEX > | |
void | print (std::ostream &os, const ArrayBuffer< E, INDEX > &a, char delim=' ') |
Prints ArrayBuffer a to output stream os using delimiter delim . | |
template<class E > | |
void | print (std::ostream &os, const List< E > &L, char delim=' ') |
Prints list L to output stream os using delimiter delim . | |
template<class E > | |
void | print (std::ostream &os, const ListPure< E > &L, char delim=' ') |
Prints list L to output stream os using delimiter delim . | |
template<class E > | |
void | print (std::ostream &os, const Queue< E > &Q, char delim=' ') |
template<class E > | |
void | print (std::ostream &os, const QueuePure< E > &Q, char delim=' ') |
template<class E > | |
void | print (std::ostream &os, const SList< E > &L, char delim=' ') |
Prints list L to output stream os using delimiter delim . | |
template<class E > | |
void | print (std::ostream &os, const SListPure< E > &L, char delim=' ') |
Prints list L to output stream os using delimiter delim . | |
template<class LIST > | |
void | quicksortTemplate (LIST &L) |
template<class LIST , class COMPARER > | |
void | quicksortTemplate (LIST &L, const COMPARER &comp) |
double | randomDouble (double low, double high) |
Returns a random double value from the interval [low , high ). | |
double | randomDoubleExponential (double beta) |
Returns a random double value from the exponential distribution. | |
double | randomDoubleNormal (double m, double sd) |
Returns a random double value from the normal distribution with mean m and standard deviation sd. | |
int | randomNumber (int low, int high) |
Returns random integer between low and high (including). | |
long unsigned int | randomSeed () |
Returns a random value suitable as initial seed for a random number engine. | |
void | removeTrailingWhitespace (string &str) |
Removes trailing space, horizontal and vertical tab, feed, newline, and carriage return from str . | |
template<typename T > | |
Reverse< T > | reverse (T &container) |
Provides iterators for container to make it easily iterable in reverse. | |
template<typename CONTAINER > | |
void | safeForEach (CONTAINER &container, std::function< void(typename CONTAINER::value_type)> func) |
Calls (possibly destructive) func for each element of container . | |
template<typename CONTAINER > | |
bool | safeTestForEach (CONTAINER &container, std::function< bool(typename CONTAINER::value_type)> func) |
Like ogdf::safeForEach() but aborts if func returns false . | |
template<typename CONTAINER , typename T > | |
int | searchPos (const CONTAINER &C, const T &x) |
Searches for the position of x in container C ; returns -1 if not found. | |
void | setSeed (int val) |
Sets the seed for functions like randomSeed(), randomNumber(), randomDouble(). | |
template<typename E > | |
static E | toEnum (const std::string &str, std::string toString(const E &), const E first, const E last, const E def) |
template<class FromClass > | |
string | toString (FromClass key) |
double | usedTime (double &T) |
Returns used CPU time from T to current time and assigns current time to T. | |
Methods for induced subgraphs | |
template<class LISTITERATOR > | |
void | inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph) |
Computes the subgraph induced by a list of nodes. | |
template<class LISTITERATOR > | |
void | inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New) |
Computes the subgraph induced by a list of nodes (plus a mapping from original nodes to new copies). | |
template<class LISTITERATOR > | |
void | inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New, EdgeArray< edge > &edgeTableOrig2New) |
Computes the subgraph induced by a list of nodes (plus mappings from original nodes and edges to new copies). | |
template<class LISTITERATOR > | |
void | inducedSubGraph (const Graph &G, LISTITERATOR start, GraphCopySimple &subGraph) |
Computes the subgraph induced by a list of nodes. | |
template<class NODELISTITERATOR , class EDGELIST > | |
void | inducedSubgraph (Graph &G, NODELISTITERATOR &it, EDGELIST &E) |
Computes the edges in a node-induced subgraph. | |
Methods for clustered graphs | |
bool | isCConnected (const ClusterGraph &C) |
Returns true iff cluster graph C is c-connected. | |
void | makeCConnected (ClusterGraph &C, Graph &G, List< edge > &addedEdges, bool simple=true) |
Makes a cluster graph c-connected by adding edges. | |
Methods for minimum spanning tree computation | |
template<typename T > | |
T | computeMinST (const Graph &G, const EdgeArray< T > &weight, EdgeArray< bool > &isInTree) |
Computes a minimum spanning tree using Prim's algorithm. | |
template<typename T > | |
T | computeMinST (const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred, EdgeArray< bool > &isInTree) |
Computes a minimum spanning tree (MST) using Prim's algorithm. | |
template<typename T > | |
void | computeMinST (const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred) |
Computes a minimum spanning tree (MST) using Prim's algorithm. | |
template<typename T > | |
void | computeMinST (node s, const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred) |
Computes a minimum spanning tree (MST) using Prim's algorithm. | |
template<typename T > | |
T | computeMinST (node s, const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred, EdgeArray< bool > &isInTree) |
Computes a minimum spanning tree (MST) using Prim's algorithm. | |
template<typename T > | |
T | makeMinimumSpanningTree (Graph &G, const EdgeArray< T > &weight) |
Reduce a graph to its minimum spanning tree (MST) using Kruskal's algorithm. | |
Deterministic graph generators | |
void | customGraph (Graph &G, int n, List< std::pair< int, int > > edges, Array< node > &nodes) |
Creates a custom graph using a list of pairs to determine the graph's edges. | |
void | customGraph (Graph &G, int n, List< std::pair< int, int > > edges) |
Creates a custom graph using a list of pairs to determine the graph's edges. | |
void | circulantGraph (Graph &G, int n, Array< int > jumps) |
Creates a circulant graph. | |
void | regularLatticeGraph (Graph &G, int n, int k) |
Creates a regular lattice graph. | |
void | regularTree (Graph &G, int n, int children) |
Creates a regular tree. | |
void | completeGraph (Graph &G, int n) |
Creates the complete graph K_n. | |
void | completeKPartiteGraph (Graph &G, const Array< int > &signature) |
Creates the complete k-partite graph K_{k1,k2,...,kn}. | |
void | completeBipartiteGraph (Graph &G, int n, int m) |
Creates the complete bipartite graph K_{n,m}. | |
void | wheelGraph (Graph &G, int n) |
Creates the graph W_n: A wheel graph. | |
void | cubeGraph (Graph &G, int n) |
Creates the graph Q^n: A n -cube graph. | |
void | globeGraph (Graph &G, int meridians, int latitudes) |
Creates a globe graph with a given number of meridians and latitudes. | |
void | suspension (Graph &G, int s) |
Modifies G by adding its s -th suspension. | |
void | gridGraph (Graph &G, int n, int m, bool loopN, bool loopM) |
Creates a (toroidal) grid graph on n x m nodes. | |
void | petersenGraph (Graph &G, int n=5, int m=2) |
Creates a generalized Petersen graph. | |
void | emptyGraph (Graph &G, int nodes) |
Creates a graph with nodes nodes and no edges. | |
Randomized graph generators | |
template<typename D > | |
void | randomGeographicalThresholdGraph (Graph &G, Array< int > &weights, D &dist, double threshold, std::function< double(double)> h, int dimension=2) |
Creates a random geometric graph where edges are created based on their distance and the weight of nodes. | |
template<typename D > | |
void | randomGeographicalThresholdGraph (Graph &G, Array< int > &weights, D &dist, double threshold, int alpha=2, int dimension=2) |
Creates a random geometric graph where edges are created based on their distance and the weight of nodes. | |
void | randomHierarchy (Graph &G, int n, int m, bool planar, bool singleSource, bool longEdges) |
Creates a random hierarchical graph. | |
void | randomRegularGraph (Graph &G, int n, int d) |
Creates a random d -regular graph. | |
void | randomGraph (Graph &G, int n, int m) |
Creates a random graph. | |
bool | randomSimpleGraph (Graph &G, int n, int m) |
Creates a random simple graph. | |
bool | randomSimpleGraphByProbability (Graph &G, int n, double pEdge) |
Creates a random simple graph. | |
bool | randomSimpleConnectedGraph (Graph &G, int n, int m) |
Creates a random simple and connected graph. | |
void | randomBiconnectedGraph (Graph &G, int n, int m) |
Creates a random biconnected graph. | |
void | randomPlanarConnectedGraph (Graph &G, int n, int m) |
Creates a random connected (simple) planar (embedded) graph. | |
void | randomPlanarBiconnectedGraph (Graph &G, int n, int m, bool multiEdges=false) |
Creates a random planar biconnected (embedded) graph. | |
void | randomPlanarBiconnectedDigraph (Graph &G, int n, int m, double p=0, bool multiEdges=false) |
Creates a random planar biconnected acyclic (embedded) digraph. | |
void | randomUpwardPlanarBiconnectedDigraph (Graph &G, int n, int m) |
Creates a random upward planar biconnected (embedded) digraph. | |
void | randomPlanarCNBGraph (Graph &G, int n, int m, int b) |
Creates a random planar graph, that is connected, but not biconnected. | |
void | randomTriconnectedGraph (Graph &G, int n, double p1, double p2) |
Creates a random triconnected (and simple) graph. | |
void | randomPlanarTriconnectedGraph (Graph &G, int n, int m) |
Creates a random planar triconnected (and simple) graph. | |
void | randomPlanarTriconnectedGraph (Graph &G, int n, double p1, double p2) |
Creates a random planar triconnected (and simple) graph. | |
void | randomTree (Graph &G, int n) |
Creates a random tree (simpler version. | |
void | randomTree (Graph &G, int n, int maxDeg, int maxWidth) |
Creates a random tree. | |
void | randomClusterPlanarGraph (ClusterGraph &C, Graph &G, int cNum) |
Assigns random clusters to a given graph G . | |
void | randomClusterGraph (ClusterGraph &C, Graph &G, int cNum) |
Assigns random clusters to a given graph G . | |
void | randomClusterGraph (ClusterGraph &C, const Graph &G, const node root, int moreInLeaves) |
Assigns a specified cluster structure to a given graph G , and assigns vertices to clusters. | |
void | randomDigraph (Graph &G, int n, double p) |
Creates a random (simple) directed graph. | |
void | randomSeriesParallelDAG (Graph &G, int edges, double p=0.5, double flt=0.0) |
Creates a random (simple, biconnected) series parallel DAG. | |
void | randomGeometricCubeGraph (Graph &G, int nodes, double threshold, int dimension=2) |
Creates a random geometric graph by laying out nodes in a unit n-cube. Nodes with a distance < threshold are connected, 0 <= threshold <= sqrt(dimension). The graph is simple. | |
void | randomWaxmanGraph (Graph &G, int nodes, double alpha, double beta, double width=1.0, double height=1.0) |
Generates a Waxman graph where nodes are uniformly randomly placed in a grid, then edges are inserted based on nodes' euclidean distances. | |
void | preferentialAttachmentGraph (Graph &G, int nodes, int minDegree) |
Creates a graph where new nodes are more likely to connect to nodes with high degree. | |
void | randomWattsStrogatzGraph (Graph &G, int n, int k, double probability) |
Creates a "small world" graph as described by Watts & Strogatz. | |
void | randomChungLuGraph (Graph &G, Array< int > expectedDegreeDistribution) |
Creates a graph where edges are inserted based on given weights. | |
void | randomEdgesGraph (Graph &G, std::function< double(node, node)> probability) |
Inserts edges into the given graph based on probabilities given by a callback function. | |
Methods for loops | |
void | removeSelfLoops (Graph &graph, node v) |
Removes all self-loops for a given node v in graph . | |
bool | isLoopFree (const Graph &G) |
Returns true iff G contains no self-loop. | |
template<class NODELIST > | |
void | makeLoopFree (Graph &G, NODELIST &L) |
Removes all self-loops from G and returns all nodes with self-loops in L . | |
bool | hasNonSelfLoopEdges (const Graph &G) |
Returns whether G has edges which are not self-loops. | |
void | makeLoopFree (Graph &G) |
Removes all self-loops from G . | |
Methods for parallel edges | |
void | parallelFreeSort (const Graph &G, SListPure< edge > &edges) |
Sorts the edges of G such that parallel edges come after each other in the list. | |
bool | isParallelFree (const Graph &G) |
Returns true iff G contains no parallel edges. | |
template<bool ONLY_ONCE = false> | |
int | numParallelEdges (const Graph &G) |
Returns the number of parallel edges in G . | |
template<class EDGELIST > | |
void | makeParallelFree (Graph &G, EDGELIST ¶llelEdges) |
Removes all but one of each bundle of parallel edges. | |
void | makeParallelFree (Graph &G) |
Removes all but one edge of each bundle of parallel edges in G . | |
void | parallelFreeSortUndirected (const Graph &G, SListPure< edge > &edges, EdgeArray< int > &minIndex, EdgeArray< int > &maxIndex) |
Sorts the edges of G such that undirected parallel edges come after each other in the list. | |
bool | isParallelFreeUndirected (const Graph &G) |
Returns true iff G contains no undirected parallel edges. | |
template<bool ONLY_ONCE = false> | |
int | numParallelEdgesUndirected (const Graph &G) |
Returns the number of undirected parallel edges in G . | |
template<class EDGELIST > | |
void | getParallelFreeUndirected (const Graph &G, EdgeArray< EDGELIST > ¶llelEdges) |
Computes the bundles of undirected parallel edges in G . | |
template<class EDGELIST = SListPure<edge>> | |
void | makeParallelFreeUndirected (Graph &G, EDGELIST *parallelEdges=nullptr, EdgeArray< int > *cardPositive=nullptr, EdgeArray< int > *cardNegative=nullptr) |
Removes all but one edge of each bundle of undirected parallel edges. | |
template<class EDGELIST > | |
void | makeParallelFreeUndirected (Graph &G, EDGELIST ¶llelEdges) |
template<class EDGELIST > | |
void | makeParallelFreeUndirected (Graph &G, EDGELIST ¶llelEdges, EdgeArray< int > &cardPositive, EdgeArray< int > &cardNegative) |
Methods for simple graphs | |
bool | isSimple (const Graph &G) |
Returns true iff G contains neither self-loops nor parallel edges. | |
void | makeSimple (Graph &G) |
Removes all self-loops and all but one edge of each bundle of parallel edges. | |
bool | isSimpleUndirected (const Graph &G) |
Returns true iff G contains neither self-loops nor undirected parallel edges. | |
void | makeSimpleUndirected (Graph &G) |
Removes all self-loops and all but one edge of each bundle of undirected parallel edges. | |
Methods for connectivity | |
bool | isConnected (const Graph &G) |
Returns true iff G is connected. | |
void | makeConnected (Graph &G, List< edge > &added) |
Makes G connected by adding a minimum number of edges. | |
void | makeConnected (Graph &G) |
makes G connected by adding a minimum number of edges. | |
int | connectedComponents (const Graph &G, NodeArray< int > &component, List< node > *isolated=nullptr) |
Computes the connected components of G and optionally generates a list of isolated nodes. | |
int | connectedComponents (const Graph &G) |
Computes the amount of connected components of G . | |
int | connectedIsolatedComponents (const Graph &G, List< node > &isolated, NodeArray< int > &component) |
bool | findCutVertices (const Graph &G, ArrayBuffer< node > &cutVertices, ArrayBuffer< Tuple2< node, node > > &addEdges, bool onlyOne=false) |
Finds cut vertices and potential edges that could be added to turn the cut vertices into non-cut vertices. | |
bool | findCutVertices (const Graph &G, ArrayBuffer< node > &cutVertices, bool onlyOne=false) |
Finds cut vertices and potential edges that could be added to turn the cut vertices into non-cut vertices. | |
bool | isBiconnected (const Graph &G, node &cutVertex) |
Returns true iff G is biconnected. | |
bool | isBiconnected (const Graph &G) |
Returns true iff G is biconnected. | |
void | makeBiconnected (Graph &G, List< edge > &added) |
Makes G biconnected by adding edges. | |
void | makeBiconnected (Graph &G) |
Makes G biconnected by adding edges. | |
int | biconnectedComponents (const Graph &G, EdgeArray< int > &component, int &nonEmptyComponents) |
Computes the biconnected components of G . | |
int | biconnectedComponents (const Graph &G, EdgeArray< int > &component) |
Computes the biconnected components of G . | |
bool | isTwoEdgeConnected (const Graph &graph, edge &bridge) |
Returns true iff graph is 2-edge-connected. | |
bool | isTwoEdgeConnected (const Graph &graph) |
Returns true iff graph is 2-edge-connected. | |
bool | isTriconnected (const Graph &G, node &s1, node &s2) |
Returns true iff G is triconnected. | |
bool | isTriconnected (const Graph &G) |
Returns true iff G is triconnected. | |
bool | isTriconnectedPrimitive (const Graph &G, node &s1, node &s2) |
Returns true iff G is triconnected (using a quadratic time algorithm!). | |
bool | isTriconnectedPrimitive (const Graph &G) |
Returns true iff G is triconnected (using a quadratic time algorithm!). | |
void | triangulate (Graph &G) |
Triangulates a planarly embedded graph G by adding edges. | |
Methods for directed graphs | |
bool | isAcyclic (const Graph &G, List< edge > &backedges) |
Returns true iff the digraph G is acyclic. | |
bool | isAcyclic (const Graph &G) |
Returns true iff the digraph G is acyclic. | |
bool | isAcyclicUndirected (const Graph &G, List< edge > &backedges) |
Returns true iff the undirected graph G is acyclic. | |
bool | isAcyclicUndirected (const Graph &G) |
Returns true iff the undirected graph G is acyclic. | |
void | makeAcyclic (Graph &G) |
Makes the digraph G acyclic by removing edges. | |
void | makeAcyclicByReverse (Graph &G) |
Makes the digraph G acyclic by reversing edges. | |
bool | hasSingleSource (const Graph &G, node &source) |
Returns true iff the digraph G contains exactly one source node (or is empty). | |
bool | hasSingleSource (const Graph &G) |
Returns true iff the digraph G contains exactly one source node (or is empty). | |
bool | hasSingleSink (const Graph &G, node &sink) |
Returns true iff the digraph G contains exactly one sink node (or is empty). | |
bool | hasSingleSink (const Graph &G) |
Returns true iff the digraph G contains exactly one sink node (or is empty). | |
bool | isStGraph (const Graph &G, node &s, node &t, edge &st) |
Returns true iff G is an st-digraph. | |
bool | isStGraph (const Graph &G) |
Returns true if G is an st-digraph. | |
void | topologicalNumbering (const Graph &G, NodeArray< int > &num) |
Computes a topological numbering of an acyclic digraph G . | |
int | strongComponents (const Graph &G, NodeArray< int > &component) |
Computes the strongly connected components of the digraph G . | |
void | makeBimodal (Graph &G, List< edge > &newEdges) |
Makes the digraph G bimodal. | |
void | makeBimodal (Graph &G) |
Makes the digraph G bimodal. | |
Methods for trees and forests | |
bool | isFreeForest (const Graph &G) |
bool | isTree (const Graph &G) |
Returns true iff G is a tree, i.e. contains no undirected cycle and is connected. | |
bool | isArborescenceForest (const Graph &G, List< node > &roots) |
Returns true iff G is a forest consisting only of arborescences. | |
bool | isArborescenceForest (const Graph &G) |
Returns true iff G is a forest consisting only of arborescences. | |
bool | isForest (const Graph &G, List< node > &roots) |
bool | isForest (const Graph &G) |
bool | isArborescence (const Graph &G, node &root) |
Returns true iff G represents an arborescence. | |
bool | isArborescence (const Graph &G) |
Returns true iff G represents an arborescence. | |
Iteration macros | |
bool | test_forall_adj_entries_of_cluster (ListConstIterator< adjEntry > &it, adjEntry &adj) |
bool | test_forall_adj_edges_of_cluster (ListConstIterator< adjEntry > &it, edge &e) |
bool | test_forall_adj_edges_of_cluster (adjEntry &adj, edge &e) |
Variables | |
bool | debugMode |
Set to true iff debug mode is used during compilation of the OGDF. | |
const EpsilonTest | OGDF_GEOM_ET |
static Initialization | s_ogdfInitializer |
Graph operations | |
using | NodeMap = NodeArray< NodeArray< node > > |
void | graphUnion (Graph &G1, const Graph &G2) |
Forms the disjoint union of G1 and G2 . | |
void | graphUnion (Graph &G1, const Graph &G2, NodeArray< node > &map2to1, bool parallelfree=false, bool directed=false) |
Forms the union of G1 and G2 while identifying nodes from G2 with nodes from G1 . | |
void | graphProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct, const std::function< void(node, node)> &addEdges) |
Computes the graph product of G1 and G2 , using a given function to add edges. | |
void | cartesianProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the Cartesian product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) |
(w_1,w_2) \in E_2\} \cup
\{(\langle v_1,w_1\rangle, \langle v_2,w_1\rangle) |
(v_1,v_2) \in E_1\}
\). | |
void | tensorProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the tensor product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\}
\). | |
void | lexicographicalProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the lexicographical product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \in E_1\} \cup
\{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) |
(w_1,w_2) \in E_2\}
\). | |
void | strongProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the strong product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) |
(w_1,w_2) \in E_2\} \cup
\{(\langle v_1,w_1\rangle, \langle v_2,w_1\rangle) |
(v_1,v_2) \in E_1\} \cup
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\}
\). | |
void | coNormalProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the co-normal product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \in E_1 \lor (w_1,w_2) \in E_2\}
\). | |
void | modularProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct) |
Computes the modular product of G1 and G2 and assigns it to product , with \(E =
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\} \cup
\{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) |
(v_1,v_2) \not\in E_1 \land (w_1,w_2) \not\in E_2\}
\). | |
void | rootedProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct, node rootInG2) |
Computes the rooted product of G1 and G2 , rooted in rootInG2 , and assigns it to product . | |
The namespace for all OGDF objects.
The type of adjacency entries.
Definition at line 68 of file Hypergraph.h.
using ogdf::ArrayConstIterator = typedef const E* |
using ogdf::ArrayConstReverseIterator = typedef ArrayReverseIteratorBase<E, true> |
using ogdf::ArrayReverseIterator = typedef ArrayReverseIteratorBase<E, false> |
The type of clusters.
Definition at line 45 of file ClusterGraph.h.
Definition at line 117 of file CrossingMinimalPosition.h.
Lines with real coordinates.
Definition at line 619 of file geometry.h.
Representing two-dimensional point with real coordinates.
Definition at line 236 of file geometry.h.
Polylines with DPoint points.
Definition at line 444 of file geometry.h.
Segments with real coordinates.
Definition at line 785 of file geometry.h.
Definition at line 44 of file DualGraph.h.
Definition at line 46 of file DualGraph.h.
Definition at line 42 of file EdgeTypePatterns.h.
Definition at line 40 of file CombinatorialEmbedding.h.
The type of hyperedges.
Definition at line 65 of file Hypergraph.h.
The type of hypernodes.
Definition at line 62 of file Hypergraph.h.
Representing a two-dimensional point with integer coordinates.
Definition at line 233 of file geometry.h.
Polylines with IPoint points.
Definition at line 441 of file geometry.h.
using ogdf::ListConstIterator = typedef ListIteratorBase<E, true, false> |
using ogdf::ListConstReverseIterator = typedef ListIteratorBase<E, true, true> |
using ogdf::ListIterator = typedef ListIteratorBase<E, false, false> |
using ogdf::ListReverseIterator = typedef ListIteratorBase<E, false, true> |
Definition at line 44 of file NodeTypePatterns.h.
Definition at line 43 of file StarInserter.h.
using ogdf::SListConstIterator = typedef SListIteratorBase<E, true> |
using ogdf::SListIterator = typedef SListIteratorBase<E, false> |
using ogdf::SortedSequenceConstIterator = typedef SortedSequenceIteratorBase<KEY, INFO, CMP, true, false> |
Definition at line 49 of file SortedSequence.h.
using ogdf::SortedSequenceConstReverseIterator = typedef SortedSequenceIteratorBase<KEY, INFO, CMP, true, true> |
Definition at line 55 of file SortedSequence.h.
using ogdf::SortedSequenceIterator = typedef SortedSequenceIteratorBase<KEY, INFO, CMP, false, false> |
Definition at line 46 of file SortedSequence.h.
using ogdf::SortedSequenceReverseIterator = typedef SortedSequenceIteratorBase<KEY, INFO, CMP, false, true> |
Definition at line 52 of file SortedSequence.h.
|
strong |
Type of edge.
Enumerator | |
---|---|
Undefined | undefined |
Selfloop | selfloop |
Back | backedge |
Dfs | DFS-edge. |
DfsParallel | parallel DFS-edge |
BackDeleted | deleted backedge |
Definition at line 45 of file BoyerMyrvoldPlanar.h.
|
strong |
Defines options for compression search paths.
Enumerator | |
---|---|
PathCompression | Path Compression. |
PathSplitting | Path Splitting (default) |
PathHalving | Path Halving. |
Type1Reversal | Reversal of type 1. |
Collapsing | Collapsing. |
Disabled | No Compression. |
Definition at line 51 of file DisjointSets.h.
|
strong |
Types of edges in the constraint graph.
Definition at line 42 of file CommonCompactionConstraintGraphBase.h.
|
strong |
|
strong |
Enumeration class of possible edge standard representations.
Definition at line 51 of file EdgeStandardRep.h.
|
strong |
Defines options for interleaving find/link operations in quickUnion.
Enumerator | |
---|---|
Disabled | No Interleaving (default) |
Rem | Rem's Algorithm (only compatible with LinkOptions::Index) |
Tarjan | Tarjan's and van Leeuwen's Algorithm (only compatible with LinkOptions::Rank) |
Type0Reversal | Interleaved Reversal of Type 0 (only compatible with LinkOptions::Naive) |
SplittingCompression | Interleaved Path Splitting Path Compression (only compatible with LinkOptions::Index) |
Definition at line 61 of file DisjointSets.h.
|
strong |
Determines the type of intersection of two geometric objects.
Enumerator | |
---|---|
None | Two geometric objects do not intersect. |
SinglePoint | Two geometric objects intersect in a single point. |
Overlapping | Two geometric objects intersect in infinitely many points. |
Definition at line 55 of file geometry.h.
|
strong |
Enumerator | |
---|---|
End1 | |
Mult1 | |
Name | |
End2 | |
Mult2 | |
NumLabels | the number of available labels at an edge |
Definition at line 45 of file ELabelInterface.h.
|
strong |
Defines options for linking two sets.
Enumerator | |
---|---|
Naive | Naive Link. |
Index | Link by index (default) |
Size | Link by size. |
Rank | Link by rank. |
Definition at line 43 of file DisjointSets.h.
|
strong |
Enumerator | |
---|---|
zero | |
log | |
sum | |
squared |
Definition at line 41 of file VertexOrder.h.
|
strong |
Enumerator | |
---|---|
asc | |
desc | |
rnd |
Definition at line 40 of file VertexOrder.h.
|
strong |
Determines the orientation in hierarchical layouts.
Definition at line 47 of file geometry.h.
|
strong |
Enumerator | |
---|---|
convexBend | |
reflexBend |
Definition at line 45 of file OrthoRep.h.
|
strong |
Enumerator | |
---|---|
North | |
East | |
South | |
West | |
Undefined |
Definition at line 50 of file OrthoRep.h.
|
strong |
Definition at line 65 of file EdgeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
Primary | |
Secondary | |
Tertiary | |
Fourth | |
Fifth | |
User |
Definition at line 106 of file EdgeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
Primary | |
Secondary | |
Tertiary | |
Fourth | |
User | |
All |
Definition at line 44 of file EdgeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
PrimOriginal | |
PrimCopy | |
SecStructural | |
SecNonStructural | |
TerCrossing | |
TerExpander | |
TerHDExpander | |
TerLDExpander | |
FourFlow | |
FourLabel | |
FourType | |
FourCorner |
Definition at line 55 of file NodeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
Primary | |
Secondary | |
Tertiary | |
Fourth | |
Fifth | |
User |
Definition at line 82 of file NodeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
Primary | |
Secondary | |
Tertiary | |
Fourth | |
User | |
All |
Definition at line 46 of file NodeTypePatterns.h.
|
strong |
Enumerator | |
---|---|
OpAlign | |
OpScale | |
OpProg |
Definition at line 53 of file OrthoRep.h.
|
strong |
Enumerator | |
---|---|
End1 | |
Mult1 | |
Name | |
End2 | |
Mult2 | |
lAll |
Definition at line 54 of file ELabelInterface.h.
|
strong |
The definitions for W, B, H and A describe the type of a node during the computation of the maximal pertinent sequence.
A pertinent node X in the PQ-tree will be either of type B, W, A or H. Together with some other information stored at every node the pertinent leaves in the frontier of X that have to be deleted. For further description of the types see Jayakumar, Thulasiraman and Swamy 1989.
Enumerator | |
---|---|
W | |
B | |
H | |
A |
CONTAINER::const_iterator ogdf::chooseIteratorFrom | ( | const CONTAINER & | container, |
std::function< bool(const TYPE &)> | includeElement = [](const TYPE&) { return true; } , |
||
bool | isFastTest = true |
||
) |
Returns an iterator to a random element in the container
.
Takes linear time (given that includeElement
runs in constant time). An invalid iterator is returned iff no feasible element exists. When includeElement
has a non-constant runtime it is recommended to set isFastTest
to false
.
CONTAINER | Type of the container. Any iterable container that implements size() is applicable. |
TYPE | Type of elements returned by the iterator of the container. |
container | The container that we want to pick an element from. |
includeElement | Specifies for each element whether it is feasible to be chosen. Defaults to all elements being feasible. Must return the same value when called twice with the same element. |
isFastTest | Should be set to false to prevent querying the same element multiple times for feasibility. Note that this will result in additional space allocated linear in the size of the container. |
Definition at line 229 of file list_templates.h.
CONTAINER::iterator ogdf::chooseIteratorFrom | ( | CONTAINER & | container, |
std::function< bool(const TYPE &)> | includeElement = [](const TYPE&) { return true; } , |
||
bool | isFastTest = true |
||
) |
Returns an iterator to a random element in the container
.
Takes linear time (given that includeElement
runs in constant time). An invalid iterator is returned iff no feasible element exists. When includeElement
has a non-constant runtime it is recommended to set isFastTest
to false
.
CONTAINER | Type of the container. Any iterable container that implements size() is applicable. |
TYPE | Type of elements returned by the iterator of the container. |
container | The container that we want to pick an element from. |
includeElement | Specifies for each element whether it is feasible to be chosen. Defaults to all elements being feasible. Must return the same value when called twice with the same element. |
isFastTest | Should be set to false to prevent querying the same element multiple times for feasibility. Note that this will result in additional space allocated linear in the size of the container. |
Definition at line 219 of file list_templates.h.
Definition at line 112 of file precondition.h.
bool ogdf::dfsGenTreeRec | ( | UMLGraph & | UG, |
EdgeArray< bool > & | used, | ||
NodeArray< int > & | hierNumber, | ||
int | hierNum, | ||
node | v, | ||
List< edge > & | fakedGens, | ||
bool | fakeTree | ||
) |
Definition at line 44 of file precondition.h.
Compares the two strings str1
and str2
, ignoring the case of characters.
Definition at line 94 of file precondition.h.
Definition at line 568 of file graphics.h.
void ogdf::initFillPatternHashing | ( | ) |
Returns true iff G
is a forest consisting only of arborescences.
G | is the input graph. |
G
represents an arborescence forest, false otherwise. Definition at line 954 of file simple_graph_alg.h.
Returns true iff G
is a forest consisting only of arborescences.
G | is the input graph. |
roots | is assigned the list of root nodes of the arborescences in the forest. If false is returned, roots is undefined. |
G
represents an arborescence forest, false otherwise. Definition at line 946 of file simple_graph_alg.h.
Returns true iff the undirected graph G
is acyclic.
G | is the input graph |
G
contains no undirected cycle, false otherwise. Definition at line 904 of file simple_graph_alg.h.
Definition at line 44 of file PivotMDS.h.
|
inline |
Definition at line 483 of file BoyerMyrvoldPlanar.h.
|
inline |
Definition at line 98 of file EdgeTypePatterns.h.
|
inline |
Definition at line 53 of file EdgeTypePatterns.h.
|
inline |
Definition at line 201 of file TopologyModule.h.
Definition at line 59 of file OrthoRep.h.
|
inline |
Definition at line 81 of file FindKuratowskis.h.
|
inline |
Definition at line 57 of file EdgeTypePatterns.h.
Definition at line 61 of file OrthoRep.h.
|
inline |
Definition at line 119 of file EdgeTypePatterns.h.
|
inline |
Definition at line 61 of file EdgeTypePatterns.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
cluster | c | ||
) |
|
inline |
Output operator for Configuration::LPSolver (uses Configuration::toString(Configuration::LPSolver)).
|
inline |
Output operator for Configuration::MemoryManager (uses Configuration::toString(Configuration::MemoryManager)).
|
inline |
Output operator for Configuration::System (uses Configuration::toString(Configuration::System)).
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const BalloonLayout::RootSelection & | rs | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const BoundedQueue< E, INDEX > & | Q | ||
) |
Prints BoundedQueue Q
to output stream os
.
Definition at line 235 of file BoundedQueue.h.
Output operator for polygons.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const FillPattern & | fp | ||
) |
Output operator.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const GenericLine< PointType > & | line | ||
) |
Output operator for lines.
Definition at line 609 of file geometry.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const GenericPoint< T > & | p | ||
) |
Output operator for generic points.
Definition at line 227 of file geometry.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const GenericSegment< PointType > & | dl | ||
) |
Output operator for line segments.
Definition at line 779 of file geometry.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const Graph::EdgeType & | et | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const KuratowskiWrapper::SubdivisionType & | obj | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const Module::ReturnType & | r | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const ogdf::Array< E, INDEX > & | a | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const ogdf::ArrayBuffer< E, INDEX > & | a | ||
) |
Prints ArrayBuffer a
to output stream os
.
Definition at line 506 of file ArrayBuffer.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const RCCrossings & | cr | ||
) |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const StrokeType & | st | ||
) |
Output operator.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const SubsetEnumerator< T > & | subset | ||
) |
Definition at line 267 of file SubsetEnumerator.h.
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
const UmlModelGraph & | modelGraph | ||
) |
Output operator for UmlModelGraph.
|
inline |
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
ogdf::adjEntry | adj | ||
) |
Output operator for adjacency entries; prints node and twin indices (or "nil").
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
ogdf::edge | e | ||
) |
Output operator for edges; prints source and target indices (or "nil").
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
ogdf::face | f | ||
) |
Output operator for faces; prints face index (or "nil").
std::ostream & ogdf::operator<< | ( | std::ostream & | os, |
ogdf::node | v | ||
) |
Output operator for nodes; prints node index (or "nil").
|
inline |
Definition at line 123 of file EdgeTypePatterns.h.
|
inline |
Definition at line 91 of file NodeTypePatterns.h.
|
inline |
Definition at line 487 of file BoyerMyrvoldPlanar.h.
|
inline |
Definition at line 102 of file EdgeTypePatterns.h.
|
inline |
Definition at line 479 of file BoyerMyrvoldPlanar.h.
|
inline |
Definition at line 475 of file BoyerMyrvoldPlanar.h.
|
inline |
Definition at line 115 of file EdgeTypePatterns.h.
std::istream & ogdf::operator>> | ( | std::istream & | is, |
TokenIgnorer | token | ||
) |
|
inline |
Definition at line 207 of file TopologyModule.h.
Definition at line 55 of file OrthoRep.h.
|
inline |
Definition at line 203 of file TopologyModule.h.
|
inline |
Definition at line 83 of file FindKuratowskis.h.
unsigned int ogdf::operator|= | ( | unsigned int & | i, |
CPUFeatureMask | fm | ||
) |
Definition at line 57 of file OrthoRep.h.
Definition at line 1053 of file geometry.h.
Tests if prefix
is a prefix of str
, ignoring the case of characters.
void ogdf::print | ( | std::ostream & | os, |
const ArrayBuffer< E, INDEX > & | a, | ||
char | delim = ' ' |
||
) |
Prints ArrayBuffer a
to output stream os
using delimiter delim
.
Definition at line 495 of file ArrayBuffer.h.
Definition at line 77 of file list_templates.h.
Definition at line 84 of file list_templates.h.
void ogdf::removeTrailingWhitespace | ( | string & | str | ) |
Removes trailing space, horizontal and vertical tab, feed, newline, and carriage return from str
.
|
inline |
Calls (possibly destructive) func
for each element of container
.
"Destructive" means that the current iterator of container
may be deleted during the processing of func
. It works by saving the successor of the current element before calling func
.
Definition at line 49 of file list_templates.h.
|
inline |
Like ogdf::safeForEach() but aborts if func
returns false
.
func
returns false, true if the whole container
was processed Definition at line 64 of file list_templates.h.
Definition at line 557 of file graphics.h.
|
extern |
Set to true iff debug mode is used during compilation of the OGDF.
|
extern |
|
static |