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: