Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
SplitHeuristic.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 CrossingsMatrix;
43class HierarchyLevels;
44class Level;
45
47
51public:
53 SplitHeuristic() : m_cm(nullptr) { }
54
56 SplitHeuristic(const SplitHeuristic& crossMin) : m_cm(nullptr) { }
57
58 ~SplitHeuristic() { cleanup(); }
59
61 TwoLayerCrossMinSimDraw* clone() const override { return new SplitHeuristic(*this); }
62
64 void init(const HierarchyLevels& levels) override;
65
67 void call(Level& L) override;
68
70 void call(Level& L, const EdgeArray<uint32_t>* edgeSubGraphs) override;
71
73 void cleanup() override;
74
75private:
78
79 void recCall(Level&, int low, int high);
80};
81
82}
Declaration and implementation of Array class and Array algorithms.
Includes declaration of graph class.
Declaration of interface for two-layer crossing minimization algorithms for Simultaneous Drawing.
Basic declarations, included by all source files.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:219
Implements crossings matrix which is used by some TwoLayerCrossingMinimization heuristics (e....
Representation of proper hierarchies used by Sugiyama-layout.
Representation of levels in hierarchies.
Definition Level.h:66
The split heuristic for 2-layer crossing minimization.
void recCall(Level &, int low, int high)
SplitHeuristic()
Creates a new instance of the split heuristic.
void init(const HierarchyLevels &levels) override
Initializes crossing minimization for hierarchy H.
void call(Level &L) override
Calls the split heuristic for level L.
Array< node > m_buffer
CrossingsMatrix * m_cm
SplitHeuristic(const SplitHeuristic &crossMin)
Creates a new instance of the split heuristic.
void cleanup() override
Does some clean-up after calls.
TwoLayerCrossMinSimDraw * clone() const override
Returns a new instance of the splitheurisitc with the same option settings.
void call(Level &L, const EdgeArray< uint32_t > *edgeSubGraphs) override
Calls the median heuristic for level L (simultaneous drawing).
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
The namespace for all OGDF objects.