Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

MMSubgraphPlanarizer.h
Go to the documentation of this file.
1 
32 #pragma once
33 
37 
38 #include <memory>
39 
40 namespace ogdf {
41 
48 public:
51 
53  void setSubgraph(PlanarSubgraphModule<int>* pSubgraph) { m_subgraph.reset(pSubgraph); }
54 
56  void setInserter(MMEdgeInsertionModule* pInserter) { m_inserter.reset(pInserter); }
57 
59  int permutations() { return m_permutations; }
60 
62  void permutations(int p) { m_permutations = p; }
63 
64 protected:
65  virtual ReturnType doCall(PlanRepExpansion& PG, int cc, const EdgeArray<bool>* forbid,
66  int& crossingNumber, int& numNS, int& numSN) override;
67 
68 private:
69  std::unique_ptr<PlanarSubgraphModule<int>> m_subgraph;
70  std::unique_ptr<MMEdgeInsertionModule> m_inserter;
71 
73 };
74 
75 }
MMEdgeInsertionModule.h
Declaration of interface for minor-monotone edge insertion algorithms.
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanarSubgraphModule< int >
ogdf::MMSubgraphPlanarizer
Planarization approach for minor-monotone crossing minimization.
Definition: MMSubgraphPlanarizer.h:47
ogdf::MMSubgraphPlanarizer::permutations
int permutations()
Returns the number of performed permutations in the edge insertion step.
Definition: MMSubgraphPlanarizer.h:59
ogdf::MMSubgraphPlanarizer::setInserter
void setInserter(MMEdgeInsertionModule *pInserter)
Sets the module option for minor-monotone edge insertion.
Definition: MMSubgraphPlanarizer.h:56
ogdf::PlanRepExpansion
Planarized representations (of a connected component) of a graph.
Definition: PlanRepExpansion.h:52
ogdf::MMSubgraphPlanarizer::permutations
void permutations(int p)
Sets the number of performed permutations in the edge insertion step.
Definition: MMSubgraphPlanarizer.h:62
ogdf::MMCrossingMinimizationModule
Interface for minor-monotone crossing minimization algorithms.
Definition: MMCrossingMinimizationModule.h:45
PlanarSubgraphModule.h
Declaration of interface for planar subgraph algorithms.
ogdf::MMEdgeInsertionModule
Interface for minor-monotone edge insertion algorithms.
Definition: MMEdgeInsertionModule.h:45
ogdf::MMSubgraphPlanarizer::m_inserter
std::unique_ptr< MMEdgeInsertionModule > m_inserter
The minor-monotone edge insertion module.
Definition: MMSubgraphPlanarizer.h:70
ogdf::MMSubgraphPlanarizer::m_subgraph
std::unique_ptr< PlanarSubgraphModule< int > > m_subgraph
The planar subgraph module.
Definition: MMSubgraphPlanarizer.h:69
ogdf::MMSubgraphPlanarizer::m_permutations
int m_permutations
The number of permutations.
Definition: MMSubgraphPlanarizer.h:72
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::MMSubgraphPlanarizer::setSubgraph
void setSubgraph(PlanarSubgraphModule< int > *pSubgraph)
Sets the module option for the computation of the planar subgraph.
Definition: MMSubgraphPlanarizer.h:53
MMCrossingMinimizationModule.h
Declaration of MMCrossingMinimization Module, an interface for minor-monotone crossing minimization a...
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709