Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

GridSifting.h
Go to the documentation of this file.
1 
32 #pragma once
33 
37 
38 namespace ogdf {
39 
53 public:
61  int nRepeats() { return m_nRepeats; }
62 
64  void nRepeats(int num) { m_nRepeats = num; }
65 
68  int& nCrossings) {
69  BlockOrder* pBlockOrder = new BlockOrder(H, true);
70  pBlockOrder->globalSifting(sugi.runs(), m_nRepeats, &nCrossings);
71 
72  return pBlockOrder;
73  }
74 
75 private:
76  int m_nRepeats = 10;
77 };
78 
93 public:
100  int& nCrossings) override {
101  BlockOrder* pBlockOrder = new BlockOrder(H, false);
103  pBlockOrder->gridSifting(sugi.runs());
104 
105  return pBlockOrder;
106  }
107 
115 
118 
119 private:
121 };
122 
123 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
BlockOrder.h
Declaration of BlockOrder and related classes.
ogdf::GlobalSifting::nRepeats
int nRepeats()
Returns the current setting of option nRepeats.
Definition: GridSifting.h:61
ogdf::GlobalSifting::reduceCrossings
const HierarchyLevelsBase * reduceCrossings(const SugiyamaLayout &sugi, Hierarchy &H, int &nCrossings)
Implementation of interface LateredCrossMinModule.
Definition: GridSifting.h:67
ogdf::BlockOrder::globalSifting
void globalSifting(int rho=1, int nRepeats=10, int *pNumCrossings=nullptr)
Calls the global sifting algorithm on graph (its hierarchy).
ogdf::GridSifting::reduceCrossings
const HierarchyLevelsBase * reduceCrossings(const SugiyamaLayout &sugi, Hierarchy &H, int &nCrossings) override
Calls the actual crossing minimization algorithm.
Definition: GridSifting.h:99
ogdf::Hierarchy
Representation of proper hierarchies used by Sugiyama-layout.
Definition: Hierarchy.h:43
ogdf::SugiyamaLayout::runs
int runs() const
Returns the current setting of option runs.
Definition: SugiyamaLayout.h:266
ogdf::HierarchyLevelsBase
Definition: CrossingMinInterfaces.h:61
ogdf::GlobalSifting::m_nRepeats
int m_nRepeats
Definition: GridSifting.h:76
ogdf::GridSifting::verticalStepsBound
int verticalStepsBound()
Returns the current setting of option verticalStepsBound.
Definition: GridSifting.h:114
ogdf::GridSifting::verticalStepsBound
void verticalStepsBound(int b)
Sets the option verticalStepsBound to b.
Definition: GridSifting.h:117
LayeredCrossMinModule.h
Declaration of interface for two-layer crossing minimization algorithms.
ogdf::GridSifting
The grid sifting heuristic for crossing minimization.
Definition: GridSifting.h:92
ogdf::GridSifting::m_verticalStepsBound
int m_verticalStepsBound
Definition: GridSifting.h:120
ogdf::GlobalSifting::nRepeats
void nRepeats(int num)
Sets the option nRepeats to num.
Definition: GridSifting.h:64
ogdf::SugiyamaLayout
Sugiyama's layout algorithm.
Definition: SugiyamaLayout.h:160
ogdf::BlockOrder::m_verticalStepsBound
int m_verticalStepsBound
Definition: BlockOrder.h:304
ogdf::BlockOrder
Hierarchical graph representation used by GlobalSifting and GridSifting algorithms.
Definition: BlockOrder.h:122
ogdf::LayeredCrossMinModule
Interface of crossing minimization algorithms for layered graphs.
Definition: LayeredCrossMinModule.h:54
ogdf::GlobalSifting
The global sifting heuristic for crossing minimization.
Definition: GridSifting.h:52
SugiyamaLayout.h
Declaration of Sugiyama algorithm.
ogdf::BlockOrder::gridSifting
void gridSifting(int nRepeats=10)
Calls the grid sifting algorithm on a graph (its hierarchy).