Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::CircularLayout Class Reference

The circular layout algorithm. More...

#include <ogdf/misclayout/CircularLayout.h>

+ Inheritance diagram for ogdf::CircularLayout:

Public Member Functions

 CircularLayout ()
 Creates an instance of circular layout. More...
 
 ~CircularLayout ()
 
The algorithm call
virtual void call (GraphAttributes &GA) override
 Computes a circular layout for graph attributes GA. More...
 
Optional parameters
double minDistCircle () const
 Returns the option minDistCircle. More...
 
void minDistCircle (double x)
 Sets the option minDistCircle to x. More...
 
double minDistLevel () const
 Returns the option minDistLevel. More...
 
void minDistLevel (double x)
 Sets the option minDistLevel to x. More...
 
double minDistSibling () const
 Returns the option minDistSibling. More...
 
void minDistSibling (double x)
 Sets the option minDistSibling to x. More...
 
double minDistCC () const
 Returns the option minDistCC. More...
 
void minDistCC (double x)
 Sets the option minDistCC to x. More...
 
double pageRatio () const
 Returns the option pageRatio. More...
 
void pageRatio (double x)
 Sets the option pageRatio to x. More...
 
- Public Member Functions inherited from ogdf::LayoutModule
 LayoutModule ()
 Initializes a layout module. More...
 
virtual ~LayoutModule ()
 
void operator() (GraphAttributes &GA)
 Computes a layout of graph GA. More...
 

Private Member Functions

void assignClustersByBiconnectedComponents (ClusterStructure &C)
 
void assignPrefAngle (ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle, int c, double r1)
 
void computePreferedAngles (ClusterStructure &C, const Array< double > &outerRadius, Array< double > &preferedAngle)
 
void doCall (GraphAttributes &AG, ClusterStructure &C)
 
int sizeBC (node vB)
 

Private Attributes

double m_minDistCC
 The minimal distance between connected components. More...
 
double m_minDistCircle
 The minimal distance between nodes on a circle. More...
 
double m_minDistLevel
 The minimal distance between father and child circle. More...
 
double m_minDistSibling
 The minimal distance between circles on same level. More...
 
double m_pageRatio
 The page ratio used for packing connected components. More...
 

Detailed Description

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.

Optional parameters

Circular layout provides the following optional parameters.

OptionTypeDefaultDescription
minDistCircledouble20.0 The minimal distance between nodes on a circle.
minDistLeveldouble20.0 The minimal distance between father and child circle.
minDistSiblingdouble10.0 The minimal distance between circles on same level.
minDistCCdouble20.0 The minimal distance between connected components.
pageRatiodouble1.0 The page ratio used for packing connected components.

Definition at line 73 of file CircularLayout.h.

Constructor & Destructor Documentation

◆ CircularLayout()

ogdf::CircularLayout::CircularLayout ( )

Creates an instance of circular layout.

◆ ~CircularLayout()

ogdf::CircularLayout::~CircularLayout ( )
inline

Definition at line 79 of file CircularLayout.h.

Member Function Documentation

◆ assignClustersByBiconnectedComponents()

void ogdf::CircularLayout::assignClustersByBiconnectedComponents ( ClusterStructure &  C)
private

◆ assignPrefAngle()

void ogdf::CircularLayout::assignPrefAngle ( ClusterStructure &  C,
const Array< double > &  outerRadius,
Array< double > &  preferedAngle,
int  c,
double  r1 
)
private

◆ call()

virtual void ogdf::CircularLayout::call ( GraphAttributes GA)
overridevirtual

Computes a circular layout for graph attributes GA.

Implements ogdf::LayoutModule.

◆ computePreferedAngles()

void ogdf::CircularLayout::computePreferedAngles ( ClusterStructure &  C,
const Array< double > &  outerRadius,
Array< double > &  preferedAngle 
)
private

◆ doCall()

void ogdf::CircularLayout::doCall ( GraphAttributes AG,
ClusterStructure &  C 
)
private

◆ minDistCC() [1/2]

double ogdf::CircularLayout::minDistCC ( ) const
inline

Returns the option minDistCC.

Definition at line 113 of file CircularLayout.h.

◆ minDistCC() [2/2]

void ogdf::CircularLayout::minDistCC ( double  x)
inline

Sets the option minDistCC to x.

Definition at line 116 of file CircularLayout.h.

◆ minDistCircle() [1/2]

double ogdf::CircularLayout::minDistCircle ( ) const
inline

Returns the option minDistCircle.

Definition at line 95 of file CircularLayout.h.

◆ minDistCircle() [2/2]

void ogdf::CircularLayout::minDistCircle ( double  x)
inline

Sets the option minDistCircle to x.

Definition at line 98 of file CircularLayout.h.

◆ minDistLevel() [1/2]

double ogdf::CircularLayout::minDistLevel ( ) const
inline

Returns the option minDistLevel.

Definition at line 101 of file CircularLayout.h.

◆ minDistLevel() [2/2]

void ogdf::CircularLayout::minDistLevel ( double  x)
inline

Sets the option minDistLevel to x.

Definition at line 104 of file CircularLayout.h.

◆ minDistSibling() [1/2]

double ogdf::CircularLayout::minDistSibling ( ) const
inline

Returns the option minDistSibling.

Definition at line 107 of file CircularLayout.h.

◆ minDistSibling() [2/2]

void ogdf::CircularLayout::minDistSibling ( double  x)
inline

Sets the option minDistSibling to x.

Definition at line 110 of file CircularLayout.h.

◆ pageRatio() [1/2]

double ogdf::CircularLayout::pageRatio ( ) const
inline

Returns the option pageRatio.

Definition at line 119 of file CircularLayout.h.

◆ pageRatio() [2/2]

void ogdf::CircularLayout::pageRatio ( double  x)
inline

Sets the option pageRatio to x.

Definition at line 122 of file CircularLayout.h.

◆ sizeBC()

int ogdf::CircularLayout::sizeBC ( node  vB)
private

Member Data Documentation

◆ m_minDistCC

double ogdf::CircularLayout::m_minDistCC
private

The minimal distance between connected components.

Definition at line 130 of file CircularLayout.h.

◆ m_minDistCircle

double ogdf::CircularLayout::m_minDistCircle
private

The minimal distance between nodes on a circle.

Definition at line 127 of file CircularLayout.h.

◆ m_minDistLevel

double ogdf::CircularLayout::m_minDistLevel
private

The minimal distance between father and child circle.

Definition at line 128 of file CircularLayout.h.

◆ m_minDistSibling

double ogdf::CircularLayout::m_minDistSibling
private

The minimal distance between circles on same level.

Definition at line 129 of file CircularLayout.h.

◆ m_pageRatio

double ogdf::CircularLayout::m_pageRatio
private

The page ratio used for packing connected components.

Definition at line 131 of file CircularLayout.h.


The documentation for this class was generated from the following file: