Planarization approach for minor-monotone crossing minimization. More...
#include <ogdf/planarity/MMSubgraphPlanarizer.h>
Public Member Functions | |
MMSubgraphPlanarizer () | |
Creates a subgraph planarizer for minor-monotone crossing minimization. | |
int | permutations () |
Returns the number of performed permutations in the edge insertion step. | |
void | permutations (int p) |
Sets the number of performed permutations in the edge insertion step. | |
void | setInserter (MMEdgeInsertionModule *pInserter) |
Sets the module option for minor-monotone edge insertion. | |
void | setSubgraph (PlanarSubgraphModule< int > *pSubgraph) |
Sets the module option for the computation of the planar subgraph. | |
Public Member Functions inherited from ogdf::MMCrossingMinimizationModule | |
MMCrossingMinimizationModule () | |
Initializes a minor-monotone crossing minimization module. | |
virtual | ~MMCrossingMinimizationModule () |
ReturnType | call (const Graph &G, const List< node > &splittableNodes, int &cr, const EdgeArray< bool > *forbid=nullptr) |
Performs minor-monotone crossing minimization on G for given splittable nodes. | |
ReturnType | call (const Graph &G, int &cr, const EdgeArray< bool > *forbid=nullptr) |
Performs minor-monotone crossing minimization on G . | |
ReturnType | call (PlanRepExpansion &PG, int cc, int &crossingNumber, const EdgeArray< bool > *forbid=nullptr) |
Computes a planarized representation of an expansion of the input graph. | |
int | numberOfNodeSplits () const |
Returns the number of required node splits after the call. | |
int | numberOfSplittedNodes () const |
Public Member Functions inherited from ogdf::Module | |
Module () | |
Initializes a module. | |
virtual | ~Module () |
Protected Member Functions | |
virtual ReturnType | doCall (PlanRepExpansion &PG, int cc, const EdgeArray< bool > *forbid, int &crossingNumber, int &numNS, int &numSN) override |
Actual algorithm call that needs to be implemented by derived classed. | |
Private Attributes | |
std::unique_ptr< MMEdgeInsertionModule > | m_inserter |
The minor-monotone edge insertion module. | |
int | m_permutations |
The number of permutations. | |
std::unique_ptr< PlanarSubgraphModule< int > > | m_subgraph |
The planar subgraph module. | |
Additional Inherited Members | |
Public Types inherited from ogdf::Module | |
enum class | ReturnType { Feasible , Optimal , NoFeasibleSolution , TimeoutFeasible , TimeoutInfeasible , Error } |
The return type of a module. More... | |
Static Public Member Functions inherited from ogdf::Module | |
static bool | isSolution (ReturnType ret) |
Returns true iff ret indicates that the module returned a feasible solution. | |
Planarization approach for minor-monotone crossing minimization.
Definition at line 47 of file MMSubgraphPlanarizer.h.
ogdf::MMSubgraphPlanarizer::MMSubgraphPlanarizer | ( | ) |
Creates a subgraph planarizer for minor-monotone crossing minimization.
|
overrideprotectedvirtual |
Actual algorithm call that needs to be implemented by derived classed.
PG | represents the input graph as well as the computed planarized expansion after the call. PG is initialized as a PlanRepExpansion of the input graph and needs to be modified to obatain the planarized representation (crossings are replaced by dummy vertices with degree four). |
cc | is the number of the connected component in PG that is considered. |
forbid | points to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true. |
crossingNumber | needs to be assigned the number of crossings. |
numNS | needs to be assigned the required number of node splits. |
numSN | needs to be assigned the number of splitted nodes. |
Implements ogdf::MMCrossingMinimizationModule.
|
inline |
Returns the number of performed permutations in the edge insertion step.
Definition at line 59 of file MMSubgraphPlanarizer.h.
Sets the number of performed permutations in the edge insertion step.
Definition at line 62 of file MMSubgraphPlanarizer.h.
|
inline |
Sets the module option for minor-monotone edge insertion.
Definition at line 56 of file MMSubgraphPlanarizer.h.
|
inline |
Sets the module option for the computation of the planar subgraph.
Definition at line 53 of file MMSubgraphPlanarizer.h.
|
private |
The minor-monotone edge insertion module.
Definition at line 70 of file MMSubgraphPlanarizer.h.
|
private |
The number of permutations.
Definition at line 72 of file MMSubgraphPlanarizer.h.
|
private |
The planar subgraph module.
Definition at line 69 of file MMSubgraphPlanarizer.h.