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 250 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 264 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 257 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 299 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 303 of file ClusterGraph.h.

Typedef Documentation

◆ adjEntry

using ogdf::adjEntry = typedef AdjElement*

The type of adjacency entries.

Definition at line 78 of file Graph_d.h.

◆ edge

using ogdf::edge = typedef EdgeElement*

The type of edges.

Definition at line 74 of file Graph_d.h.

◆ node

using ogdf::node = typedef NodeElement*

The type of nodes.

Definition at line 70 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 288 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 278 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 269 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:269
ogdf::ListIteratorBase
Encapsulates a pointer to a list element.
Definition: List.h:51
ogdf::test_forall_adj_edges_of_cluster
bool test_forall_adj_edges_of_cluster(adjEntry &adj, edge &e)
Definition: ClusterGraph.h:288