Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::CconnectClusterPlanar Class Reference

C-planarity test by Cohen, Feng and Eades. More...

#include <ogdf/cluster/CconnectClusterPlanar.h>

Public Types

enum  ErrorCode { ErrorCode::none = 0, ErrorCode::nonConnected = 1, ErrorCode::nonCConnected = 2, ErrorCode::nonPlanar = 3, ErrorCode::nonCPlanar = 4 }
 

Public Member Functions

 CconnectClusterPlanar ()
 Constructor. More...
 
virtual ~CconnectClusterPlanar ()
 Destructor. More...
 
virtual bool call (const ClusterGraph &C)
 Tests if a cluster graph is c-planar. More...
 
ErrorCode errCode ()
 

Private Types

using PlanarPQTree = booth_lueker::PlanarPQTree
 

Private Member Functions

void constructWheelGraph (ClusterGraph &C, Graph &G, cluster &parent, PlanarPQTree *T, EdgeArray< node > &outgoingTable)
 Constructs the replacement wheel graphs. More...
 
bool doTest (Graph &G, NodeArray< int > &numbering, const cluster cl, node superSink, EdgeArray< edge > &edgeTable)
 Performs a planarity test on a biconnected component. More...
 
bool planarityTest (ClusterGraph &C, const cluster act, Graph &G)
 Recursive planarity test for clustered graph induced by act. More...
 
bool preparation (Graph &G, const cluster C, node superSink)
 Prepares the planarity test for one cluster. More...
 
void prepareParallelEdges (Graph &G)
 
bool preProcess (ClusterGraph &C, Graph &G)
 Preprocessing that initializes data structures, used in call. More...
 

Private Attributes

ClusterArray< PlanarPQTree * > m_clusterPQTree
 
ErrorCode m_errorCode
 
EdgeArray< bool > m_isParallel
 
int m_parallelCount
 
EdgeArray< ListPure< edge > > m_parallelEdges
 

Detailed Description

C-planarity test by Cohen, Feng and Eades.

Definition at line 49 of file CconnectClusterPlanar.h.

Member Typedef Documentation

◆ PlanarPQTree

Member Enumeration Documentation

◆ ErrorCode

Enumerator
none 
nonConnected 
nonCConnected 
nonPlanar 
nonCPlanar 

Definition at line 52 of file CconnectClusterPlanar.h.

Constructor & Destructor Documentation

◆ CconnectClusterPlanar()

ogdf::CconnectClusterPlanar::CconnectClusterPlanar ( )

Constructor.

◆ ~CconnectClusterPlanar()

virtual ogdf::CconnectClusterPlanar::~CconnectClusterPlanar ( )
inlinevirtual

Destructor.

Definition at line 66 of file CconnectClusterPlanar.h.

Member Function Documentation

◆ call()

virtual bool ogdf::CconnectClusterPlanar::call ( const ClusterGraph C)
virtual

Tests if a cluster graph is c-planar.

◆ constructWheelGraph()

void ogdf::CconnectClusterPlanar::constructWheelGraph ( ClusterGraph C,
Graph G,
cluster parent,
PlanarPQTree T,
EdgeArray< node > &  outgoingTable 
)
private

Constructs the replacement wheel graphs.

◆ doTest()

bool ogdf::CconnectClusterPlanar::doTest ( Graph G,
NodeArray< int > &  numbering,
const cluster  cl,
node  superSink,
EdgeArray< edge > &  edgeTable 
)
private

Performs a planarity test on a biconnected component.

◆ errCode()

ErrorCode ogdf::CconnectClusterPlanar::errCode ( )
inline

Definition at line 60 of file CconnectClusterPlanar.h.

◆ planarityTest()

bool ogdf::CconnectClusterPlanar::planarityTest ( ClusterGraph C,
const cluster  act,
Graph G 
)
private

Recursive planarity test for clustered graph induced by act.

◆ preparation()

bool ogdf::CconnectClusterPlanar::preparation ( Graph G,
const cluster  C,
node  superSink 
)
private

Prepares the planarity test for one cluster.

◆ prepareParallelEdges()

void ogdf::CconnectClusterPlanar::prepareParallelEdges ( Graph G)
private

◆ preProcess()

bool ogdf::CconnectClusterPlanar::preProcess ( ClusterGraph C,
Graph G 
)
private

Preprocessing that initializes data structures, used in call.

Member Data Documentation

◆ m_clusterPQTree

ClusterArray<PlanarPQTree*> ogdf::CconnectClusterPlanar::m_clusterPQTree
private

Definition at line 97 of file CconnectClusterPlanar.h.

◆ m_errorCode

ErrorCode ogdf::CconnectClusterPlanar::m_errorCode
private

Definition at line 100 of file CconnectClusterPlanar.h.

◆ m_isParallel

EdgeArray<bool> ogdf::CconnectClusterPlanar::m_isParallel
private

Definition at line 96 of file CconnectClusterPlanar.h.

◆ m_parallelCount

int ogdf::CconnectClusterPlanar::m_parallelCount
private

Definition at line 98 of file CconnectClusterPlanar.h.

◆ m_parallelEdges

EdgeArray<ListPure<edge> > ogdf::CconnectClusterPlanar::m_parallelEdges
private

Definition at line 95 of file CconnectClusterPlanar.h.


The documentation for this class was generated from the following file: