Open
Graph Drawing
Framework

 v.2015.05
 

ogdf::RadialTreeLayout Class Reference

The radial tree layout algorithm. More...

#include <ogdf/tree/RadialTreeLayout.h>

+ Inheritance diagram for ogdf::RadialTreeLayout:

Classes

struct  Group
 
class  Grouping
 

Public Types

enum  RootSelectionType { rootIsSource, rootIsSink, rootIsCenter }
 Selection strategies for root of the tree. More...
 

Public Member Functions

 RadialTreeLayout ()
 Creates an instance of radial tree layout and sets options to default values. More...
 
 RadialTreeLayout (const RadialTreeLayout &tl)
 Copy constructor. More...
 
 ~RadialTreeLayout ()
 
void call (GraphAttributes &GA)
 Calls the algorithm for graph attributes GA. More...
 
double connectedComponentDistance () const
 Returns the option connectedComponentDistance. More...
 
void connectedComponentDistance (double x)
 Sets the option connectedComponentDistance to x. More...
 
const NodeArray< double > & diameter () const
 
const NodeArray< double > & leaves () const
 
double levelDistance () const
 Returns the option levelDistance. More...
 
void levelDistance (double x)
 Sets the option levelDistance to x. More...
 
RadialTreeLayoutoperator= (const RadialTreeLayout &tl)
 Assignment operator. More...
 
RootSelectionType rootSelection () const
 Returns the option rootSelection. More...
 
void rootSelection (RootSelectionType sel)
 Sets the option rootSelection to sel. More...
 
- Public Member Functions inherited from ogdf::LayoutModule
 LayoutModule ()
 Initializes a layout module. More...
 
virtual ~LayoutModule ()
 
virtual void call (GraphAttributes &GA, GraphConstraints &GC)
 Computes a layout of graph GA wrt the constraints in GC (if applicable). More...
 
void operator() (GraphAttributes &GA)
 Computes a layout of graph GA. More...
 

Private Member Functions

void ComputeAngles (const Graph &G)
 
void ComputeCoordinates (GraphAttributes &AG)
 
void ComputeDiameters (GraphAttributes &AG)
 
void ComputeGrouping (int i)
 
void ComputeLevels (const Graph &G)
 
void FindRoot (const Graph &G)
 

Private Attributes

NodeArray< double > m_angle
 The angle of node center (for placement). More...
 
double m_connectedComponentDistance
 The minimal distance between trees. More...
 
NodeArray< double > m_diameter
 The diameter of a circle bounding a node. More...
 
NodeArray< Groupingm_grouping
 
NodeArray< double > m_leaves
 The weighted number of leaves in subtree. More...
 
NodeArray< int > m_level
 The level of a node. More...
 
double m_levelDistance
 The minimal distance between levels. More...
 
Array< SListPure< node > > m_nodes
 The nodes at a level. More...
 
int m_numLevels
 The number of levels (root is on level 0). More...
 
double m_outerRadius
 The radius of circle bounding the drawing. More...
 
NodeArray< nodem_parent
 The parent of a node (0 if root). More...
 
Array< double > m_radius
 The width of a level. More...
 
node m_root
 The root of the tree. More...
 
RootSelectionType m_selectRoot
 Specifies how to determine the root. More...
 
NodeArray< double > m_wedge
 The wedge reserved for subtree. More...
 
Array< double > m_width
 The width of a circle. More...
 

Detailed Description

The radial tree layout algorithm.

Optional parameters

Radial tree layout provides the following optional parameters.

OptionTypeDefaultDescription
levelDistancedouble50.0 The minimal vertical distance required between levels.
connectedComponentDistancedouble50.0 The minimal horizontal distance required between trees in the forest.
rootSelectionRootSelectionType rootIsCenter Specifies how to select the root of the tree.

Definition at line 82 of file RadialTreeLayout.h.

Member Enumeration Documentation

Selection strategies for root of the tree.

Enumerator
rootIsSource 

Select a source in the graph.

rootIsSink 

Select a sink in the graph.

rootIsCenter 

Select the center of the tree.

Definition at line 86 of file RadialTreeLayout.h.

Constructor & Destructor Documentation

ogdf::RadialTreeLayout::RadialTreeLayout ( )

Creates an instance of radial tree layout and sets options to default values.

ogdf::RadialTreeLayout::RadialTreeLayout ( const RadialTreeLayout tl)

Copy constructor.

ogdf::RadialTreeLayout::~RadialTreeLayout ( )

Member Function Documentation

void ogdf::RadialTreeLayout::call ( GraphAttributes GA)
virtual

Calls the algorithm for graph attributes GA.

The algorithm preserve the order of children which is given by the adjacency lists.

Precondition
The graph is a tree.
Parameters
GArepresents the input graph and is assigned the computed layout.

Implements ogdf::LayoutModule.

void ogdf::RadialTreeLayout::ComputeAngles ( const Graph G)
private
void ogdf::RadialTreeLayout::ComputeCoordinates ( GraphAttributes AG)
private
void ogdf::RadialTreeLayout::ComputeDiameters ( GraphAttributes AG)
private
void ogdf::RadialTreeLayout::ComputeGrouping ( int  i)
private
void ogdf::RadialTreeLayout::ComputeLevels ( const Graph G)
private
double ogdf::RadialTreeLayout::connectedComponentDistance ( ) const
inline

Returns the option connectedComponentDistance.

Definition at line 195 of file RadialTreeLayout.h.

void ogdf::RadialTreeLayout::connectedComponentDistance ( double  x)
inline

Sets the option connectedComponentDistance to x.

Definition at line 198 of file RadialTreeLayout.h.

const NodeArray<double>& ogdf::RadialTreeLayout::diameter ( ) const
inline

Definition at line 208 of file RadialTreeLayout.h.

void ogdf::RadialTreeLayout::FindRoot ( const Graph G)
private
const NodeArray<double>& ogdf::RadialTreeLayout::leaves ( ) const
inline

Definition at line 209 of file RadialTreeLayout.h.

double ogdf::RadialTreeLayout::levelDistance ( ) const
inline

Returns the option levelDistance.

Definition at line 186 of file RadialTreeLayout.h.

void ogdf::RadialTreeLayout::levelDistance ( double  x)
inline

Sets the option levelDistance to x.

Definition at line 189 of file RadialTreeLayout.h.

RadialTreeLayout& ogdf::RadialTreeLayout::operator= ( const RadialTreeLayout tl)

Assignment operator.

RootSelectionType ogdf::RadialTreeLayout::rootSelection ( ) const
inline

Returns the option rootSelection.

Definition at line 203 of file RadialTreeLayout.h.

void ogdf::RadialTreeLayout::rootSelection ( RootSelectionType  sel)
inline

Sets the option rootSelection to sel.

Definition at line 206 of file RadialTreeLayout.h.

Member Data Documentation

NodeArray<double> ogdf::RadialTreeLayout::m_angle
private

The angle of node center (for placement).

Definition at line 106 of file RadialTreeLayout.h.

double ogdf::RadialTreeLayout::m_connectedComponentDistance
private

The minimal distance between trees.

Definition at line 94 of file RadialTreeLayout.h.

NodeArray<double> ogdf::RadialTreeLayout::m_diameter
private

The diameter of a circle bounding a node.

Definition at line 109 of file RadialTreeLayout.h.

NodeArray<Grouping> ogdf::RadialTreeLayout::m_grouping
private

Definition at line 156 of file RadialTreeLayout.h.

NodeArray<double> ogdf::RadialTreeLayout::m_leaves
private

The weighted number of leaves in subtree.

Definition at line 103 of file RadialTreeLayout.h.

NodeArray<int> ogdf::RadialTreeLayout::m_level
private

The level of a node.

Definition at line 101 of file RadialTreeLayout.h.

double ogdf::RadialTreeLayout::m_levelDistance
private

The minimal distance between levels.

Definition at line 93 of file RadialTreeLayout.h.

Array<SListPure<node> > ogdf::RadialTreeLayout::m_nodes
private

The nodes at a level.

Definition at line 104 of file RadialTreeLayout.h.

int ogdf::RadialTreeLayout::m_numLevels
private

The number of levels (root is on level 0).

Definition at line 100 of file RadialTreeLayout.h.

double ogdf::RadialTreeLayout::m_outerRadius
private

The radius of circle bounding the drawing.

Definition at line 113 of file RadialTreeLayout.h.

NodeArray<node> ogdf::RadialTreeLayout::m_parent
private

The parent of a node (0 if root).

Definition at line 102 of file RadialTreeLayout.h.

Array<double> ogdf::RadialTreeLayout::m_radius
private

The width of a level.

Definition at line 112 of file RadialTreeLayout.h.

node ogdf::RadialTreeLayout::m_root
private

The root of the tree.

Definition at line 98 of file RadialTreeLayout.h.

RootSelectionType ogdf::RadialTreeLayout::m_selectRoot
private

Specifies how to determine the root.

Definition at line 96 of file RadialTreeLayout.h.

NodeArray<double> ogdf::RadialTreeLayout::m_wedge
private

The wedge reserved for subtree.

Definition at line 107 of file RadialTreeLayout.h.

Array<double> ogdf::RadialTreeLayout::m_width
private

The width of a circle.

Definition at line 110 of file RadialTreeLayout.h.


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