Open
Graph Drawing
Framework

 v. 2022.02 (Dogwood)
 

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 { RootSelectionType::Source, RootSelectionType::Sink, RootSelectionType::Center }
 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 ()=default
 Destructor. More...
 
virtual void call (GraphAttributes &GA) override
 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 ()
 
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 RootSelectionType::Center Specifies how to select the root of the tree.

Definition at line 63 of file RadialTreeLayout.h.

Member Enumeration Documentation

◆ RootSelectionType

Selection strategies for root of the tree.

Enumerator
Source 

Select a source in the graph.

Sink 

Select a sink in the graph.

Center 

Select the center of the tree.

Definition at line 67 of file RadialTreeLayout.h.

Constructor & Destructor Documentation

◆ RadialTreeLayout() [1/2]

ogdf::RadialTreeLayout::RadialTreeLayout ( )

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

◆ RadialTreeLayout() [2/2]

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

Copy constructor.

◆ ~RadialTreeLayout()

ogdf::RadialTreeLayout::~RadialTreeLayout ( )
default

Destructor.

Member Function Documentation

◆ call()

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

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.

◆ ComputeAngles()

void ogdf::RadialTreeLayout::ComputeAngles ( const Graph G)
private

◆ ComputeCoordinates()

void ogdf::RadialTreeLayout::ComputeCoordinates ( GraphAttributes AG)
private

◆ ComputeDiameters()

void ogdf::RadialTreeLayout::ComputeDiameters ( GraphAttributes AG)
private

◆ ComputeGrouping()

void ogdf::RadialTreeLayout::ComputeGrouping ( int  i)
private

◆ ComputeLevels()

void ogdf::RadialTreeLayout::ComputeLevels ( const Graph G)
private

◆ connectedComponentDistance() [1/2]

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

Returns the option connectedComponentDistance.

Definition at line 176 of file RadialTreeLayout.h.

◆ connectedComponentDistance() [2/2]

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

Sets the option connectedComponentDistance to x.

Definition at line 179 of file RadialTreeLayout.h.

◆ diameter()

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

Definition at line 189 of file RadialTreeLayout.h.

◆ FindRoot()

void ogdf::RadialTreeLayout::FindRoot ( const Graph G)
private

◆ leaves()

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

Definition at line 190 of file RadialTreeLayout.h.

◆ levelDistance() [1/2]

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

Returns the option levelDistance.

Definition at line 167 of file RadialTreeLayout.h.

◆ levelDistance() [2/2]

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

Sets the option levelDistance to x.

Definition at line 170 of file RadialTreeLayout.h.

◆ operator=()

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

Assignment operator.

◆ rootSelection() [1/2]

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

Returns the option rootSelection.

Definition at line 184 of file RadialTreeLayout.h.

◆ rootSelection() [2/2]

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

Sets the option rootSelection to sel.

Definition at line 187 of file RadialTreeLayout.h.

Member Data Documentation

◆ m_angle

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

The angle of node center (for placement).

Definition at line 87 of file RadialTreeLayout.h.

◆ m_connectedComponentDistance

double ogdf::RadialTreeLayout::m_connectedComponentDistance
private

The minimal distance between trees.

Definition at line 75 of file RadialTreeLayout.h.

◆ m_diameter

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

The diameter of a circle bounding a node.

Definition at line 90 of file RadialTreeLayout.h.

◆ m_grouping

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

Definition at line 137 of file RadialTreeLayout.h.

◆ m_leaves

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

The weighted number of leaves in subtree.

Definition at line 84 of file RadialTreeLayout.h.

◆ m_level

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

The level of a node.

Definition at line 82 of file RadialTreeLayout.h.

◆ m_levelDistance

double ogdf::RadialTreeLayout::m_levelDistance
private

The minimal distance between levels.

Definition at line 74 of file RadialTreeLayout.h.

◆ m_nodes

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

The nodes at a level.

Definition at line 85 of file RadialTreeLayout.h.

◆ m_numLevels

int ogdf::RadialTreeLayout::m_numLevels
private

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

Definition at line 81 of file RadialTreeLayout.h.

◆ m_outerRadius

double ogdf::RadialTreeLayout::m_outerRadius
private

The radius of circle bounding the drawing.

Definition at line 94 of file RadialTreeLayout.h.

◆ m_parent

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

The parent of a node (0 if root).

Definition at line 83 of file RadialTreeLayout.h.

◆ m_radius

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

The width of a level.

Definition at line 93 of file RadialTreeLayout.h.

◆ m_root

node ogdf::RadialTreeLayout::m_root
private

The root of the tree.

Definition at line 79 of file RadialTreeLayout.h.

◆ m_selectRoot

RootSelectionType ogdf::RadialTreeLayout::m_selectRoot
private

Specifies how to determine the root.

Definition at line 77 of file RadialTreeLayout.h.

◆ m_wedge

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

The wedge reserved for subtree.

Definition at line 88 of file RadialTreeLayout.h.

◆ m_width

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

The width of a circle.

Definition at line 91 of file RadialTreeLayout.h.


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