Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ClusterPlanarizationLayout.h
Go to the documentation of this file.
1
33#pragma once
34
37
38#include <memory>
39
40namespace ogdf {
41
43
82public:
85
88
90
97 bool simpleCConnect = true);
99
107 EdgeArray<double>& edgeWeight, bool simpleCConnect = true);
108
110 double pageRatio() const { return m_pageRatio; }
111
113 void pageRatio(double ratio) { m_pageRatio = ratio; }
114
119
121 void setPacker(CCLayoutPackModule* pPacker) { m_packer.reset(pPacker); }
122
123#if 0
125 int numberOfCrossings() const {
126 return m_nCrossings;
127 }
128#endif
129
130
131protected:
133 double m_minx, m_maxx, m_miny, m_maxy, m_width, m_height;
134 };
135
138
139
140private:
141 std::unique_ptr<LayoutClusterPlanRepModule> m_planarLayouter;
142 std::unique_ptr<CCLayoutPackModule> m_packer;
143
144 double m_pageRatio;
145
147};
148
149}
Declaration of interface for algorithms that arrange/pack layouts of connected components.
Declaration of interface for planar layout algorithms for UML diagrams (used in planarization approac...
Base class of algorithms that arrange/pack layouts of connected components.
Stores additional attributes of a clustered graph (like layout information).
Representation of clustered graphs.
Planarized representations for clustered graphs.
The cluster planarization layout algorithm.
virtual void call(Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, bool simpleCConnect=true)
Calls cluster planarization layout with cluster-graph attributes acGraph.
double pageRatio() const
Returns the current page ratio (= desired width / height of layout).
std::unique_ptr< CCLayoutPackModule > m_packer
The packing algorithm.
void computeClusterPositions(ClusterPlanRep &CP, Layout drawing, HashArray< int, ClusterPosition > &CA)
void setPacker(CCLayoutPackModule *pPacker)
Sets the module option for the arrangement of connected components to pPacker.
int m_nCrossings
The number of crossings (not yet used!).
void setPlanarLayouter(LayoutClusterPlanRepModule *pPlanarLayouter)
Sets the module option for the planar layout algorithm to pPlanarLayouter.
void pageRatio(double ratio)
Sets the page ratio to ratio.
std::unique_ptr< LayoutClusterPlanRepModule > m_planarLayouter
The planar layouter.
ClusterPlanarizationLayout()
Creates an instance of cluster planarization layout.
virtual void call(Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, EdgeArray< double > &edgeWeight, bool simpleCConnect=true)
Calls cluster planarization layout with cluster-graph attributes acGraph.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Indexed arrays using hashing for element access.
Definition HashArray.h:93
Interface for planar cluster layout algorithms.
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Definition Layout.h:46
#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.