Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

SiftingHeuristic.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/basic.h>
36 
37 namespace ogdf {
38 class CrossingsMatrix;
39 class HierarchyLevels;
40 class Level;
41 
43 
47 public:
50 
52  SiftingHeuristic(const SiftingHeuristic& crossMin);
53 
55 
57  virtual LayerByLayerSweep* clone() const override { return new SiftingHeuristic(*this); }
58 
60  enum class Strategy { LeftToRight, DescDegree, Random };
61 
63  virtual void init(const HierarchyLevels& levels) override;
64 
66  virtual void call(Level& L) override;
67 
69  virtual void cleanup() override;
70 
72  Strategy strategy() const { return m_strategy; }
73 
79  void strategy(Strategy strategy) { m_strategy = strategy; }
80 
81 private:
84 };
85 
86 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::CrossingsMatrix
Implements crossings matrix which is used by some TwoLayerCrossingMinimization heuristics (e....
Definition: CrossingsMatrix.h:48
ogdf::SiftingHeuristic::Strategy
Strategy
Enumerates the different sifting strategies.
Definition: SiftingHeuristic.h:60
ogdf::SiftingHeuristic
The sifting heuristic for 2-layer crossing minimization.
Definition: SiftingHeuristic.h:46
ogdf::SiftingHeuristic::m_crossingMatrix
CrossingsMatrix * m_crossingMatrix
Definition: SiftingHeuristic.h:82
ogdf::SiftingHeuristic::strategy
Strategy strategy() const
Get for Strategy.
Definition: SiftingHeuristic.h:72
LayerByLayerSweep.h
Declaration of interface for two-layer crossing minimization algorithms.
ogdf::SiftingHeuristic::strategy
void strategy(Strategy strategy)
Set for Strategy.
Definition: SiftingHeuristic.h:79
ogdf::SiftingHeuristic::m_strategy
Strategy m_strategy
Definition: SiftingHeuristic.h:83
ogdf::graphics::init
void init()
Definition: graphics.h:450
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::SiftingHeuristic::clone
virtual LayerByLayerSweep * clone() const override
Returns a new instance of the sifting heuristic with the same option settings.
Definition: SiftingHeuristic.h:57
ogdf::Level
Representation of levels in hierarchies.
Definition: Level.h:66
ogdf::LayerByLayerSweep
Interface of two-layer crossing minimization algorithms.
Definition: LayerByLayerSweep.h:61
ogdf::HierarchyLevels
Representation of proper hierarchies used by Sugiyama-layout.
Definition: HierarchyLevels.h:51