Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
CircularLayout.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Array.h>
35#include <ogdf/basic/Graph.h>
37#include <ogdf/basic/basic.h>
38
39namespace ogdf {
40
41class GraphAttributes;
42struct ClusterStructure;
43
45
77public:
80
81 // destructor
83
90 virtual void call(GraphAttributes& GA) override;
91
98 double minDistCircle() const { return m_minDistCircle; }
99
101 void minDistCircle(double x) { m_minDistCircle = x; }
102
104 double minDistLevel() const { return m_minDistLevel; }
105
107 void minDistLevel(double x) { m_minDistLevel = x; }
108
110 double minDistSibling() const { return m_minDistSibling; }
111
113 void minDistSibling(double x) { m_minDistSibling = x; }
114
116 double minDistCC() const { return m_minDistCC; }
117
119 void minDistCC(double x) { m_minDistCC = x; }
120
122 double pageRatio() const { return m_pageRatio; }
123
125 void pageRatio(double x) { m_pageRatio = x; }
126
128
129private:
133 double m_minDistCC;
134 double m_pageRatio;
135
136 void doCall(GraphAttributes& AG, ClusterStructure& C);
137
138 void assignClustersByBiconnectedComponents(ClusterStructure& C);
139
140 int sizeBC(node vB);
141
142 void computePreferedAngles(ClusterStructure& C, const Array<double>& outerRadius,
143 Array<double>& preferedAngle);
144
145 void assignPrefAngle(ClusterStructure& C, const Array<double>& outerRadius,
146 Array<double>& preferedAngle, int c, double r1);
147};
148
149}
Declaration and implementation of Array class and Array algorithms.
Includes declaration of graph class.
Declaration of interface for layout algorithms (class LayoutModule)
Basic declarations, included by all source files.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:219
The circular layout algorithm.
double minDistSibling() const
Returns the option minDistSibling.
void doCall(GraphAttributes &AG, ClusterStructure &C)
CircularLayout()
Creates an instance of circular layout.
void minDistCC(double x)
Sets the option minDistCC to x.
void assignPrefAngle(ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle, int c, double r1)
double minDistCircle() const
Returns the option minDistCircle.
double m_minDistLevel
The minimal distance between father and child circle.
void pageRatio(double x)
Sets the option pageRatio to x.
double m_minDistCircle
The minimal distance between nodes on a circle.
void computePreferedAngles(ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle)
virtual void call(GraphAttributes &GA) override
Computes a circular layout for graph attributes GA.
void minDistCircle(double x)
Sets the option minDistCircle to x.
double m_minDistSibling
The minimal distance between circles on same level.
void minDistSibling(double x)
Sets the option minDistSibling to x.
void assignClustersByBiconnectedComponents(ClusterStructure &C)
double minDistLevel() const
Returns the option minDistLevel.
double pageRatio() const
Returns the option pageRatio.
double m_pageRatio
The page ratio used for packing connected components.
double m_minDistCC
The minimal distance between connected components.
double minDistCC() const
Returns the option minDistCC.
int sizeBC(node vB)
void minDistLevel(double x)
Sets the option minDistLevel to x.
Stores additional attributes of a graph (like layout information).
Interface of general layout algorithms.
Class for the representation of nodes.
Definition Graph_d.h:241
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
The namespace for all OGDF objects.