Open
Graph Drawing
Framework

 v.2007.11
 

ogdf::CircularLayout Class Reference

The circular layout algorithm. More...

#include <CircularLayout.h>

Inheritance diagram for ogdf::CircularLayout:

ogdf::LayoutModule

List of all members.

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.


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 99 of file CircularLayout.h.


Constructor & Destructor Documentation

ogdf::CircularLayout::CircularLayout (  ) 

Creates an instance of circular layout.

ogdf::CircularLayout::~CircularLayout (  )  [inline]

Definition at line 106 of file CircularLayout.h.


Member Function Documentation

void ogdf::CircularLayout::call ( GraphAttributes GA  )  [virtual]

Computes a circular layout for graph attributes GA.

Implements ogdf::LayoutModule.

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

Returns the option minDistCircle.

Definition at line 124 of file CircularLayout.h.

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

Sets the option minDistCircle to x.

Definition at line 127 of file CircularLayout.h.

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

Returns the option minDistLevel.

Definition at line 130 of file CircularLayout.h.

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

Sets the option minDistLevel to x.

Definition at line 133 of file CircularLayout.h.

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

Returns the option minDistSibling.

Definition at line 136 of file CircularLayout.h.

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

Sets the option minDistSibling to x.

Definition at line 139 of file CircularLayout.h.

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

Returns the option minDistCC.

Definition at line 142 of file CircularLayout.h.

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

Sets the option minDistCC to x.

Definition at line 145 of file CircularLayout.h.

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

Returns the option pageRatio.

Definition at line 148 of file CircularLayout.h.

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

Sets the option pageRatio to x.

Definition at line 151 of file CircularLayout.h.

void ogdf::CircularLayout::doCall ( GraphCopyAttributes AG,
ClusterStructure &  C 
) [private]

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

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

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

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


Member Data Documentation

double ogdf::CircularLayout::m_minDistCircle [private]

The minimal distance between nodes on a circle.

Definition at line 156 of file CircularLayout.h.

double ogdf::CircularLayout::m_minDistLevel [private]

The minimal distance between father and child circle.

Definition at line 157 of file CircularLayout.h.

double ogdf::CircularLayout::m_minDistSibling [private]

The minimal distance between circles on same level.

Definition at line 158 of file CircularLayout.h.

double ogdf::CircularLayout::m_minDistCC [private]

The minimal distance between connected components.

Definition at line 159 of file CircularLayout.h.

double ogdf::CircularLayout::m_pageRatio [private]

The page ratio used for packing connected components.

Definition at line 160 of file CircularLayout.h.


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

© 1999-2007 by oreas GmbH, © 2005-2007 by University Dortmund and University Cologne.

Generated on Thu Nov 22 19:40:12 2007 by doxygen 1.5.4.