Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
PlanarDrawLayout.h
Go to the documentation of this file.
1
33#pragma once
34
40
41#include <memory>
42
43namespace ogdf {
44
119public:
122
124
136 bool sizeOptimization() const { return m_sizeOptimization; }
137
139 void sizeOptimization(bool opt) { m_sizeOptimization = opt; }
140
147 bool sideOptimization() const { return m_sizeOptimization; }
148
150 void sideOptimization(bool opt) { m_sizeOptimization = opt; }
151
159 double baseRatio() const { return m_baseRatio; }
160
162 void baseRatio(double ratio) { m_baseRatio = ratio; }
163
176
178 void setShellingOrder(ShellingOrderModule* pOrder) { m_computeOrder.reset(pOrder); }
179
181 void setEmbedder(EmbedderModule* pEmbedder) { m_embedder.reset(pEmbedder); }
182
184
185private:
188 double m_baseRatio;
189
190 std::unique_ptr<EmbedderModule> m_embedder;
191 std::unique_ptr<AugmentationModule> m_augmenter;
192 std::unique_ptr<ShellingOrderModule> m_computeOrder;
193
194 // computes grid layout for graph G
196 IPoint& boundingBox, bool fixEmbedding) override;
197
199 NodeArray<int>& y);
200};
201
202}
Declaration of interface for graph augmentation algorithms.
Defines ogdf::EmbedderModule.
Declaration of interface for grid layout algorithms.
Declares classes ShellingOrderSet and ShellingOrder.
Declares the base class ShellingOrderModule for modules that compute a shelling order of a graph.
Class for adjacency list elements.
Definition Graph_d.h:79
The base class for graph augmentation algorithms.
Base class for embedder algorithms.
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Representation of a graph's grid layout.
Definition GridLayout.h:46
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Implementation of the Planar-Draw layout algorithm.
void baseRatio(double ratio)
Sets the option baseRatio to ratio.
std::unique_ptr< EmbedderModule > m_embedder
The planar embedder module.
void sideOptimization(bool opt)
Sets the option sideOptimization to opt.
bool sizeOptimization() const
Returns the current setting of option sizeOptimization.
void sizeOptimization(bool opt)
Sets the option sizeOptimization to opt.
bool m_sizeOptimization
The option for allowing arbitrary slopes.
bool m_sideOptimization
The option for size optimization.
double baseRatio() const
Returns the current setting of option baseRatio.
void setAugmenter(AugmentationModule *pAugmenter)
Sets the augmentation module.
double m_baseRatio
The option for specifying the base ratio.
virtual void doCall(const Graph &G, adjEntry adjExternal, GridLayout &gridLayout, IPoint &boundingBox, bool fixEmbedding) override
Implements the algorithm call.
std::unique_ptr< ShellingOrderModule > m_computeOrder
The shelling order module.
void setEmbedder(EmbedderModule *pEmbedder)
Sets the module option for the graph embedding algorithm.
void setShellingOrder(ShellingOrderModule *pOrder)
Sets the shelling order module.
std::unique_ptr< AugmentationModule > m_augmenter
The augmentation module.
void computeCoordinates(const Graph &G, ShellingOrder &order, NodeArray< int > &x, NodeArray< int > &y)
bool sideOptimization() const
Returns the current setting of option sideOptimization.
PlanarDrawLayout()
Constructs an instance of the Planar-Draw layout algorithm.
Base class for planar grid layout algorithms.
The shelling order of a graph.
Base class for modules that compute a shelling order of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.