Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PlanarizationGridLayout.h
Go to the documentation of this file.
1 
32 #pragma once
33 
37 
38 #include <memory>
39 
40 namespace ogdf {
41 
93 public:
96 
98 
110  double pageRatio() const { return m_pageRatio; }
111 
113  void pageRatio(double ratio) { m_pageRatio = ratio; }
114 
120  void setCrossMin(CrossingMinimizationModule* pCrossMin) { m_crossMin.reset(pCrossMin); }
122 
134  m_planarLayouter.reset(pPlanarLayouter);
135  }
136 
144  void setPacker(CCLayoutPackModule* pPacker) { m_packer.reset(pPacker); }
145 
151  int numberOfCrossings() const { return m_nCrossings; }
153 
155 
156 protected:
157  virtual void doCall(const Graph& G, GridLayout& gridLayout, IPoint& boundingBox) override;
158 
159 
160 private:
162  std::unique_ptr<CrossingMinimizationModule> m_crossMin;
163 
165  std::unique_ptr<GridLayoutPlanRepModule> m_planarLayouter;
166 
168  std::unique_ptr<CCLayoutPackModule> m_packer;
169 
170  double m_pageRatio;
171 
173 };
174 
175 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanarizationGridLayout::m_packer
std::unique_ptr< CCLayoutPackModule > m_packer
The module for arranging connected components.
Definition: PlanarizationGridLayout.h:168
ogdf::PlanarizationGridLayout
The planarization grid layout algorithm.
Definition: PlanarizationGridLayout.h:92
ogdf::CrossingMinimizationModule
Base class for crossing minimization algorithms.
Definition: CrossingMinimizationModule.h:41
CrossingMinimizationModule.h
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
ogdf::PlanarizationGridLayout::m_planarLayouter
std::unique_ptr< GridLayoutPlanRepModule > m_planarLayouter
The module for computing a planar grid layout.
Definition: PlanarizationGridLayout.h:165
ogdf::PlanarizationGridLayout::pageRatio
double pageRatio() const
Returns the current setting of option pageRatio.
Definition: PlanarizationGridLayout.h:110
ogdf::CCLayoutPackModule
Base class of algorithms that arrange/pack layouts of connected components.
Definition: CCLayoutPackModule.h:46
ogdf::PlanarizationGridLayout::pageRatio
void pageRatio(double ratio)
Sets the option pageRatio to ratio.
Definition: PlanarizationGridLayout.h:113
ogdf::PlanarizationGridLayout::m_pageRatio
double m_pageRatio
The desired page ratio.
Definition: PlanarizationGridLayout.h:170
ogdf::IPoint
GenericPoint< int > IPoint
Representing a two-dimensional point with integer coordinates.
Definition: geometry.h:234
ogdf::GridLayoutPlanRepModule
Base class for grid layout algorithms operating on a PlanRep.
Definition: GridLayoutModule.h:207
ogdf::PlanarizationGridLayout::m_crossMin
std::unique_ptr< CrossingMinimizationModule > m_crossMin
The module for computing a planar subgraph.
Definition: PlanarizationGridLayout.h:162
CCLayoutPackModule.h
Declaration of interface for algorithms that arrange/pack layouts of connected components.
ogdf::PlanarizationGridLayout::setPacker
void setPacker(CCLayoutPackModule *pPacker)
Sets the module option for the arrangement of connected components.
Definition: PlanarizationGridLayout.h:144
ogdf::PlanarizationGridLayout::setPlanarLayouter
void setPlanarLayouter(GridLayoutPlanRepModule *pPlanarLayouter)
Sets the module option for the planar grid layout algorithm.
Definition: PlanarizationGridLayout.h:133
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::PlanarizationGridLayout::m_nCrossings
int m_nCrossings
The number of crossings in the computed layout.
Definition: PlanarizationGridLayout.h:172
ogdf::GridLayoutModule
Base class for grid layout algorithms.
Definition: GridLayoutModule.h:53
ogdf::PlanarizationGridLayout::~PlanarizationGridLayout
~PlanarizationGridLayout()
Definition: PlanarizationGridLayout.h:97
GridLayoutModule.h
Declaration of interface for grid layout algorithms.