Planarization approach for minor-monotone crossing minimization. More...
#include <ogdf/planarity/MMSubgraphPlanarizer.h>
Inheritance diagram for ogdf::MMSubgraphPlanarizer: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 50 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 62 of file MMSubgraphPlanarizer.h.
|
inline |
Sets the number of performed permutations in the edge insertion step.
Definition at line 65 of file MMSubgraphPlanarizer.h.
|
inline |
Sets the module option for minor-monotone edge insertion.
Definition at line 59 of file MMSubgraphPlanarizer.h.
|
inline |
Sets the module option for the computation of the planar subgraph.
Definition at line 56 of file MMSubgraphPlanarizer.h.
|
private |
The minor-monotone edge insertion module.
Definition at line 73 of file MMSubgraphPlanarizer.h.
|
private |
The number of permutations.
Definition at line 75 of file MMSubgraphPlanarizer.h.
|
private |
The planar subgraph module.
Definition at line 72 of file MMSubgraphPlanarizer.h.