Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.