Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::HananiTutteCPlanarity Class Reference

C-planarity testing via Hanani-Tutte approach. More...

#include <ogdf/cluster/HananiTutteCPlanarity.h>

Public Types

enum class  Solver { HananiTutte , HananiTutteVerify , ILP }
 
enum class  Status { invalid , emptyAfterPreproc , cConnectedAfterPreproc , nonPlanarAfterPreproc , applyHananiTutte , applyILP , timeoutILP , errorILP }
 
enum class  SubType : uint16_t { stVertex , stCluster , stEdge , stInnerCluster , stOuterCluster , stVertexCluster , stClusterCluster , stCrossCluster }
 
enum class  Type : uint16_t { tVertex , tEdge }
 
enum class  Verification { cPlanar , cPlanarVerified , nonCPlanarVerified , verificationFailed , timeout }
 

Public Member Functions

Verification isCPlanar (const ClusterGraph &C, bool doPreproc=true, bool forceSolver=false, Solver solver=Solver::HananiTutte)
 
int numClustersPreproc () const
 
int numEdgesPreproc () const
 
int numMatrixCols () const
 
int numMatrixRows () const
 
int numNodesPreproc () const
 
void preprocessing (ClusterGraph &C, Graph &G)
 
Status status () const
 
int64_t timeCreateSparse () const
 
int64_t timePrepare () const
 
int64_t timesolve () const
 

Private Attributes

int m_nCols = 0
 
int m_nRows = 0
 
int m_numClustersPreproc = 0
 
int m_numEdgesPreproc = 0
 
int m_numNodesPreproc = 0
 
Status m_status = Status::invalid
 
int64_t m_tCreateSparse = 0
 
int64_t m_tPrepare = 0
 
int64_t m_tSolve = 0
 

Detailed Description

C-planarity testing via Hanani-Tutte approach.

Definition at line 44 of file HananiTutteCPlanarity.h.

Member Enumeration Documentation

◆ Solver

Enumerator
HananiTutte 
HananiTutteVerify 
ILP 

Definition at line 49 of file HananiTutteCPlanarity.h.

◆ Status

Enumerator
invalid 
emptyAfterPreproc 
cConnectedAfterPreproc 
nonPlanarAfterPreproc 
applyHananiTutte 
applyILP 
timeoutILP 
errorILP 

Definition at line 50 of file HananiTutteCPlanarity.h.

◆ SubType

Enumerator
stVertex 
stCluster 
stEdge 
stInnerCluster 
stOuterCluster 
stVertexCluster 
stClusterCluster 
stCrossCluster 

Definition at line 69 of file HananiTutteCPlanarity.h.

◆ Type

Enumerator
tVertex 
tEdge 

Definition at line 68 of file HananiTutteCPlanarity.h.

◆ Verification

Enumerator
cPlanar 
cPlanarVerified 
nonCPlanarVerified 
verificationFailed 
timeout 

Definition at line 60 of file HananiTutteCPlanarity.h.

Member Function Documentation

◆ isCPlanar()

Verification ogdf::HananiTutteCPlanarity::isCPlanar ( const ClusterGraph C,
bool  doPreproc = true,
bool  forceSolver = false,
Solver  solver = Solver::HananiTutte 
)

◆ numClustersPreproc()

int ogdf::HananiTutteCPlanarity::numClustersPreproc ( ) const
inline

Definition at line 91 of file HananiTutteCPlanarity.h.

◆ numEdgesPreproc()

int ogdf::HananiTutteCPlanarity::numEdgesPreproc ( ) const
inline

Definition at line 89 of file HananiTutteCPlanarity.h.

◆ numMatrixCols()

int ogdf::HananiTutteCPlanarity::numMatrixCols ( ) const
inline

Definition at line 95 of file HananiTutteCPlanarity.h.

◆ numMatrixRows()

int ogdf::HananiTutteCPlanarity::numMatrixRows ( ) const
inline

Definition at line 93 of file HananiTutteCPlanarity.h.

◆ numNodesPreproc()

int ogdf::HananiTutteCPlanarity::numNodesPreproc ( ) const
inline

Definition at line 87 of file HananiTutteCPlanarity.h.

◆ preprocessing()

void ogdf::HananiTutteCPlanarity::preprocessing ( ClusterGraph C,
Graph G 
)

◆ status()

Status ogdf::HananiTutteCPlanarity::status ( ) const
inline

Definition at line 83 of file HananiTutteCPlanarity.h.

◆ timeCreateSparse()

int64_t ogdf::HananiTutteCPlanarity::timeCreateSparse ( ) const
inline

Definition at line 99 of file HananiTutteCPlanarity.h.

◆ timePrepare()

int64_t ogdf::HananiTutteCPlanarity::timePrepare ( ) const
inline

Definition at line 97 of file HananiTutteCPlanarity.h.

◆ timesolve()

int64_t ogdf::HananiTutteCPlanarity::timesolve ( ) const
inline

Definition at line 101 of file HananiTutteCPlanarity.h.

Member Data Documentation

◆ m_nCols

int ogdf::HananiTutteCPlanarity::m_nCols = 0
private

Definition at line 105 of file HananiTutteCPlanarity.h.

◆ m_nRows

int ogdf::HananiTutteCPlanarity::m_nRows = 0
private

Definition at line 104 of file HananiTutteCPlanarity.h.

◆ m_numClustersPreproc

int ogdf::HananiTutteCPlanarity::m_numClustersPreproc = 0
private

Definition at line 113 of file HananiTutteCPlanarity.h.

◆ m_numEdgesPreproc

int ogdf::HananiTutteCPlanarity::m_numEdgesPreproc = 0
private

Definition at line 112 of file HananiTutteCPlanarity.h.

◆ m_numNodesPreproc

int ogdf::HananiTutteCPlanarity::m_numNodesPreproc = 0
private

Definition at line 111 of file HananiTutteCPlanarity.h.

◆ m_status

Status ogdf::HananiTutteCPlanarity::m_status = Status::invalid
private

Definition at line 110 of file HananiTutteCPlanarity.h.

◆ m_tCreateSparse

int64_t ogdf::HananiTutteCPlanarity::m_tCreateSparse = 0
private

Definition at line 107 of file HananiTutteCPlanarity.h.

◆ m_tPrepare

int64_t ogdf::HananiTutteCPlanarity::m_tPrepare = 0
private

Definition at line 106 of file HananiTutteCPlanarity.h.

◆ m_tSolve

int64_t ogdf::HananiTutteCPlanarity::m_tSolve = 0
private

Definition at line 108 of file HananiTutteCPlanarity.h.


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