Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
FixedEmbeddingInserter.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Array.h>
35#include <ogdf/basic/Graph.h>
36#include <ogdf/basic/basic.h>
38
39#include <cstdint>
40
41namespace ogdf {
42class PlanRepLight;
43enum class RemoveReinsertType;
44
55public:
58
61
64
66 virtual EdgeInsertionModule* clone() const override;
67
70
81 void removeReinsert(RemoveReinsertType rrOption) { m_rrOption = rrOption; }
82
84 RemoveReinsertType removeReinsert() const { return m_rrOption; }
85
87
91 void percentMostCrossed(double percent) { m_percentMostCrossed = percent; }
92
94 double percentMostCrossed() const { return m_percentMostCrossed; }
95
97
102 void keepEmbedding(bool keep) { m_keepEmbedding = keep; }
103
105 bool keepEmbeding() const { return m_keepEmbedding; }
106
113 int runsPostprocessing() const { return m_runsPostprocessing; }
114
116
117private:
119 virtual ReturnType doCall(PlanRepLight& pr, const Array<edge>& origEdges,
120 const EdgeArray<int>* costOrig, const EdgeArray<bool>* pForbiddenOrig,
121 const EdgeArray<uint32_t>* pEdgeSubGraphs) override;
122
126
128};
129
130}
Declaration and implementation of Array class and Array algorithms.
Declaration of interface for edge insertion algorithms.
Includes declaration of graph class.
Basic declarations, included by all source files.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:219
Interface for edge insertion algorithms.
Inserts edges optimally into an embedding.
RemoveReinsertType m_rrOption
The remove-reinsert method.
int m_runsPostprocessing
Runs of remove-reinsert method.
bool keepEmbeding() const
Returns the current setting of option keepEmbedding.
void keepEmbedding(bool keep)
Sets the option keepEmbedding to keep.
int runsPostprocessing() const
Returns the number of runs performed by the remove-reinsert method after the algorithm has been calle...
void percentMostCrossed(double percent)
Sets the option percentMostCrossed to percent.
RemoveReinsertType removeReinsert() const
Returns the current setting of the remove-reinsert postprocessing method.
FixedEmbeddingInserter & operator=(const FixedEmbeddingInserter &inserter)
Assignment operator. Copies option settings only.
virtual EdgeInsertionModule * clone() const override
Returns a new instance of the fixed embedding inserter with the same option settings.
FixedEmbeddingInserter()
Creates an instance of fixed embedding edge inserter with default settings.
double percentMostCrossed() const
Returns the current setting of option percentMostCrossed.
FixedEmbeddingInserter(const FixedEmbeddingInserter &inserter)
Creates an instance of fixed embedding edge inserter with the same settings as inserter.
void removeReinsert(RemoveReinsertType rrOption)
Sets the remove-reinsert postprocessing method.
virtual ReturnType doCall(PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *costOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs) override
Implements the algorithm call.
double m_percentMostCrossed
The portion of most crossed edges considered.
ReturnType
The return type of a module.
Definition Module.h:52
Light-weight version of a planarized representation, associated with a PlanRep.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
RemoveReinsertType
The postprocessing method for edge insertion algorithms.
The namespace for all OGDF objects.