Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PlanarizerStarReinsertion.h
Go to the documentation of this file.
1 
32 #pragma once
33 
37 
38 #include <memory>
39 
40 namespace ogdf {
41 
42 using embedder::CrossingStructure;
43 
45 
99 private:
101  std::unique_ptr<CrossingMinimizationModule> m_planarization;
102 
104 
106 
108 
109  int64_t m_stopTime;
110 
128  bool reinsertStar(GraphCopy& currentPlanarization, DynamicDualGraph& dualGraph,
129  node nodeToReinsert, CrossingStructure& bestCS, const EdgeArray<int>* pCostOrig,
130  const EdgeArray<bool>* pForbiddenOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs);
131 
133 
147  ReturnType mainLoop(const PlanRep& pr, CrossingStructure& bestCS, const EdgeArray<int>* pCostOrig,
148  const EdgeArray<bool>* pForbiddenOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs);
149 
150 protected:
152 
156  virtual ReturnType doCall(PlanRep& pr, int cc, const EdgeArray<int>* pCostOrig,
157  const EdgeArray<bool>* pForbiddenOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs,
158  int& crossingNumber) override;
159 
160 public:
163 
166 
168  virtual CrossingMinimizationModule* clone() const override;
169 
171  PlanarizerStarReinsertion& operator=(const PlanarizerStarReinsertion& planarizer);
172 
174  void setPlanarization(CrossingMinimizationModule* pPlanarizationModule) {
175  m_planarization.reset(pPlanarizationModule);
176  }
177 
180 
182  bool setTimeout() { return m_setTimeout; }
183 
185  void setTimeout(bool b) { m_setTimeout = b; }
186 
188  int maxIterations() { return m_maxIterations; }
189 
191 
202  void maxIterations(int maxIterations) { m_maxIterations = maxIterations; }
203 
205 };
206 
207 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanRep
Planarized representations (of a connected component) of a graph.
Definition: PlanRep.h:57
ogdf::embedder::CrossingStructure
Definition: CrossingStructure.h:39
ogdf::PlanarizerStarReinsertion::m_setTimeout
bool m_setTimeout
Helper to insert stars.
Definition: PlanarizerStarReinsertion.h:105
ogdf::CrossingMinimizationModule
Base class for crossing minimization algorithms.
Definition: CrossingMinimizationModule.h:41
ogdf::DualGraphBase
A dual graph including its combinatorial embedding of an embedded graph.
Definition: DualGraph.h:42
CrossingMinimizationModule.h
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
ogdf::PlanarizerStarReinsertion::m_inserter
StarInserter m_inserter
Definition: PlanarizerStarReinsertion.h:103
ogdf::GraphCopy
Copies of graphs supporting edge splitting.
Definition: GraphCopy.h:384
ogdf::PlanarizerStarReinsertion::m_planarization
std::unique_ptr< CrossingMinimizationModule > m_planarization
The initial planarization algorithm.
Definition: PlanarizerStarReinsertion.h:101
ogdf::StarInserter
Definition: StarInserter.h:230
ogdf::PlanarizerStarReinsertion::m_stopTime
int64_t m_stopTime
When the algorithm should stop.
Definition: PlanarizerStarReinsertion.h:109
ogdf::PlanarizerStarReinsertion::setPlanarization
void setPlanarization(CrossingMinimizationModule *pPlanarizationModule)
Sets the module option for the computation of the inital planarization.
Definition: PlanarizerStarReinsertion.h:174
ogdf::PlanarizerStarReinsertion::maxIterations
int maxIterations()
Returns the number of maxIterations.
Definition: PlanarizerStarReinsertion.h:188
ogdf::PlanarizerStarReinsertion::setTimeout
bool setTimeout()
Returns the current setting of options setTimeout.
Definition: PlanarizerStarReinsertion.h:182
ogdf::PlanarizerStarReinsertion::setTimeout
void setTimeout(bool b)
Sets the option setTimeout to b.
Definition: PlanarizerStarReinsertion.h:185
ogdf::PlanarizerStarReinsertion::m_maxIterations
int m_maxIterations
The maximum number of iterations.
Definition: PlanarizerStarReinsertion.h:107
ogdf::PlanarizerStarReinsertion::maxIterations
void maxIterations(int maxIterations)
Sets the maximum number of iterations.
Definition: PlanarizerStarReinsertion.h:202
CrossingStructure.h
Declaration of class CrossingStructure.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::PlanarizerStarReinsertion
The star (re-)insertion approach for crossing minimization.
Definition: PlanarizerStarReinsertion.h:98
StarInserter.h
Declaration of class StarInserter.
ogdf::Module::ReturnType
ReturnType
The return type of a module.
Definition: Module.h:50
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709