Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches

The local biconnected merger for multilevel layout. More...

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

+ Inheritance diagram for ogdf::LocalBiconnectedMerger:

Public Member Functions

 LocalBiconnectedMerger ()
 Constructs a LocalBiconnectedMerger multilevel builder.
 
void setFactor (double factor)
 Specifies the ratio between two consecutive level sizes up to which merging is done.
 
- Public Member Functions inherited from ogdf::MultilevelBuilder
 MultilevelBuilder ()
 
virtual ~MultilevelBuilder ()
 
virtual void buildAllLevels (MultilevelGraph &MLG)
 
int getNumLevels ()
 
void setEdgeLengthAdjustment (int factor)
 

Private Member Functions

bool buildOneLevel (MultilevelGraph &MLG) override
 Creates the next level in the hierarchy by merging vertices based on matching, edge cover, and local biconnectivity check.
 
bool canMerge (Graph &G, node parent, node mergePartner)
 
bool canMerge (Graph &G, node parent, node mergePartner, int testStrength)
 
bool doMerge (MultilevelGraph &MLG, node parent, node mergePartner, int level)
 
bool doMergeIfPossible (Graph &G, MultilevelGraph &MLG, node parent, node mergePartner, int level)
 
void initCuts (Graph &G)
 
int realNodeMark (int index)
 

Private Attributes

NodeArray< boolm_isCut
 
double m_levelSizeFactor
 
HashArray< int, intm_realNodeMarks
 
NodeArray< nodem_substituteNodes
 

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 local biconnected merger for multilevel layout.

Definition at line 43 of file LocalBiconnectedMerger.h.

Constructor & Destructor Documentation

◆ LocalBiconnectedMerger()

ogdf::LocalBiconnectedMerger::LocalBiconnectedMerger ( )

Constructs a LocalBiconnectedMerger multilevel builder.

Member Function Documentation

◆ buildOneLevel()

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

Creates the next level in the hierarchy by merging vertices based on matching, edge cover, and local biconnectivity check.

Implements ogdf::MultilevelBuilder.

◆ canMerge() [1/2]

bool ogdf::LocalBiconnectedMerger::canMerge ( Graph G,
node  parent,
node  mergePartner 
)
private

◆ canMerge() [2/2]

bool ogdf::LocalBiconnectedMerger::canMerge ( Graph G,
node  parent,
node  mergePartner,
int  testStrength 
)
private

◆ doMerge()

bool ogdf::LocalBiconnectedMerger::doMerge ( MultilevelGraph MLG,
node  parent,
node  mergePartner,
int  level 
)
private

◆ doMergeIfPossible()

bool ogdf::LocalBiconnectedMerger::doMergeIfPossible ( Graph G,
MultilevelGraph MLG,
node  parent,
node  mergePartner,
int  level 
)
private

◆ initCuts()

void ogdf::LocalBiconnectedMerger::initCuts ( Graph G)
private

◆ realNodeMark()

int ogdf::LocalBiconnectedMerger::realNodeMark ( int  index)
private

◆ setFactor()

void ogdf::LocalBiconnectedMerger::setFactor ( double  factor)

Specifies the ratio between two consecutive level sizes up to which merging is done.

Member Data Documentation

◆ m_isCut

NodeArray<bool> ogdf::LocalBiconnectedMerger::m_isCut
private

Definition at line 47 of file LocalBiconnectedMerger.h.

◆ m_levelSizeFactor

double ogdf::LocalBiconnectedMerger::m_levelSizeFactor
private

Definition at line 45 of file LocalBiconnectedMerger.h.

◆ m_realNodeMarks

HashArray<int, int> ogdf::LocalBiconnectedMerger::m_realNodeMarks
private

Definition at line 48 of file LocalBiconnectedMerger.h.

◆ m_substituteNodes

NodeArray<node> ogdf::LocalBiconnectedMerger::m_substituteNodes
private

Definition at line 46 of file LocalBiconnectedMerger.h.


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