Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches

The solar merger for multilevel layout. More...

#include <ogdf/energybased/multilevel_mixer/SolarMerger.h>

+ Inheritance diagram for ogdf::SolarMerger:

Classes

struct  PathData
 

Public Member Functions

 SolarMerger (bool simple=false, bool massAsNodeRadius=false)
 
void buildAllLevels (MultilevelGraph &MLG) override
 
- Public Member Functions inherited from ogdf::MultilevelBuilder
 MultilevelBuilder ()
 
virtual ~MultilevelBuilder ()
 
int getNumLevels ()
 
void setEdgeLengthAdjustment (int factor)
 

Private Member Functions

void addPath (node sourceSun, node targetSun, double distance)
 
bool buildOneLevel (MultilevelGraph &MLG) override
 This method constructs one more level on top of an existing MultilevelGraph.
 
int calcSystemMass (node v)
 
bool collapseSolarSystem (MultilevelGraph &MLG, node sun, int level)
 
double distanceToSun (node object, MultilevelGraph &MLG)
 
void findInterSystemPaths (Graph &G, MultilevelGraph &MLG)
 
std::vector< nodeselectSuns (MultilevelGraph &MLG)
 
node sunOf (node object)
 

Private Attributes

NodeArray< intm_celestial
 
NodeArray< doublem_distanceToOrbit
 
std::map< int, std::map< int, PathData > > m_interSystemPaths
 
NodeArray< unsigned intm_mass
 
bool m_massAsNodeRadius
 
NodeArray< nodem_orbitalCenter
 
NodeArray< std::vector< PathData > > m_pathDistances
 
NodeArray< doublem_radius
 
bool m_sunSelectionSimple
 

Additional Inherited Members

- Protected Attributes inherited from ogdf::MultilevelBuilder
int m_adjustEdgeLengths
 
int m_numLevels
 stores number of levels for statistics purposes
 

Detailed Description

The solar merger for multilevel layout.

Definition at line 42 of file SolarMerger.h.

Constructor & Destructor Documentation

◆ SolarMerger()

ogdf::SolarMerger::SolarMerger ( bool  simple = false,
bool  massAsNodeRadius = false 
)
explicit

Member Function Documentation

◆ addPath()

void ogdf::SolarMerger::addPath ( node  sourceSun,
node  targetSun,
double  distance 
)
private

◆ buildAllLevels()

void ogdf::SolarMerger::buildAllLevels ( MultilevelGraph MLG)
overridevirtual

Reimplemented from ogdf::MultilevelBuilder.

◆ buildOneLevel()

bool ogdf::SolarMerger::buildOneLevel ( MultilevelGraph MLG)
overrideprivatevirtual

This method constructs one more level on top of an existing MultilevelGraph.

It must be implemented in any MultilevelBuilder. A level is built by adding node-merges to the MultilevelGraph and updating the graph accordingly. This is achieved by calling MLG.

Parameters
MLGis the MultilevelGraph for which a new gevel will be built.
Returns
true if the Graph was changed or false if no level can be built.

Implements ogdf::MultilevelBuilder.

◆ calcSystemMass()

int ogdf::SolarMerger::calcSystemMass ( node  v)
private

◆ collapseSolarSystem()

bool ogdf::SolarMerger::collapseSolarSystem ( MultilevelGraph MLG,
node  sun,
int  level 
)
private

◆ distanceToSun()

double ogdf::SolarMerger::distanceToSun ( node  object,
MultilevelGraph MLG 
)
private

◆ findInterSystemPaths()

void ogdf::SolarMerger::findInterSystemPaths ( Graph G,
MultilevelGraph MLG 
)
private

◆ selectSuns()

std::vector< node > ogdf::SolarMerger::selectSuns ( MultilevelGraph MLG)
private

◆ sunOf()

node ogdf::SolarMerger::sunOf ( node  object)
private

Member Data Documentation

◆ m_celestial

NodeArray<int> ogdf::SolarMerger::m_celestial
private

Definition at line 56 of file SolarMerger.h.

◆ m_distanceToOrbit

NodeArray<double> ogdf::SolarMerger::m_distanceToOrbit
private

Definition at line 58 of file SolarMerger.h.

◆ m_interSystemPaths

std::map<int, std::map<int, PathData> > ogdf::SolarMerger::m_interSystemPaths
private

Definition at line 60 of file SolarMerger.h.

◆ m_mass

NodeArray<unsigned int> ogdf::SolarMerger::m_mass
private

Definition at line 54 of file SolarMerger.h.

◆ m_massAsNodeRadius

bool ogdf::SolarMerger::m_massAsNodeRadius
private

Definition at line 53 of file SolarMerger.h.

◆ m_orbitalCenter

NodeArray<node> ogdf::SolarMerger::m_orbitalCenter
private

Definition at line 57 of file SolarMerger.h.

◆ m_pathDistances

NodeArray<std::vector<PathData> > ogdf::SolarMerger::m_pathDistances
private

Definition at line 59 of file SolarMerger.h.

◆ m_radius

NodeArray<double> ogdf::SolarMerger::m_radius
private

Definition at line 55 of file SolarMerger.h.

◆ m_sunSelectionSimple

bool ogdf::SolarMerger::m_sunSelectionSimple
private

Definition at line 52 of file SolarMerger.h.


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