#include <ogdf/upward/SubgraphUpwardPlanarizer.h>
Public Member Functions | |
| SubgraphUpwardPlanarizer () | |
| Creates an instance of subgraph planarizer. | |
| void | setSubgraph (FUPSModule *FUPS) |
| Sets the module option for the computation of the feasible upward planar subgraph. | |
| void | setInserter (UpwardEdgeInserterModule *pInserter) |
| Sets the module option for the edge insertion module. | |
| void | setAcyclicSubgraphModule (AcyclicSubgraphModule *acyclicMod) |
| Sets the module option for acyclic subgraph module. | |
| int | runs () |
| void | runs (int n) |
Protected Member Functions | |
| virtual ReturnType | doCall (UpwardPlanRep &UPR, const EdgeArray< int > &cost, const EdgeArray< bool > &forbid) |
| Computes a upward planarized representation of the input graph. | |
Protected Attributes | |
| ModuleOption< FUPSModule > | m_subgraph |
| The upward planar subgraph algorithm. | |
| ModuleOption < UpwardEdgeInserterModule > | m_inserter |
| The edge insertion module. | |
| ModuleOption < AcyclicSubgraphModule > | m_acyclicMod |
| The acyclic subgraph module. | |
| int | m_runs |
Private Member Functions | |
| void | constructComponentGraphs (BCTree &BC, NodeArray< GraphCopy > &biComps) |
| void | dfsMerge (const GraphCopy &GC, BCTree &BC, NodeArray< GraphCopy > &biComps, NodeArray< UpwardPlanRep > &uprs, UpwardPlanRep &UPR_res, node parent_BC, node current_BC, NodeArray< bool > &nodesDone) |
| traversion the BTree and merge the component to a common graph | |
| void | merge (const GraphCopy &GC, UpwardPlanRep &UPR_res, const GraphCopy &block, UpwardPlanRep &UPR) |
| add UPR to UPR_res. | |
Definition at line 62 of file SubgraphUpwardPlanarizer.h.
Creates an instance of subgraph planarizer.
Definition at line 67 of file SubgraphUpwardPlanarizer.h.
| void ogdf::SubgraphUpwardPlanarizer::constructComponentGraphs | ( | BCTree & | BC, |
| NodeArray< GraphCopy > & | biComps | ||
| ) | [private] |
| void ogdf::SubgraphUpwardPlanarizer::dfsMerge | ( | const GraphCopy & | GC, |
| BCTree & | BC, | ||
| NodeArray< GraphCopy > & | biComps, | ||
| NodeArray< UpwardPlanRep > & | uprs, | ||
| UpwardPlanRep & | UPR_res, | ||
| node | parent_BC, | ||
| node | current_BC, | ||
| NodeArray< bool > & | nodesDone | ||
| ) | [private] |
traversion the BTree and merge the component to a common graph
| virtual ReturnType ogdf::SubgraphUpwardPlanarizer::doCall | ( | UpwardPlanRep & | UPR, |
| const EdgeArray< int > & | cost, | ||
| const EdgeArray< bool > & | forbid | ||
| ) | [protected, virtual] |
Computes a upward planarized representation of the input graph.
| UPR | represents the input graph as well as the computed upward planarized representation after the call. The original graph of UPR muss be the input graph G. Crossings are replaced by dummy vertices. The UPR is finaly augmented to a st-graph. Since this augmentation, crossings dummies may not got an in- and outdegree of 2! |
| crossingNumber | is assigned the number of crossings. |
| forbid | points to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true. If forbid = 0, no edges are forbidden. |
| cost | points to an edge array that gives the cost of each edge. If cost = 0, all edges have cost 1. |
Implements ogdf::UpwardPlanarizerModule.
| void ogdf::SubgraphUpwardPlanarizer::merge | ( | const GraphCopy & | GC, |
| UpwardPlanRep & | UPR_res, | ||
| const GraphCopy & | block, | ||
| UpwardPlanRep & | UPR | ||
| ) | [private] |
add UPR to UPR_res.
| int ogdf::SubgraphUpwardPlanarizer::runs | ( | ) | [inline] |
Definition at line 91 of file SubgraphUpwardPlanarizer.h.
| void ogdf::SubgraphUpwardPlanarizer::runs | ( | int | n | ) | [inline] |
Definition at line 92 of file SubgraphUpwardPlanarizer.h.
| void ogdf::SubgraphUpwardPlanarizer::setAcyclicSubgraphModule | ( | AcyclicSubgraphModule * | acyclicMod | ) | [inline] |
Sets the module option for acyclic subgraph module.
Definition at line 87 of file SubgraphUpwardPlanarizer.h.
| void ogdf::SubgraphUpwardPlanarizer::setInserter | ( | UpwardEdgeInserterModule * | pInserter | ) | [inline] |
Sets the module option for the edge insertion module.
Definition at line 82 of file SubgraphUpwardPlanarizer.h.
| void ogdf::SubgraphUpwardPlanarizer::setSubgraph | ( | FUPSModule * | FUPS | ) | [inline] |
Sets the module option for the computation of the feasible upward planar subgraph.
Definition at line 77 of file SubgraphUpwardPlanarizer.h.
The acyclic subgraph module.
Definition at line 102 of file SubgraphUpwardPlanarizer.h.
The edge insertion module.
Definition at line 101 of file SubgraphUpwardPlanarizer.h.
int ogdf::SubgraphUpwardPlanarizer::m_runs [protected] |
Definition at line 103 of file SubgraphUpwardPlanarizer.h.
The upward planar subgraph algorithm.
Definition at line 100 of file SubgraphUpwardPlanarizer.h.