Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

CconnectClusterPlanar.h
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include <ogdf/basic/EdgeArray.h>
39 
40 namespace ogdf {
41 
43 
47 public:
48  //aus CCCPE oder CCCP wieder entfernen
49  enum class ErrorCode {
50  none = 0,
51  nonConnected = 1,
52  nonCConnected = 2,
53  nonPlanar = 3,
54  nonCPlanar = 4
55  };
56 
57  ErrorCode errCode() { return m_errorCode; }
58 
61 
63  virtual ~CconnectClusterPlanar() { }
64 
66  virtual bool call(const ClusterGraph& C);
67 
68 private:
70 
72  bool planarityTest(ClusterGraph& C, const cluster act, Graph& G);
73 
75  bool preProcess(ClusterGraph& C, Graph& G);
76 
78  bool preparation(Graph& G, const cluster C, node superSink);
79 
81  bool doTest(Graph& G, NodeArray<int>& numbering, const cluster cl, node superSink,
82  EdgeArray<edge>& edgeTable);
83 
84  void prepareParallelEdges(Graph& G);
85 
87  void constructWheelGraph(ClusterGraph& C, Graph& G, cluster& parent, PlanarPQTree* T,
88  EdgeArray<node>& outgoingTable);
89 
90 
91  //private Members for handling parallel edges
96 
98 };
99 
101 public:
102  bool isClusterPlanar(const ClusterGraph& CG) override;
103  bool isClusterPlanarDestructive(ClusterGraph& CG, Graph& G) override;
104  bool clusterPlanarEmbed(ClusterGraph& CG, Graph& G) override;
105  bool clusterPlanarEmbedClusterPlanarGraph(ClusterGraph& CG, Graph& G) override;
106 };
107 
108 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ClusterPlanarityModule.h
Declaration of ClusterPlanarityModule which implements a cluster-planarity test and,...
ogdf::CconnectClusterPlanarityModule
Definition: CconnectClusterPlanar.h:100
ogdf::ClusterArrayBase
RegisteredArray for labeling the clusters of a ClusterGraph.
Definition: ClusterGraph.h:304
ogdf::CconnectClusterPlanar::m_parallelEdges
EdgeArray< ListPure< edge > > m_parallelEdges
Definition: CconnectClusterPlanar.h:92
ogdf::CconnectClusterPlanar
C-planarity test by Cohen, Feng and Eades.
Definition: CconnectClusterPlanar.h:46
ogdf::booth_lueker::PlanarPQTree
Definition: PlanarPQTree.h:43
ogdf::ClusterElement
Representation of clusters in a clustered graph.
Definition: ClusterGraph.h:55
EdgeArray.h
Declaration and implementation of EdgeArray class.
ClusterArray.h
Declaration and implementation of ClusterArray class.
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
ogdf::CconnectClusterPlanar::m_errorCode
ErrorCode m_errorCode
Definition: CconnectClusterPlanar.h:97
ogdf::CconnectClusterPlanar::errCode
ErrorCode errCode()
Definition: CconnectClusterPlanar.h:57
PlanarPQTree.h
Declaration of class PlanarPQTree.
ogdf::CconnectClusterPlanar::~CconnectClusterPlanar
virtual ~CconnectClusterPlanar()
Destructor.
Definition: CconnectClusterPlanar.h:63
ogdf::CconnectClusterPlanar::m_parallelCount
int m_parallelCount
Definition: CconnectClusterPlanar.h:95
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::CconnectClusterPlanar::m_isParallel
EdgeArray< bool > m_isParallel
Definition: CconnectClusterPlanar.h:93
ogdf::CconnectClusterPlanar::m_clusterPQTree
ClusterArray< PlanarPQTree * > m_clusterPQTree
Definition: CconnectClusterPlanar.h:94
ogdf::CconnectClusterPlanar::ErrorCode
ErrorCode
Definition: CconnectClusterPlanar.h:49
ogdf::ClusterGraph
Representation of clustered graphs.
Definition: ClusterGraph.h:339
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::ClusterPlanarityModule
Definition: ClusterPlanarityModule.h:41
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709