Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declaration of ClusterPlanarityModule which implements a cluster-planarity test and,...
Includes declaration of graph class.
Declaration of class PlanarPQTree.
Basic declarations, included by all source files.
C-planarity test by Cohen, Feng and Eades.
bool preProcess(ClusterGraph &C, Graph &G)
Preprocessing that initializes data structures, used in call.
void constructWheelGraph(ClusterGraph &C, Graph &G, cluster &parent, PlanarPQTree *T, EdgeArray< node > &outgoingTable)
Constructs the replacement wheel graphs.
EdgeArray< ListPure< edge > > m_parallelEdges
CconnectClusterPlanar()
Constructor.
virtual bool call(const ClusterGraph &C)
Tests if a cluster graph is c-planar.
virtual ~CconnectClusterPlanar()
Destructor.
bool planarityTest(ClusterGraph &C, const cluster act, Graph &G)
Recursive planarity test for clustered graph induced by act.
bool preparation(Graph &G, const cluster C, node superSink)
Prepares the planarity test for one cluster.
ClusterArray< PlanarPQTree * > m_clusterPQTree
void prepareParallelEdges(Graph &G)
EdgeArray< bool > m_isParallel
bool doTest(Graph &G, NodeArray< int > &numbering, const cluster cl, node superSink, EdgeArray< edge > &edgeTable)
Performs a planarity test on a biconnected component.
bool clusterPlanarEmbedClusterPlanarGraph(ClusterGraph &CG, Graph &G) override
Constructs a cluster-planar embedding of CG. CG has to be cluster-planar!
bool clusterPlanarEmbed(ClusterGraph &CG, Graph &G) override
Returns true, if CG is cluster-planar, false otherwise. If true, CG contains a cluster-planar embeddi...
bool isClusterPlanar(const ClusterGraph &CG) override
Returns true, if CG is cluster-planar, false otherwise.
bool isClusterPlanarDestructive(ClusterGraph &CG, Graph &G) override
Returns true, if CG is cluster-planar, false otherwise. In it is non-cluster-planar,...
RegisteredArray for labeling the clusters of a ClusterGraph.
Representation of clusters in a clustered graph.
Representation of clustered graphs.
Data type for general directed graphs (adjacency list representation).
Class for the representation of nodes.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.