Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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. More...
 
using ogdf::edge = EdgeElement *
 The type of edges. More...
 
using ogdf::node = NodeElement *
 The type of nodes. More...
 

Iteration macros

#define forall_cluster_adj(adj, c)
 Iterates over all outgoing edges (given by the outgoing adjacency entries). More...
 
#define forall_cluster_rev_adj(adj, c)
 Iterates over all outgoing edges (given by the outgoing adjacency entries). More...
 
#define forall_cluster_adj_edges(e, c)
 Iterates over all outgoing edges. More...
 
#define forall_clusters(c, C)   for ((c) = (C).firstCluster(); (c); (c) = (c)->succ())
 Iteration over all clusters c of cluster graph C. More...
 
#define forall_postOrderClusters(c, C)   for ((c) = (C).firstPostOrderCluster(); (c); (c) = (c)->pSucc())
 Iteration over all clusters c of cluster graph C (in postorder). More...
 
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:
for (ogdf::ListConstIterator<adjEntry> ogdf_loop_var = (c)->firstAdj(); \
ogdf_loop_var = ogdf_loop_var.succ())

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

Definition at line 243 of file ClusterGraph.h.

◆ forall_cluster_adj_edges

#define forall_cluster_adj_edges (   e,
 
)
Value:
for (ogdf::ListConstIterator<adjEntry> ogdf_loop_var = (c)->firstAdj(); \
ogdf_loop_var = ogdf_loop_var.succ())

Iterates over all outgoing edges.

Definition at line 257 of file ClusterGraph.h.

◆ forall_cluster_rev_adj

#define forall_cluster_rev_adj (   adj,
 
)
Value:
for (ogdf::ListConstIterator<adjEntry> ogdf_loop_var = (c)->lastAdj(); \
ogdf_loop_var = ogdf_loop_var.pred())

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

Definition at line 250 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 292 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 296 of file ClusterGraph.h.

Typedef Documentation

◆ adjEntry

using ogdf::adjEntry = typedef AdjElement*

The type of adjacency entries.

Definition at line 71 of file Graph_d.h.

◆ edge

using ogdf::edge = typedef EdgeElement*

The type of edges.

Definition at line 67 of file Graph_d.h.

◆ node

using ogdf::node = typedef NodeElement*

The type of nodes.

Definition at line 63 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 281 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 271 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 262 of file ClusterGraph.h.

ogdf::test_forall_adj_entries_of_cluster
bool test_forall_adj_entries_of_cluster(ListConstIterator< adjEntry > &it, adjEntry &adj)
Definition: ClusterGraph.h:262
ogdf::ListIteratorBase
Encapsulates a pointer to a list element.
Definition: List.h:46
ogdf::test_forall_adj_edges_of_cluster
bool test_forall_adj_edges_of_cluster(adjEntry &adj, edge &e)
Definition: ClusterGraph.h:281