Open
Graph Drawing
Framework

 v. 2022.02 (Dogwood)
 

ogdf::HananiTutteCPlanarity Class Reference

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

#include <ogdf/cluster/HananiTutteCPlanarity.h>

Public Types

enum  Solver { Solver::HananiTutte, Solver::HananiTutteVerify, Solver::ILP }
 
enum  Status { Status::invalid, Status::emptyAfterPreproc, Status::cConnectedAfterPreproc, Status::nonPlanarAfterPreproc, Status::applyHananiTutte, Status::applyILP, Status::timeoutILP, Status::errorILP }
 
enum  SubType : uint16_t { SubType::stVertex, SubType::stCluster, SubType::stEdge, SubType::stInnerCluster, SubType::stOuterCluster, SubType::stVertexCluster, SubType::stClusterCluster, SubType::stCrossCluster }
 
enum  Type : uint16_t { Type::tVertex, Type::tEdge }
 
enum  Verification { Verification::cPlanar, Verification::cPlanarVerified, Verification::nonCPlanarVerified, Verification::verificationFailed, Verification::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 45 of file HananiTutteCPlanarity.h.

Member Enumeration Documentation

◆ Solver

Enumerator
HananiTutte 
HananiTutteVerify 
ILP 

Definition at line 52 of file HananiTutteCPlanarity.h.

◆ Status

Enumerator
invalid 
emptyAfterPreproc 
cConnectedAfterPreproc 
nonPlanarAfterPreproc 
applyHananiTutte 
applyILP 
timeoutILP 
errorILP 

Definition at line 53 of file HananiTutteCPlanarity.h.

◆ SubType

enum ogdf::HananiTutteCPlanarity::SubType : uint16_t
strong
Enumerator
stVertex 
stCluster 
stEdge 
stInnerCluster 
stOuterCluster 
stVertexCluster 
stClusterCluster 
stCrossCluster 

Definition at line 57 of file HananiTutteCPlanarity.h.

◆ Type

enum ogdf::HananiTutteCPlanarity::Type : uint16_t
strong
Enumerator
tVertex 
tEdge 

Definition at line 56 of file HananiTutteCPlanarity.h.

◆ Verification

Enumerator
cPlanar 
cPlanarVerified 
nonCPlanarVerified 
verificationFailed 
timeout 

Definition at line 54 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 67 of file HananiTutteCPlanarity.h.

◆ numEdgesPreproc()

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

Definition at line 66 of file HananiTutteCPlanarity.h.

◆ numMatrixCols()

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

Definition at line 70 of file HananiTutteCPlanarity.h.

◆ numMatrixRows()

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

Definition at line 69 of file HananiTutteCPlanarity.h.

◆ numNodesPreproc()

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

Definition at line 65 of file HananiTutteCPlanarity.h.

◆ preprocessing()

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

◆ status()

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

Definition at line 61 of file HananiTutteCPlanarity.h.

◆ timeCreateSparse()

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

Definition at line 73 of file HananiTutteCPlanarity.h.

◆ timePrepare()

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

Definition at line 72 of file HananiTutteCPlanarity.h.

◆ timesolve()

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

Definition at line 74 of file HananiTutteCPlanarity.h.

Member Data Documentation

◆ m_nCols

int ogdf::HananiTutteCPlanarity::m_nCols = 0
private

Definition at line 78 of file HananiTutteCPlanarity.h.

◆ m_nRows

int ogdf::HananiTutteCPlanarity::m_nRows = 0
private

Definition at line 77 of file HananiTutteCPlanarity.h.

◆ m_numClustersPreproc

int ogdf::HananiTutteCPlanarity::m_numClustersPreproc = 0
private

Definition at line 86 of file HananiTutteCPlanarity.h.

◆ m_numEdgesPreproc

int ogdf::HananiTutteCPlanarity::m_numEdgesPreproc = 0
private

Definition at line 85 of file HananiTutteCPlanarity.h.

◆ m_numNodesPreproc

int ogdf::HananiTutteCPlanarity::m_numNodesPreproc = 0
private

Definition at line 84 of file HananiTutteCPlanarity.h.

◆ m_status

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

Definition at line 83 of file HananiTutteCPlanarity.h.

◆ m_tCreateSparse

int64_t ogdf::HananiTutteCPlanarity::m_tCreateSparse = 0
private

Definition at line 80 of file HananiTutteCPlanarity.h.

◆ m_tPrepare

int64_t ogdf::HananiTutteCPlanarity::m_tPrepare = 0
private

Definition at line 79 of file HananiTutteCPlanarity.h.

◆ m_tSolve

int64_t ogdf::HananiTutteCPlanarity::m_tSolve = 0
private

Definition at line 81 of file HananiTutteCPlanarity.h.


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