42using embedder::CrossingStructure;
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
Declaration of class CrossingStructure.
Declaration of class StarInserter.
Base class for crossing minimization algorithms.
A dual graph including its combinatorial embedding of an embedded graph.
Dynamic arrays indexed with edges.
Copies of graphs supporting edge splitting.
ReturnType
The return type of a module.
Class for the representation of nodes.
Planarized representations (of a connected component) of a graph.
The star (re-)insertion approach for crossing minimization.
std::unique_ptr< CrossingMinimizationModule > m_planarization
The initial planarization algorithm.
int m_maxIterations
The maximum number of iterations.
bool reinsertStar(GraphCopy ¤tPlanarization, DynamicDualGraph &dualGraph, node nodeToReinsert, CrossingStructure &bestCS, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs)
Reinserts the star nodeToReinsert in currentPlanarization.
int maxIterations()
Returns the number of maxIterations.
ReturnType mainLoop(const PlanRep &pr, CrossingStructure &bestCS, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs)
Reinserts a specific set of stars until a termination criterion is met.
void maxIterations(int maxIterations)
Sets the maximum number of iterations.
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.
void setTimeout(bool b)
Sets the option setTimeout to b.
int64_t m_stopTime
When the algorithm should stop.
virtual CrossingMinimizationModule * clone() const override
Returns a new PlanarizerStarReinsertion with the same option settings.
PlanarizerStarReinsertion(const PlanarizerStarReinsertion &planarizer)
Creates a PlanarizerStarReinsertion with the same settings as planarizer.
void setPlanarization(CrossingMinimizationModule *pPlanarizationModule)
Sets the module option for the computation of the inital planarization.
PlanarizerStarReinsertion()
Creates a PlanarizerStarReinsertion with default settings.
bool m_setTimeout
Helper to insert stars.
PlanarizerStarReinsertion & operator=(const PlanarizerStarReinsertion &planarizer)
Assignment operator, copies option settings only.
bool setTimeout()
Returns the current setting of options setTimeout.
Inserts a star (a vertex and its incident edges) optimally into an embedding.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.