Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
PlanarizerMixedInsertion.h
Go to the documentation of this file.
1
32#pragma once
33
36
37namespace ogdf {
38
70protected:
72
77 int& crossingNumber) override;
78 // (The algorithm may still work when pr is not simple and the checking
79 // assertion is removed as long as only edge insertion is used.)
80
81public:
85 Random,
86 HigherDegree,
87 LowerDegree,
88 HigherNonPlanarDegree,
90 LowerNonPlanarDegree,
92 BothEndpoints
93 };
94
97
100
102 virtual CrossingMinimizationModule* clone() const override;
103
106
109
111 NodeSelectionMethod nodeSelectionMethod() { return m_nodeSelectionMethod; }
112
114 void nodeSelectionMethod(NodeSelectionMethod method) { m_nodeSelectionMethod = method; }
115
116private:
118 std::unique_ptr<PlanarSubgraphModule<int>> m_subgraph;
119
122};
123
124}
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
Declaration of interface for planar subgraph algorithms.
Base class for crossing minimization algorithms.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
ReturnType
The return type of a module.
Definition Module.h:50
Planarized representations (of a connected component) of a graph.
Definition PlanRep.h:57
Interface for planar subgraph algorithms.
Computes a planar subgraph of the graph and then re-inserts each original node that is incident to at...
NodeSelectionMethod nodeSelectionMethod()
Returns the used method of selecting nodes to reinsert.
void nodeSelectionMethod(NodeSelectionMethod method)
Sets the used method of selecting nodes to reinsert.
void setSubgraph(PlanarSubgraphModule< int > *pSubgraph)
Sets the module option for the computation of the planar subgraph.
PlanarizerMixedInsertion & operator=(const PlanarizerMixedInsertion &planarizer)
Assignment operator, copies option settings only.
PlanarizerMixedInsertion(const PlanarizerMixedInsertion &planarizer)
Creates a PlanarizerMixedInsertion with the same settings as planarizer.
virtual CrossingMinimizationModule * clone() const override
Returns a new PlanarizerMixedInsertion with the same option settings.
PlanarizerMixedInsertion()
Creates a PlanarizerMixedInsertion with default settings.
std::unique_ptr< PlanarSubgraphModule< int > > m_subgraph
< The planar subgraph algorithm.
NodeSelectionMethod
Determines the node(s) of each deleted edge e which will be reinserted if neither of them is a cut ve...
virtual ReturnType doCall(PlanRep &pr, int cc, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs, int &crossingNumber) override
Implements the algorithm call.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.