Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::NodeRespecterLayout Class Reference

The NodeRespecterLayout layout algorithm. More...

#include <ogdf/energybased/NodeRespecterLayout.h>

+ Inheritance diagram for ogdf::NodeRespecterLayout:

Public Types

enum class  PostProcessingMode { None , KeepMultiEdgeBends , Complete }
 Sets whether unnecessary edge bends should be filtered out in a post-processing step. More...
 

Public Member Functions

 NodeRespecterLayout ()
 Creates an instance of the NodeRespecterLayout.
 
 ~NodeRespecterLayout ()
 Destroys an instance of the NodeRespecterLayout.
 
virtual void call (GraphAttributes &attr) override
 Calls the layout algorithm for the GraphAttributes attr.
 
Setters for Algorithm Parameters
void setRandomInitialPlacement (bool randomInitialPlacement)
 Sets m_randomInitialPlacement to randomInitialPlacement.
 
void setPostProcessing (PostProcessingMode postProcessing)
 Sets m_postProcessing to postProcessing.
 
void setBendNormalizationAngle (double bendNormalizationAngle)
 Sets m_bendNormalizationAngle to bendNormalizationAngle in [0...Pi].
 
void setNumberOfIterations (int numberOfIterations)
 Sets m_numberOfIterations to numberOfIterations >= 0.
 
void setMinimalTemperature (double minimalTemperature)
 Sets m_minimalTemperature to minimalTemperature >= 0.
 
void setInitialTemperature (double initialTemperature)
 Sets m_initialTemperature to initialTemperature > m_minimalTemperature.
 
void setTemperatureDecreaseOffset (double temperatureDecreaseOffset)
 Sets m_temperatureDecreaseOffset to temperatureDecreaseOffset in [0...1].
 
void setGravitation (double gravitation)
 Sets m_gravitation to gravitation >= 0.
 
void setOscillationAngle (double oscillationAngle)
 Sets m_oscillationAngle to oscillationAngle in [0...Pi].
 
void setDesiredMinEdgeLength (double desiredMinEdgeLength)
 Sets m_desiredMinEdgeLength to desiredMinEdgeLength > 0.
 
void setInitDummiesPerEdge (int initDummiesPerEdge)
 Sets m_initDummiesPerEdge to initDummiesPerEdge >= 0.
 
void setMaxDummiesPerEdge (int maxDummiesPerEdge)
 Sets m_maxDummiesPerEdge to maxDummiesPerEdge > m_initDummiesPerEdge.
 
void setDummyInsertionThreshold (double dummyInsertionThreshold)
 Sets m_dummyInsertionThreshold to dummyInsertionThreshold >= 1.
 
void setMaxDisturbance (double maxDisturbance)
 Sets m_maxDisturbance to maxDisturbance >= 0.
 
void setRepulsionDistance (double repulsionDistance)
 Sets m_repulsionDistance to repulsionDistance >= 0.
 
void setMinDistCC (double minDistCC)
 Sets m_minDistCC to minDistCC >= 0.
 
void setPageRatio (double pageRatio)
 Sets m_pageRatio to pageRatio > 0.
 
Getters for Algorithm Parameters
bool getRandomInitialPlacement () const
 Returns m_randomInitialPlacement.
 
PostProcessingMode getPostProcessing () const
 Returns m_postProcessing.
 
double getBendNormalizationAngle () const
 Returns m_bendNormalizationAngle.
 
int getNumberOfIterations () const
 Returns m_numberOfIterations.
 
double getMinimalTemperature () const
 Returns m_minimalTemperature.
 
double getInitialTemperature () const
 Returns m_initialTemperature.
 
double getTemperatureDecreaseOffset () const
 Returns m_temperatureDecreaseOffset.
 
double getGravitation () const
 Returns m_gravitation.
 
double getOscillationAngle () const
 Returns m_oscillationAngle.
 
double getDesiredMinEdgeLength () const
 Returns m_desiredMinEdgeLength.
 
int getInitDummiesPerEdge () const
 Returns m_initDummiesPerEdge.
 
int getMaxDummiesPerEdge () const
 Returns m_maxDummiesPerEdge.
 
double getDummyInsertionThreshold () const
 Returns m_dummyInsertionThreshold.
 
double getMaxDisturbance () const
 Returns m_maxDisturbance.
 
double getRepulsionDistance () const
 Returns m_repulsionDistance.
 
double getMinDistCC () const
 Returns m_minDistCC.
 
double getPageRatio () const
 Returns m_pageRatio.
 
- Public Member Functions inherited from ogdf::LayoutModule
 LayoutModule ()
 Initializes a layout module.
 
virtual ~LayoutModule ()
 
void operator() (GraphAttributes &GA)
 Computes a layout of graph GA.
 

Private Member Functions

void addDummies (node v, SListPure< node > &nodes)
 Adds dummy nodes to incident edges of v if they are too long.
 
std::pair< double, doublecomputeImpulse (node v)
 Returns the new impulse for node v.
 
void createBends (const ArrayBuffer< edge > &origEdges, GraphAttributes &attr)
 Creates bends in attr at the coordinates of dummy nodes in copy.
 
void freeData ()
 Frees all graph data used by the algorithm.
 
bool haveSameOriginalEdge (node v, node w) const
 Returns whether v and w belong to the same original edge. If only one of the nodes is a dummy node, returns whether its original edge is incident to the other node. If none of the nodes is a dummy node, returns false.
 
void initData ()
 Initializes all graph data used by the algorithm.
 
double radius (const GraphAttributes &attr, node v) const
 Returns the radius of the smallest circle surrounding the shape of v (while still having its center at the position of v).
 
void updateNode (node v, std::pair< double, double > newImpulse)
 Updates the node data for node v using newImpulse as the x- and y-coordinate of the new impulse onto v.
 
void updateNodeLoop (SListPure< node > &nodes)
 Computes new impulses and updates positions for random permutations of nodes until m_numberOfIterations iterations are over or m_globalTemperature drops below m_minimalTemperature.
 
double weight (node v) const
 Returns the weight of node v according to its degree.
 

Private Attributes

Algorithm Parameters
bool m_randomInitialPlacement
 Whether nodes should be initialized in random positions.
 
PostProcessingMode m_postProcessing
 Whether unnecessary bends should be filtered out in a post processing step.
 
double m_bendNormalizationAngle
 Lower bound for the minimum angle between two line segments such that the bend point between them is still removed.
 
int m_numberOfIterations
 Number of times a single node is moved for each connected component.
 
double m_minimalTemperature
 Minimal temperature, lower bound for the global temperature.
 
double m_initialTemperature
 Initial temperature of every node.
 
double m_temperatureDecreaseOffset
 Factor for which holds: If only m_numberOfIterations * m_temperatureDecreaseOffset iterations are left, the global temperature starts to be decreased linearly.
 
double m_gravitation
 Gravitational constant scaling attractive forces towards the barycenter.
 
double m_oscillationAngle
 Maximum angle between new and previous impulse such that the node movement is counted as an oscillation.
 
double m_desiredMinEdgeLength
 Desired minimal node separation/edge length.
 
int m_initDummiesPerEdge
 How many dummy nodes should initially be created for one edge.
 
int m_maxDummiesPerEdge
 How many dummy nodes should maximally be created for one edge.
 
double m_dummyInsertionThreshold
 How many times larger than the desired edge length an edge has to be in order for a new dummy node to be created by splitting said edge.
 
double m_maxDisturbance
 Maximal disturbance, i.e. maximal random node movement.
 
double m_repulsionDistance
 Maximum distance between a dummy and another node such that the former is repulsed by the latter.
 
double m_minDistCC
 Minimal distance between connected components.
 
double m_pageRatio
 Page ratio used for the layout of connected components.
 
Graph Data Used by the Algorithm
GraphCopy m_copy
 Copy of the given graph which may contain dummy nodes.
 
GraphAttributes m_copyAttr
 GraphAttributes for m_copy.
 
NodeArray< doublem_impulseX
 X-coordinate of the last impulse of the node.
 
NodeArray< doublem_impulseY
 Y-coordinate of the last impulse of the node.
 
NodeArray< doublem_localTemperature
 Local temperature of the node.
 
NodeArray< doublem_nodeRadius
 Radius of the smallest circle encompassing the node.
 
EdgeArray< boolm_hasParEdges
 Whether the edge has parallel edges.
 
NodeArray< NodeArray< double > > m_desiredDistance
 Desired distance between each pair of nodes.
 
Other Data Used by the Algorithm
int m_degreeSum
 Twice the number of all edges in the original graph.
 
double m_barycenterX
 Weighted sum of x-coordinates of all nodes.
 
double m_barycenterY
 Weighted sum of y-coordinates of all nodes.
 
int m_iterCounter
 Number of iterations for which the algorithm still has to run.
 
double m_globalTemperature
 Average of all local node temperatures.
 
double m_factor
 Precomputed constant used to get the max. temperature for each iteration.
 
double m_cos
 Precomputed cosinus of (m_oscillationAngle / 2).
 

Detailed Description

The NodeRespecterLayout layout algorithm.

This is a force-directed layout algorithm respecting the shapes and sizes of nodes. It aims to minimize the number of node overlaps as well as the number of edges crossing through non-incident nodes. In order to achieve this, the algorithm adapts its forces to the node sizes and bends edges around close-by nodes. The edge bends are created by introducing dummy nodes into the graph, positioning all nodes according to forces acting upon them, filtering out unnecessary dummy nodes, and then replacing the remaining dummy nodes by edge bends.

The algorithm is documented in and was developed for the bachelor thesis: Max Ilsen: Energy-Based Layout Algorithms for Graphs with Large Nodes. University of Osnabrueck, 2017

The following parameters can be set:

ParameterDefault Value
m_randomInitialPlacement true
m_postProcessing PostProcessingMode::Complete
m_bendNormalizationAngle Math::pi
m_numberOfIterations 30000
m_minimalTemperature 1.0
m_initialTemperature 10.0
m_temperatureDecreaseOffset 0.0
m_gravitation 1.0/16.0
m_oscillationAngle Math::pi_2
m_desiredMinEdgeLength LayoutStandards::defaultNodeSeparation()
m_initDummiesPerEdge 1
m_maxDummiesPerEdge 3
m_dummyInsertionThreshold 5
m_maxDisturbance 0
m_repulsionDistance 2*m_desiredMinEdgeLength
m_minDistCC LayoutStandards::defaultCCSeparation()
m_pageRatio 1.0

Definition at line 85 of file NodeRespecterLayout.h.

Member Enumeration Documentation

◆ PostProcessingMode

Sets whether unnecessary edge bends should be filtered out in a post-processing step.

Enumerator
None 

Keep all bends.

KeepMultiEdgeBends 

Activate post-processing but keep all bends on multi-edges and self-loops (such that the corresponding edges are visible).

Complete 

Activate post-processing: Remove all bends that do not prevent edge-node intersections.

Definition at line 98 of file NodeRespecterLayout.h.

Constructor & Destructor Documentation

◆ NodeRespecterLayout()

ogdf::NodeRespecterLayout::NodeRespecterLayout ( )

Creates an instance of the NodeRespecterLayout.

◆ ~NodeRespecterLayout()

ogdf::NodeRespecterLayout::~NodeRespecterLayout ( )
inline

Destroys an instance of the NodeRespecterLayout.

Definition at line 91 of file NodeRespecterLayout.h.

Member Function Documentation

◆ addDummies()

void ogdf::NodeRespecterLayout::addDummies ( node  v,
SListPure< node > &  nodes 
)
private

Adds dummy nodes to incident edges of v if they are too long.

◆ call()

virtual void ogdf::NodeRespecterLayout::call ( GraphAttributes attr)
overridevirtual

Calls the layout algorithm for the GraphAttributes attr.

Implements ogdf::LayoutModule.

◆ computeImpulse()

std::pair< double, double > ogdf::NodeRespecterLayout::computeImpulse ( node  v)
private

Returns the new impulse for node v.

◆ createBends()

void ogdf::NodeRespecterLayout::createBends ( const ArrayBuffer< edge > &  origEdges,
GraphAttributes attr 
)
private

Creates bends in attr at the coordinates of dummy nodes in copy.

◆ freeData()

void ogdf::NodeRespecterLayout::freeData ( )
private

Frees all graph data used by the algorithm.

◆ getBendNormalizationAngle()

double ogdf::NodeRespecterLayout::getBendNormalizationAngle ( ) const
inline

Returns m_bendNormalizationAngle.

Definition at line 175 of file NodeRespecterLayout.h.

◆ getDesiredMinEdgeLength()

double ogdf::NodeRespecterLayout::getDesiredMinEdgeLength ( ) const
inline

Returns m_desiredMinEdgeLength.

Definition at line 196 of file NodeRespecterLayout.h.

◆ getDummyInsertionThreshold()

double ogdf::NodeRespecterLayout::getDummyInsertionThreshold ( ) const
inline

Returns m_dummyInsertionThreshold.

Definition at line 205 of file NodeRespecterLayout.h.

◆ getGravitation()

double ogdf::NodeRespecterLayout::getGravitation ( ) const
inline

Returns m_gravitation.

Definition at line 190 of file NodeRespecterLayout.h.

◆ getInitDummiesPerEdge()

int ogdf::NodeRespecterLayout::getInitDummiesPerEdge ( ) const
inline

Returns m_initDummiesPerEdge.

Definition at line 199 of file NodeRespecterLayout.h.

◆ getInitialTemperature()

double ogdf::NodeRespecterLayout::getInitialTemperature ( ) const
inline

Returns m_initialTemperature.

Definition at line 184 of file NodeRespecterLayout.h.

◆ getMaxDisturbance()

double ogdf::NodeRespecterLayout::getMaxDisturbance ( ) const
inline

Returns m_maxDisturbance.

Definition at line 208 of file NodeRespecterLayout.h.

◆ getMaxDummiesPerEdge()

int ogdf::NodeRespecterLayout::getMaxDummiesPerEdge ( ) const
inline

Returns m_maxDummiesPerEdge.

Definition at line 202 of file NodeRespecterLayout.h.

◆ getMinDistCC()

double ogdf::NodeRespecterLayout::getMinDistCC ( ) const
inline

Returns m_minDistCC.

Definition at line 214 of file NodeRespecterLayout.h.

◆ getMinimalTemperature()

double ogdf::NodeRespecterLayout::getMinimalTemperature ( ) const
inline

Returns m_minimalTemperature.

Definition at line 181 of file NodeRespecterLayout.h.

◆ getNumberOfIterations()

int ogdf::NodeRespecterLayout::getNumberOfIterations ( ) const
inline

Returns m_numberOfIterations.

Definition at line 178 of file NodeRespecterLayout.h.

◆ getOscillationAngle()

double ogdf::NodeRespecterLayout::getOscillationAngle ( ) const
inline

Returns m_oscillationAngle.

Definition at line 193 of file NodeRespecterLayout.h.

◆ getPageRatio()

double ogdf::NodeRespecterLayout::getPageRatio ( ) const
inline

Returns m_pageRatio.

Definition at line 217 of file NodeRespecterLayout.h.

◆ getPostProcessing()

PostProcessingMode ogdf::NodeRespecterLayout::getPostProcessing ( ) const
inline

Returns m_postProcessing.

Definition at line 172 of file NodeRespecterLayout.h.

◆ getRandomInitialPlacement()

bool ogdf::NodeRespecterLayout::getRandomInitialPlacement ( ) const
inline

Returns m_randomInitialPlacement.

Definition at line 169 of file NodeRespecterLayout.h.

◆ getRepulsionDistance()

double ogdf::NodeRespecterLayout::getRepulsionDistance ( ) const
inline

Returns m_repulsionDistance.

Definition at line 211 of file NodeRespecterLayout.h.

◆ getTemperatureDecreaseOffset()

double ogdf::NodeRespecterLayout::getTemperatureDecreaseOffset ( ) const
inline

Returns m_temperatureDecreaseOffset.

Definition at line 187 of file NodeRespecterLayout.h.

◆ haveSameOriginalEdge()

bool ogdf::NodeRespecterLayout::haveSameOriginalEdge ( node  v,
node  w 
) const
inlineprivate

Returns whether v and w belong to the same original edge. If only one of the nodes is a dummy node, returns whether its original edge is incident to the other node. If none of the nodes is a dummy node, returns false.

Definition at line 383 of file NodeRespecterLayout.h.

◆ initData()

void ogdf::NodeRespecterLayout::initData ( )
private

Initializes all graph data used by the algorithm.

◆ radius()

double ogdf::NodeRespecterLayout::radius ( const GraphAttributes attr,
node  v 
) const
inlineprivate

Returns the radius of the smallest circle surrounding the shape of v (while still having its center at the position of v).

Definition at line 363 of file NodeRespecterLayout.h.

◆ setBendNormalizationAngle()

void ogdf::NodeRespecterLayout::setBendNormalizationAngle ( double  bendNormalizationAngle)

Sets m_bendNormalizationAngle to bendNormalizationAngle in [0...Pi].

◆ setDesiredMinEdgeLength()

void ogdf::NodeRespecterLayout::setDesiredMinEdgeLength ( double  desiredMinEdgeLength)

Sets m_desiredMinEdgeLength to desiredMinEdgeLength > 0.

◆ setDummyInsertionThreshold()

void ogdf::NodeRespecterLayout::setDummyInsertionThreshold ( double  dummyInsertionThreshold)

Sets m_dummyInsertionThreshold to dummyInsertionThreshold >= 1.

◆ setGravitation()

void ogdf::NodeRespecterLayout::setGravitation ( double  gravitation)

Sets m_gravitation to gravitation >= 0.

◆ setInitDummiesPerEdge()

void ogdf::NodeRespecterLayout::setInitDummiesPerEdge ( int  initDummiesPerEdge)

Sets m_initDummiesPerEdge to initDummiesPerEdge >= 0.

◆ setInitialTemperature()

void ogdf::NodeRespecterLayout::setInitialTemperature ( double  initialTemperature)

Sets m_initialTemperature to initialTemperature > m_minimalTemperature.

◆ setMaxDisturbance()

void ogdf::NodeRespecterLayout::setMaxDisturbance ( double  maxDisturbance)

Sets m_maxDisturbance to maxDisturbance >= 0.

◆ setMaxDummiesPerEdge()

void ogdf::NodeRespecterLayout::setMaxDummiesPerEdge ( int  maxDummiesPerEdge)

Sets m_maxDummiesPerEdge to maxDummiesPerEdge > m_initDummiesPerEdge.

◆ setMinDistCC()

void ogdf::NodeRespecterLayout::setMinDistCC ( double  minDistCC)

Sets m_minDistCC to minDistCC >= 0.

◆ setMinimalTemperature()

void ogdf::NodeRespecterLayout::setMinimalTemperature ( double  minimalTemperature)

Sets m_minimalTemperature to minimalTemperature >= 0.

◆ setNumberOfIterations()

void ogdf::NodeRespecterLayout::setNumberOfIterations ( int  numberOfIterations)

Sets m_numberOfIterations to numberOfIterations >= 0.

◆ setOscillationAngle()

void ogdf::NodeRespecterLayout::setOscillationAngle ( double  oscillationAngle)

Sets m_oscillationAngle to oscillationAngle in [0...Pi].

◆ setPageRatio()

void ogdf::NodeRespecterLayout::setPageRatio ( double  pageRatio)

Sets m_pageRatio to pageRatio > 0.

◆ setPostProcessing()

void ogdf::NodeRespecterLayout::setPostProcessing ( PostProcessingMode  postProcessing)

Sets m_postProcessing to postProcessing.

◆ setRandomInitialPlacement()

void ogdf::NodeRespecterLayout::setRandomInitialPlacement ( bool  randomInitialPlacement)

Sets m_randomInitialPlacement to randomInitialPlacement.

◆ setRepulsionDistance()

void ogdf::NodeRespecterLayout::setRepulsionDistance ( double  repulsionDistance)

Sets m_repulsionDistance to repulsionDistance >= 0.

◆ setTemperatureDecreaseOffset()

void ogdf::NodeRespecterLayout::setTemperatureDecreaseOffset ( double  temperatureDecreaseOffset)

Sets m_temperatureDecreaseOffset to temperatureDecreaseOffset in [0...1].

◆ updateNode()

void ogdf::NodeRespecterLayout::updateNode ( node  v,
std::pair< double, double newImpulse 
)
private

Updates the node data for node v using newImpulse as the x- and y-coordinate of the new impulse onto v.

◆ updateNodeLoop()

void ogdf::NodeRespecterLayout::updateNodeLoop ( SListPure< node > &  nodes)
private

Computes new impulses and updates positions for random permutations of nodes until m_numberOfIterations iterations are over or m_globalTemperature drops below m_minimalTemperature.

◆ weight()

double ogdf::NodeRespecterLayout::weight ( node  v) const
inlineprivate

Returns the weight of node v according to its degree.

Definition at line 397 of file NodeRespecterLayout.h.

Member Data Documentation

◆ m_barycenterX

double ogdf::NodeRespecterLayout::m_barycenterX
private

Weighted sum of x-coordinates of all nodes.

Definition at line 318 of file NodeRespecterLayout.h.

◆ m_barycenterY

double ogdf::NodeRespecterLayout::m_barycenterY
private

Weighted sum of y-coordinates of all nodes.

Definition at line 321 of file NodeRespecterLayout.h.

◆ m_bendNormalizationAngle

double ogdf::NodeRespecterLayout::m_bendNormalizationAngle
private

Lower bound for the minimum angle between two line segments such that the bend point between them is still removed.

Definition at line 233 of file NodeRespecterLayout.h.

◆ m_copy

GraphCopy ogdf::NodeRespecterLayout::m_copy
private

Copy of the given graph which may contain dummy nodes.

Definition at line 287 of file NodeRespecterLayout.h.

◆ m_copyAttr

GraphAttributes ogdf::NodeRespecterLayout::m_copyAttr
private

GraphAttributes for m_copy.

Definition at line 290 of file NodeRespecterLayout.h.

◆ m_cos

double ogdf::NodeRespecterLayout::m_cos
private

Precomputed cosinus of (m_oscillationAngle / 2).

Definition at line 333 of file NodeRespecterLayout.h.

◆ m_degreeSum

int ogdf::NodeRespecterLayout::m_degreeSum
private

Twice the number of all edges in the original graph.

Definition at line 315 of file NodeRespecterLayout.h.

◆ m_desiredDistance

NodeArray<NodeArray<double> > ogdf::NodeRespecterLayout::m_desiredDistance
private

Desired distance between each pair of nodes.

Definition at line 308 of file NodeRespecterLayout.h.

◆ m_desiredMinEdgeLength

double ogdf::NodeRespecterLayout::m_desiredMinEdgeLength
private

Desired minimal node separation/edge length.

Definition at line 257 of file NodeRespecterLayout.h.

◆ m_dummyInsertionThreshold

double ogdf::NodeRespecterLayout::m_dummyInsertionThreshold
private

How many times larger than the desired edge length an edge has to be in order for a new dummy node to be created by splitting said edge.

Definition at line 267 of file NodeRespecterLayout.h.

◆ m_factor

double ogdf::NodeRespecterLayout::m_factor
private

Precomputed constant used to get the max. temperature for each iteration.

Definition at line 330 of file NodeRespecterLayout.h.

◆ m_globalTemperature

double ogdf::NodeRespecterLayout::m_globalTemperature
private

Average of all local node temperatures.

Definition at line 327 of file NodeRespecterLayout.h.

◆ m_gravitation

double ogdf::NodeRespecterLayout::m_gravitation
private

Gravitational constant scaling attractive forces towards the barycenter.

Definition at line 250 of file NodeRespecterLayout.h.

◆ m_hasParEdges

EdgeArray<bool> ogdf::NodeRespecterLayout::m_hasParEdges
private

Whether the edge has parallel edges.

Definition at line 305 of file NodeRespecterLayout.h.

◆ m_impulseX

NodeArray<double> ogdf::NodeRespecterLayout::m_impulseX
private

X-coordinate of the last impulse of the node.

Definition at line 293 of file NodeRespecterLayout.h.

◆ m_impulseY

NodeArray<double> ogdf::NodeRespecterLayout::m_impulseY
private

Y-coordinate of the last impulse of the node.

Definition at line 296 of file NodeRespecterLayout.h.

◆ m_initDummiesPerEdge

int ogdf::NodeRespecterLayout::m_initDummiesPerEdge
private

How many dummy nodes should initially be created for one edge.

Definition at line 260 of file NodeRespecterLayout.h.

◆ m_initialTemperature

double ogdf::NodeRespecterLayout::m_initialTemperature
private

Initial temperature of every node.

Definition at line 242 of file NodeRespecterLayout.h.

◆ m_iterCounter

int ogdf::NodeRespecterLayout::m_iterCounter
private

Number of iterations for which the algorithm still has to run.

Definition at line 324 of file NodeRespecterLayout.h.

◆ m_localTemperature

NodeArray<double> ogdf::NodeRespecterLayout::m_localTemperature
private

Local temperature of the node.

Definition at line 299 of file NodeRespecterLayout.h.

◆ m_maxDisturbance

double ogdf::NodeRespecterLayout::m_maxDisturbance
private

Maximal disturbance, i.e. maximal random node movement.

Definition at line 270 of file NodeRespecterLayout.h.

◆ m_maxDummiesPerEdge

int ogdf::NodeRespecterLayout::m_maxDummiesPerEdge
private

How many dummy nodes should maximally be created for one edge.

Definition at line 263 of file NodeRespecterLayout.h.

◆ m_minDistCC

double ogdf::NodeRespecterLayout::m_minDistCC
private

Minimal distance between connected components.

Definition at line 277 of file NodeRespecterLayout.h.

◆ m_minimalTemperature

double ogdf::NodeRespecterLayout::m_minimalTemperature
private

Minimal temperature, lower bound for the global temperature.

Definition at line 239 of file NodeRespecterLayout.h.

◆ m_nodeRadius

NodeArray<double> ogdf::NodeRespecterLayout::m_nodeRadius
private

Radius of the smallest circle encompassing the node.

Definition at line 302 of file NodeRespecterLayout.h.

◆ m_numberOfIterations

int ogdf::NodeRespecterLayout::m_numberOfIterations
private

Number of times a single node is moved for each connected component.

Definition at line 236 of file NodeRespecterLayout.h.

◆ m_oscillationAngle

double ogdf::NodeRespecterLayout::m_oscillationAngle
private

Maximum angle between new and previous impulse such that the node movement is counted as an oscillation.

Definition at line 254 of file NodeRespecterLayout.h.

◆ m_pageRatio

double ogdf::NodeRespecterLayout::m_pageRatio
private

Page ratio used for the layout of connected components.

Definition at line 280 of file NodeRespecterLayout.h.

◆ m_postProcessing

PostProcessingMode ogdf::NodeRespecterLayout::m_postProcessing
private

Whether unnecessary bends should be filtered out in a post processing step.

Definition at line 229 of file NodeRespecterLayout.h.

◆ m_randomInitialPlacement

bool ogdf::NodeRespecterLayout::m_randomInitialPlacement
private

Whether nodes should be initialized in random positions.

Definition at line 226 of file NodeRespecterLayout.h.

◆ m_repulsionDistance

double ogdf::NodeRespecterLayout::m_repulsionDistance
private

Maximum distance between a dummy and another node such that the former is repulsed by the latter.

Definition at line 274 of file NodeRespecterLayout.h.

◆ m_temperatureDecreaseOffset

double ogdf::NodeRespecterLayout::m_temperatureDecreaseOffset
private

Factor for which holds: If only m_numberOfIterations * m_temperatureDecreaseOffset iterations are left, the global temperature starts to be decreased linearly.

Definition at line 247 of file NodeRespecterLayout.h.


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