Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Graphs and Embeddings

This module contains classes for graphs and cluster graphs, including related data types. More...

Modules

 Containers Associated with Graphs
 Provides various classes of containers associated with graphs.
 
 Planarized Representations
 Provides specialized graph classes for representing planarized graphs.
 
 Graph Generators
 Provides various graph generator functions.
 

Classes

class  ogdf::AdjacencyOracle
 Tells you in constant time if two nodes are adjacent. More...
 
class  ogdf::ClusterGraph
 Representation of clustered graphs. More...
 
class  ogdf::ClusterGraphObserver
 Abstract base class for cluster graph observers. More...
 
class  ogdf::CombinatorialEmbedding
 Combinatorial embeddings of planar graphs with modification functionality. More...
 
class  ogdf::ConstCombinatorialEmbedding
 Combinatorial embeddings of planar graphs. More...
 
class  ogdf::DualGraphBase< isConst >
 A dual graph including its combinatorial embedding of an embedded graph. More...
 
class  ogdf::Graph
 Data type for general directed graphs (adjacency list representation). More...
 
class  ogdf::GraphCopy
 Copies of graphs supporting edge splitting. More...
 
class  ogdf::GraphCopySimple
 Copies of graphs with mapping between nodes and edges. More...
 
class  ogdf::GraphIO
 Utility class providing graph I/O in various exchange formats. More...
 
class  ogdf::GraphObserver
 Abstract Base class for graph observers. More...
 
class  ogdf::GraphReduction
 Creates a reduced graph by removing leaves, self-loops, and reducing chains. More...
 

Typedefs

using ogdf::adjEntry = AdjElement *
 The type of adjacency entries.
 
using ogdf::edge = EdgeElement *
 The type of edges.
 
using ogdf::node = NodeElement *
 The type of nodes.
 

Iteration macros

#define forall_cluster_adj(adj, c)
 Iterates over all outgoing edges (given by the outgoing adjacency entries).
 
#define forall_cluster_rev_adj(adj, c)
 Iterates over all outgoing edges (given by the outgoing adjacency entries).
 
#define forall_cluster_adj_edges(e, c)
 Iterates over all outgoing edges.
 
#define forall_clusters(c, C)   for ((c) = (C).firstCluster(); (c); (c) = (c)->succ())
 Iteration over all clusters c of cluster graph C.
 
#define forall_postOrderClusters(c, C)    for ((c) = (C).firstPostOrderCluster(); (c); (c) = (c)->pSucc())
 Iteration over all clusters c of cluster graph C (in postorder).
 
bool ogdf::test_forall_adj_entries_of_cluster (ListConstIterator< adjEntry > &it, adjEntry &adj)
 
bool ogdf::test_forall_adj_edges_of_cluster (ListConstIterator< adjEntry > &it, edge &e)
 
bool ogdf::test_forall_adj_edges_of_cluster (adjEntry &adj, edge &e)
 

Detailed Description

This module contains classes for graphs and cluster graphs, including related data types.

Macro Definition Documentation

◆ forall_cluster_adj

#define forall_cluster_adj (   adj,
 
)
Value:
ogdf::test_forall_adj_entries_of_cluster(ogdf_loop_var, (adj)); \
Encapsulates a pointer to a list element.
Definition List.h:103
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()

Iterates over all outgoing edges (given by the outgoing adjacency entries).

Definition at line 219 of file ClusterGraph.h.

◆ forall_cluster_adj_edges

#define forall_cluster_adj_edges (   e,
 
)
Value:
ogdf::test_forall_adj_edges_of_cluster(ogdf_loop_var, (e)); \

Iterates over all outgoing edges.

Definition at line 233 of file ClusterGraph.h.

◆ forall_cluster_rev_adj

#define forall_cluster_rev_adj (   adj,
 
)
Value:
ogdf::test_forall_adj_entries_of_cluster(ogdf_loop_var, (adj)); \

Iterates over all outgoing edges (given by the outgoing adjacency entries).

Definition at line 226 of file ClusterGraph.h.

◆ forall_clusters

#define forall_clusters (   c,
 
)    for ((c) = (C).firstCluster(); (c); (c) = (c)->succ())

Iteration over all clusters c of cluster graph C.

Definition at line 268 of file ClusterGraph.h.

◆ forall_postOrderClusters

#define forall_postOrderClusters (   c,
 
)     for ((c) = (C).firstPostOrderCluster(); (c); (c) = (c)->pSucc())

Iteration over all clusters c of cluster graph C (in postorder).

Definition at line 272 of file ClusterGraph.h.

Typedef Documentation

◆ adjEntry

The type of adjacency entries.

Definition at line 72 of file Graph_d.h.

◆ edge

The type of edges.

Definition at line 68 of file Graph_d.h.

◆ node

The type of nodes.

Definition at line 64 of file Graph_d.h.

Function Documentation

◆ test_forall_adj_edges_of_cluster() [1/2]

bool ogdf::test_forall_adj_edges_of_cluster ( adjEntry adj,
edge e 
)
inline

Definition at line 257 of file ClusterGraph.h.

◆ test_forall_adj_edges_of_cluster() [2/2]

bool ogdf::test_forall_adj_edges_of_cluster ( ListConstIterator< adjEntry > &  it,
edge e 
)
inline

Definition at line 247 of file ClusterGraph.h.

◆ test_forall_adj_entries_of_cluster()

bool ogdf::test_forall_adj_entries_of_cluster ( ListConstIterator< adjEntry > &  it,
adjEntry adj 
)
inline

Definition at line 238 of file ClusterGraph.h.