Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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 
41 namespace ogdf {
42 class CrossingsMatrix;
43 class HierarchyLevels;
44 class Level;
45 
47 
51 public:
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 
75 private:
78 
79  void recCall(Level&, int low, int high);
80 };
81 
82 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::SplitHeuristic::SplitHeuristic
SplitHeuristic()
Creates a new instance of the split heuristic.
Definition: SplitHeuristic.h:53
Graph.h
Includes declaration of graph class.
ogdf::CrossingsMatrix
Implements crossings matrix which is used by some TwoLayerCrossingMinimization heuristics (e....
Definition: CrossingsMatrix.h:48
ogdf::SplitHeuristic
The split heuristic for 2-layer crossing minimization.
Definition: SplitHeuristic.h:50
ogdf::SplitHeuristic::SplitHeuristic
SplitHeuristic(const SplitHeuristic &crossMin)
Creates a new instance of the split heuristic.
Definition: SplitHeuristic.h:56
ogdf::SplitHeuristic::m_buffer
Array< node > m_buffer
Definition: SplitHeuristic.h:77
ogdf::Array< node >
ogdf::SplitHeuristic::m_cm
CrossingsMatrix * m_cm
Definition: SplitHeuristic.h:76
TwoLayerCrossMinSimDraw.h
Declaration of interface for two-layer crossing minimization algorithms for Simultaneous Drawing.
ogdf::graphics::init
void init()
Definition: graphics.h:450
ogdf::SplitHeuristic::clone
TwoLayerCrossMinSimDraw * clone() const override
Returns a new instance of the splitheurisitc with the same option settings.
Definition: SplitHeuristic.h:61
basic.h
Basic declarations, included by all source files.
ogdf::SplitHeuristic::~SplitHeuristic
~SplitHeuristic()
Definition: SplitHeuristic.h:58
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
Array.h
Declaration and implementation of Array class and Array algorithms.
ogdf::Level
Representation of levels in hierarchies.
Definition: Level.h:66
ogdf::TwoLayerCrossMinSimDraw
Definition: TwoLayerCrossMinSimDraw.h:44
ogdf::HierarchyLevels
Representation of proper hierarchies used by Sugiyama-layout.
Definition: HierarchyLevels.h:51
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716