Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

MMSubgraphPlanarizer.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/basic.h>
39 
40 #include <memory>
41 
42 namespace ogdf {
43 class PlanRepExpansion;
44 
51 public:
54 
56  void setSubgraph(PlanarSubgraphModule<int>* pSubgraph) { m_subgraph.reset(pSubgraph); }
57 
59  void setInserter(MMEdgeInsertionModule* pInserter) { m_inserter.reset(pInserter); }
60 
62  int permutations() { return m_permutations; }
63 
65  void permutations(int p) { m_permutations = p; }
66 
67 protected:
68  virtual ReturnType doCall(PlanRepExpansion& PG, int cc, const EdgeArray<bool>* forbid,
69  int& crossingNumber, int& numNS, int& numSN) override;
70 
71 private:
72  std::unique_ptr<PlanarSubgraphModule<int>> m_subgraph;
73  std::unique_ptr<MMEdgeInsertionModule> m_inserter;
74 
76 };
77 
78 }
MMEdgeInsertionModule.h
Declaration of interface for minor-monotone edge insertion algorithms.
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::PlanarSubgraphModule< int >
Graph.h
Includes declaration of graph class.
ogdf::MMSubgraphPlanarizer
Planarization approach for minor-monotone crossing minimization.
Definition: MMSubgraphPlanarizer.h:50
ogdf::MMSubgraphPlanarizer::permutations
int permutations()
Returns the number of performed permutations in the edge insertion step.
Definition: MMSubgraphPlanarizer.h:62
ogdf::MMSubgraphPlanarizer::setInserter
void setInserter(MMEdgeInsertionModule *pInserter)
Sets the module option for minor-monotone edge insertion.
Definition: MMSubgraphPlanarizer.h:59
ogdf::PlanRepExpansion
Planarized representations (of a connected component) of a graph.
Definition: PlanRepExpansion.h:58
ogdf::MMSubgraphPlanarizer::permutations
void permutations(int p)
Sets the number of performed permutations in the edge insertion step.
Definition: MMSubgraphPlanarizer.h:65
ogdf::MMCrossingMinimizationModule
Interface for minor-monotone crossing minimization algorithms.
Definition: MMCrossingMinimizationModule.h:49
PlanarSubgraphModule.h
Declaration of interface for planar subgraph algorithms.
ogdf::MMEdgeInsertionModule
Interface for minor-monotone edge insertion algorithms.
Definition: MMEdgeInsertionModule.h:50
ogdf::MMSubgraphPlanarizer::m_inserter
std::unique_ptr< MMEdgeInsertionModule > m_inserter
The minor-monotone edge insertion module.
Definition: MMSubgraphPlanarizer.h:73
ogdf::MMSubgraphPlanarizer::m_subgraph
std::unique_ptr< PlanarSubgraphModule< int > > m_subgraph
The planar subgraph module.
Definition: MMSubgraphPlanarizer.h:72
ogdf::MMSubgraphPlanarizer::m_permutations
int m_permutations
The number of permutations.
Definition: MMSubgraphPlanarizer.h:75
basic.h
Basic declarations, included by all source files.
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:56
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:716