Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ClusterGraph.h File Reference

Derived class of GraphObserver providing additional functionality to handle clustered graphs. More...

#include <ogdf/basic/Graph.h>
#include <ogdf/basic/GraphObserver.h>
#include <ogdf/basic/Observer.h>
#include <ogdf/basic/RegisteredArray.h>
#include <ogdf/basic/SList.h>
#include <memory>

Go to the source code of this file.

Classes

class  ogdf::ClusterArrayBase< Value, WithDefault >
 RegisteredArray for labeling the clusters of a ClusterGraph. More...
 
class  ogdf::ClusterArrayBase< Value, WithDefault >
 RegisteredArray for labeling the clusters of a ClusterGraph. More...
 
class  ogdf::ClusterElement
 Representation of clusters in a clustered graph. More...
 
class  ogdf::ClusterGraph
 Representation of clustered graphs. More...
 
class  ogdf::ClusterGraphObserver
 Abstract base class for cluster graph observers. More...
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 

Macros

#define OGDF_DECL_REG_ARRAY_TYPE(v, c)   ClusterArrayBase<v, c>
 

Typedefs

using ogdf::cluster = ClusterElement *
 The type of clusters. More...
 
template<typename Value , bool WithDefault = true>
using ogdf::ClusterArray = ClusterArrayBase< Value, WithDefault >
 
template<typename Value >
using ogdf::ClusterArrayP = ClusterArray< std::unique_ptr< Value >, false >
 Shorthand for ClusterArray storing std::unique_ptr<Value>. More...
 
using ogdf::ClusterGraphRegistry = RegistryBase< cluster, ClusterGraph, internal::GraphIterator< cluster > >
 

Functions

std::ostream & ogdf::operator<< (std::ostream &os, cluster c)
 
void ogdf::planarizeClusterBorderCrossings (const ClusterGraph &CG, Graph &G, EdgeArray< List< std::pair< adjEntry, cluster >>> *subdivisions, const std::function< edge(edge)> &translate)
 Turn cluster borders into cycles of edges and cluster-border-edge-crossings into vertices. More...
 
Iteration macros
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)
 

Iteration macros

#define forall_cluster_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_cluster_rev_adj(adj, c)
 Iterates over all outgoing edges (given by the outgoing adjacency entries). 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_edges_of_cluster (adjEntry &adj, edge &e)
 
bool ogdf::test_forall_adj_edges_of_cluster (ListConstIterator< adjEntry > &it, edge &e)
 
bool ogdf::test_forall_adj_entries_of_cluster (ListConstIterator< adjEntry > &it, adjEntry &adj)
 

Detailed Description

Derived class of GraphObserver providing additional functionality to handle clustered graphs.

Author
Sebastian Leipert, Karsten Klein
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file ClusterGraph.h.

Macro Definition Documentation

◆ OGDF_DECL_REG_ARRAY_TYPE

#define OGDF_DECL_REG_ARRAY_TYPE (   v,
 
)    ClusterArrayBase<v, c>

Definition at line 306 of file ClusterGraph.h.