C-planarity testing via Hanani-Tutte approach.
More...
#include <ogdf/cluster/HananiTutteCPlanarity.h>
|
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
} |
|
enum class | ReturnType { Feasible
, Optimal
, NoFeasibleSolution
, TimeoutFeasible
, TimeoutInfeasible
, Error
} |
| The return type of a module. More...
|
|
|
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, the (Cluster)Graph may be arbitrarily changed after the call.
|
|
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 |
|
const Stats & | stats () const |
|
Status | status () const |
|
int64_t | timeCreateSparse () const |
|
int64_t | timePrepare () const |
|
int64_t | timesolve () const |
|
| ClusterPlanarityModule ()=default |
|
virtual | ~ClusterPlanarityModule ()=default |
|
virtual bool | clusterPlanarEmbed (ClusterGraph &CG, Graph &G) |
| Returns true, if CG is cluster-planar, false otherwise. If true, CG contains a cluster-planar embedding.
|
|
virtual bool | clusterPlanarEmbedClusterPlanarGraph (ClusterGraph &CG, Graph &G) |
| Constructs a cluster-planar embedding of CG . CG has to be cluster-planar!
|
|
| Module () |
| Initializes a module.
|
|
virtual | ~Module () |
|
C-planarity testing via Hanani-Tutte approach.
Definition at line 49 of file HananiTutteCPlanarity.h.
◆ Solver
◆ Status
Enumerator |
---|
invalid | |
emptyAfterPreproc | |
cConnectedAfterPreproc | |
nonPlanarAfterPreproc | |
applyHananiTutte | |
applyILP | |
timeoutILP | |
errorILP | |
Definition at line 73 of file HananiTutteCPlanarity.h.
◆ SubType
Enumerator |
---|
stVertex | |
stCluster | |
stEdge | |
stInnerCluster | |
stOuterCluster | |
stVertexCluster | |
stClusterCluster | |
stCrossCluster | |
Definition at line 92 of file HananiTutteCPlanarity.h.
◆ Type
◆ Verification
Enumerator |
---|
cPlanar | |
cPlanarVerified | |
nonCPlanarVerified | |
verificationFailed | |
timeout | |
Definition at line 83 of file HananiTutteCPlanarity.h.
◆ getSolver()
◆ isClusterPlanar()
bool ogdf::HananiTutteCPlanarity::isClusterPlanar |
( |
const ClusterGraph & |
CG | ) |
|
|
inlineoverridevirtual |
◆ isClusterPlanarDestructive()
bool ogdf::HananiTutteCPlanarity::isClusterPlanarDestructive |
( |
ClusterGraph & |
CG, |
|
|
Graph & |
G |
|
) |
| |
|
inlineoverridevirtual |
Returns true, if CG
is cluster-planar, false otherwise. In it is non-cluster-planar, the (Cluster)Graph may be arbitrarily changed after the call.
This variant may be slightly faster than the default isClusterPlanar
Implements ogdf::ClusterPlanarityModule.
Definition at line 114 of file HananiTutteCPlanarity.h.
◆ isCPlanar()
◆ numClustersPreproc()
int ogdf::HananiTutteCPlanarity::numClustersPreproc |
( |
| ) |
const |
|
inline |
◆ numEdgesPreproc()
int ogdf::HananiTutteCPlanarity::numEdgesPreproc |
( |
| ) |
const |
|
inline |
◆ numMatrixCols()
int ogdf::HananiTutteCPlanarity::numMatrixCols |
( |
| ) |
const |
|
inline |
◆ numMatrixRows()
int ogdf::HananiTutteCPlanarity::numMatrixRows |
( |
| ) |
const |
|
inline |
◆ numNodesPreproc()
int ogdf::HananiTutteCPlanarity::numNodesPreproc |
( |
| ) |
const |
|
inline |
◆ preprocessing()
static void ogdf::HananiTutteCPlanarity::preprocessing |
( |
ClusterGraph & |
C, |
|
|
Graph & |
G |
|
) |
| |
|
static |
◆ stats()
const Stats & ogdf::HananiTutteCPlanarity::stats |
( |
| ) |
const |
|
inline |
◆ status()
Status ogdf::HananiTutteCPlanarity::status |
( |
| ) |
const |
|
inline |
◆ timeCreateSparse()
int64_t ogdf::HananiTutteCPlanarity::timeCreateSparse |
( |
| ) |
const |
|
inline |
◆ timePrepare()
int64_t ogdf::HananiTutteCPlanarity::timePrepare |
( |
| ) |
const |
|
inline |
◆ timesolve()
int64_t ogdf::HananiTutteCPlanarity::timesolve |
( |
| ) |
const |
|
inline |
◆ m_numClustersPreproc
int ogdf::HananiTutteCPlanarity::m_numClustersPreproc = 0 |
|
private |
◆ m_numEdgesPreproc
int ogdf::HananiTutteCPlanarity::m_numEdgesPreproc = 0 |
|
private |
◆ m_numNodesPreproc
int ogdf::HananiTutteCPlanarity::m_numNodesPreproc = 0 |
|
private |
◆ m_stats
Stats ogdf::HananiTutteCPlanarity::m_stats |
|
private |
◆ m_status
The documentation for this class was generated from the following file: