The circular layout algorithm. More...
#include <ogdf/misclayout/CircularLayout.h>
Public Member Functions | |
| CircularLayout () | |
| Creates an instance of circular layout. | |
| ~CircularLayout () | |
The algorithm call | |
| void | call (GraphAttributes &GA) |
| Computes a circular layout for graph attributes GA. | |
Optional parameters | |
| double | minDistCircle () const |
| Returns the option minDistCircle. | |
| void | minDistCircle (double x) |
| Sets the option minDistCircle to x. | |
| double | minDistLevel () const |
| Returns the option minDistLevel. | |
| void | minDistLevel (double x) |
| Sets the option minDistLevel to x. | |
| double | minDistSibling () const |
| Returns the option minDistSibling. | |
| void | minDistSibling (double x) |
| Sets the option minDistSibling to x. | |
| double | minDistCC () const |
| Returns the option minDistCC. | |
| void | minDistCC (double x) |
| Sets the option minDistCC to x. | |
| double | pageRatio () const |
| Returns the option pageRatio. | |
| void | pageRatio (double x) |
| Sets the option pageRatio to x. | |
Private Member Functions | |
| void | doCall (GraphCopyAttributes &AG, ClusterStructure &C) |
| void | assignClustersByBiconnectedComponents (ClusterStructure &C) |
| int | sizeBC (node vB) |
| void | computePreferedAngles (ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle) |
| void | assignPrefAngle (ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle, int c, int l, double r1) |
Private Attributes | |
| double | m_minDistCircle |
| The minimal distance between nodes on a circle. | |
| double | m_minDistLevel |
| The minimal distance between father and child circle. | |
| double | m_minDistSibling |
| The minimal distance between circles on same level. | |
| double | m_minDistCC |
| The minimal distance between connected components. | |
| double | m_pageRatio |
| The page ratio used for packing connected components. | |
The circular layout algorithm.
The implementation used in CircularLayout is based on the following publication:
Ugur Dogrusöz, Brendan Madden, Patrick Madden: Circular Layout in the Graph Layout Toolkit. Proc. Graph Drawing 1996, LNCS 1190, pp. 92-100, 1997.
Circular layout provides the following optional parameters.
| Option | Type | Default | Description |
|---|---|---|---|
| minDistCircle | double | 20.0 | The minimal distance between nodes on a circle. |
| minDistLevel | double | 20.0 | The minimal distance between father and child circle. |
| minDistSibling | double | 10.0 | The minimal distance between circles on same level. |
| minDistCC | double | 20.0 | The minimal distance between connected components. |
| pageRatio | double | 1.0 | The page ratio used for packing connected components. |
Definition at line 101 of file CircularLayout.h.
| ogdf::CircularLayout::CircularLayout | ( | ) |
Creates an instance of circular layout.
| ogdf::CircularLayout::~CircularLayout | ( | ) | [inline] |
Definition at line 108 of file CircularLayout.h.
| void ogdf::CircularLayout::assignClustersByBiconnectedComponents | ( | ClusterStructure & | C | ) | [private] |
| void ogdf::CircularLayout::assignPrefAngle | ( | ClusterStructure & | C, | |
| const Array< double > & | outerRadius, | |||
| Array< double > & | preferedAngle, | |||
| int | c, | |||
| int | l, | |||
| double | r1 | |||
| ) | [private] |
| void ogdf::CircularLayout::call | ( | GraphAttributes & | GA | ) | [virtual] |
Computes a circular layout for graph attributes GA.
Implements ogdf::LayoutModule.
| void ogdf::CircularLayout::computePreferedAngles | ( | ClusterStructure & | C, | |
| const Array< double > & | outerRadius, | |||
| Array< double > & | preferedAngle | |||
| ) | [private] |
| void ogdf::CircularLayout::doCall | ( | GraphCopyAttributes & | AG, | |
| ClusterStructure & | C | |||
| ) | [private] |
| double ogdf::CircularLayout::minDistCC | ( | ) | const [inline] |
Returns the option minDistCC.
Definition at line 144 of file CircularLayout.h.
| void ogdf::CircularLayout::minDistCC | ( | double | x | ) | [inline] |
Sets the option minDistCC to x.
Definition at line 147 of file CircularLayout.h.
| double ogdf::CircularLayout::minDistCircle | ( | ) | const [inline] |
Returns the option minDistCircle.
Definition at line 126 of file CircularLayout.h.
| void ogdf::CircularLayout::minDistCircle | ( | double | x | ) | [inline] |
Sets the option minDistCircle to x.
Definition at line 129 of file CircularLayout.h.
| double ogdf::CircularLayout::minDistLevel | ( | ) | const [inline] |
Returns the option minDistLevel.
Definition at line 132 of file CircularLayout.h.
| void ogdf::CircularLayout::minDistLevel | ( | double | x | ) | [inline] |
Sets the option minDistLevel to x.
Definition at line 135 of file CircularLayout.h.
| void ogdf::CircularLayout::minDistSibling | ( | double | x | ) | [inline] |
Sets the option minDistSibling to x.
Definition at line 141 of file CircularLayout.h.
| double ogdf::CircularLayout::minDistSibling | ( | ) | const [inline] |
Returns the option minDistSibling.
Definition at line 138 of file CircularLayout.h.
| double ogdf::CircularLayout::pageRatio | ( | ) | const [inline] |
Returns the option pageRatio.
Definition at line 150 of file CircularLayout.h.
| void ogdf::CircularLayout::pageRatio | ( | double | x | ) | [inline] |
Sets the option pageRatio to x.
Definition at line 153 of file CircularLayout.h.
| int ogdf::CircularLayout::sizeBC | ( | node | vB | ) | [private] |
double ogdf::CircularLayout::m_minDistCC [private] |
The minimal distance between connected components.
Definition at line 161 of file CircularLayout.h.
double ogdf::CircularLayout::m_minDistCircle [private] |
The minimal distance between nodes on a circle.
Definition at line 158 of file CircularLayout.h.
double ogdf::CircularLayout::m_minDistLevel [private] |
The minimal distance between father and child circle.
Definition at line 159 of file CircularLayout.h.
double ogdf::CircularLayout::m_minDistSibling [private] |
The minimal distance between circles on same level.
Definition at line 160 of file CircularLayout.h.
double ogdf::CircularLayout::m_pageRatio [private] |
The page ratio used for packing connected components.
Definition at line 162 of file CircularLayout.h.