Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::MultilevelGraph Class Reference

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

Public Member Functions

 MultilevelGraph ()
 
 MultilevelGraph (const char *filename)
 
 MultilevelGraph (Graph &G)
 
 MultilevelGraph (GraphAttributes &GA)
 
 MultilevelGraph (GraphAttributes &GA, Graph &G)
 
 MultilevelGraph (std::istream &is)
 
 ~MultilevelGraph ()
 
double averageRadius () const
 
bool changeEdge (NodeMerge *NM, edge theEdge, double newWeight, node newSource, node newTarget)
 
bool changeNode (NodeMerge *NM, node theNode, double newRadius, node merged)
 
void copyEdgeTo (edge e, MultilevelGraph &MLG, std::map< node, node > &tempNodeAssociations, bool associate, int index=-1)
 
void copyNodeTo (node v, MultilevelGraph &MLG, std::map< node, node > &tempNodeAssociations, bool associate, int index=-1)
 
bool deleteEdge (NodeMerge *NM, edge theEdge)
 
void exportAttributes (GraphAttributes &GA) const
 
void exportAttributesSimple (GraphAttributes &GA) const
 
edge getEdge (unsigned int index)
 
GraphgetGraph ()
 
GraphAttributesgetGraphAttributes () const
 Returns attributes of current level graph as GraphAttributes. More...
 
NodeMergegetLastMerge ()
 
int getLevel ()
 
node getNode (unsigned int index)
 
NodeArray< double > & getRArray ()
 
EdgeArray< double > & getWArray ()
 
void importAttributes (const GraphAttributes &GA)
 
void importAttributesSimple (const GraphAttributes &GA)
 
int mergeWeight (node v)
 
std::vector< edgemoveEdgesToParent (NodeMerge *NM, node theNode, node parent, bool deleteDoubleEndges, int adjustEdgeLengths)
 
void moveToZero ()
 
bool postMerge (NodeMerge *NM, node merged)
 
double radius (node v)
 
void radius (node v, double r)
 
void reInsertAll (std::vector< MultilevelGraph * > &components)
 
void reInsertGraph (MultilevelGraph &MLG)
 
std::vector< MultilevelGraph * > splitIntoComponents ()
 
node undoLastMerge ()
 
void updateMergeWeights ()
 
void updateReverseIndizes ()
 
double weight (edge e)
 
void weight (edge e, double weight)
 
void writeGML (const char *fileName)
 
void writeGML (std::ostream &os)
 
double x (node v)
 
void x (node v, double x)
 
double y (node v)
 
void y (node v, double y)
 

Private Member Functions

void copyFromGraph (const Graph &G, NodeArray< int > &nodeAssociations, EdgeArray< int > &edgeAssociations)
 
void initInternal ()
 
void initReverseIndizes ()
 
void prepareGraphAttributes (GraphAttributes &GA) const
 
MultilevelGraphremoveOneCC (std::vector< node > &componentSubArray)
 

Private Attributes

double m_avgRadius
 
std::vector< NodeMerge * > m_changes
 
bool m_createdGraph
 
EdgeArray< int > m_edgeAssociations
 
Graphm_G
 
GraphAttributesm_GA
 
NodeArray< int > m_nodeAssociations
 
NodeArray< double > m_radius
 
std::vector< edgem_reverseEdgeIndex
 
std::vector< nodem_reverseNodeIndex
 
std::vector< int > m_reverseNodeMergeWeight
 
EdgeArray< double > m_weight
 

Detailed Description

Definition at line 66 of file MultilevelGraph.h.

Constructor & Destructor Documentation

◆ ~MultilevelGraph()

ogdf::MultilevelGraph::~MultilevelGraph ( )

◆ MultilevelGraph() [1/6]

ogdf::MultilevelGraph::MultilevelGraph ( )

◆ MultilevelGraph() [2/6]

ogdf::MultilevelGraph::MultilevelGraph ( Graph G)
explicit

◆ MultilevelGraph() [3/6]

ogdf::MultilevelGraph::MultilevelGraph ( GraphAttributes GA)
explicit

◆ MultilevelGraph() [4/6]

ogdf::MultilevelGraph::MultilevelGraph ( GraphAttributes GA,
Graph G 
)

◆ MultilevelGraph() [5/6]

ogdf::MultilevelGraph::MultilevelGraph ( std::istream &  is)
explicit

◆ MultilevelGraph() [6/6]

ogdf::MultilevelGraph::MultilevelGraph ( const char *  filename)
explicit

Member Function Documentation

◆ averageRadius()

double ogdf::MultilevelGraph::averageRadius ( ) const
inline

Definition at line 116 of file MultilevelGraph.h.

◆ changeEdge()

bool ogdf::MultilevelGraph::changeEdge ( NodeMerge NM,
edge  theEdge,
double  newWeight,
node  newSource,
node  newTarget 
)

◆ changeNode()

bool ogdf::MultilevelGraph::changeNode ( NodeMerge NM,
node  theNode,
double  newRadius,
node  merged 
)

◆ copyEdgeTo()

void ogdf::MultilevelGraph::copyEdgeTo ( edge  e,
MultilevelGraph MLG,
std::map< node, node > &  tempNodeAssociations,
bool  associate,
int  index = -1 
)

◆ copyFromGraph()

void ogdf::MultilevelGraph::copyFromGraph ( const Graph G,
NodeArray< int > &  nodeAssociations,
EdgeArray< int > &  edgeAssociations 
)
private

◆ copyNodeTo()

void ogdf::MultilevelGraph::copyNodeTo ( node  v,
MultilevelGraph MLG,
std::map< node, node > &  tempNodeAssociations,
bool  associate,
int  index = -1 
)

◆ deleteEdge()

bool ogdf::MultilevelGraph::deleteEdge ( NodeMerge NM,
edge  theEdge 
)

◆ exportAttributes()

void ogdf::MultilevelGraph::exportAttributes ( GraphAttributes GA) const

◆ exportAttributesSimple()

void ogdf::MultilevelGraph::exportAttributesSimple ( GraphAttributes GA) const

◆ getEdge()

edge ogdf::MultilevelGraph::getEdge ( unsigned int  index)

◆ getGraph()

Graph& ogdf::MultilevelGraph::getGraph ( )
inline

Definition at line 137 of file MultilevelGraph.h.

◆ getGraphAttributes()

GraphAttributes& ogdf::MultilevelGraph::getGraphAttributes ( ) const
inline

Returns attributes of current level graph as GraphAttributes.

Definition at line 140 of file MultilevelGraph.h.

◆ getLastMerge()

NodeMerge* ogdf::MultilevelGraph::getLastMerge ( )

◆ getLevel()

int ogdf::MultilevelGraph::getLevel ( )

◆ getNode()

node ogdf::MultilevelGraph::getNode ( unsigned int  index)

◆ getRArray()

NodeArray<double>& ogdf::MultilevelGraph::getRArray ( )
inline

Definition at line 105 of file MultilevelGraph.h.

◆ getWArray()

EdgeArray<double>& ogdf::MultilevelGraph::getWArray ( )
inline

Definition at line 107 of file MultilevelGraph.h.

◆ importAttributes()

void ogdf::MultilevelGraph::importAttributes ( const GraphAttributes GA)

◆ importAttributesSimple()

void ogdf::MultilevelGraph::importAttributesSimple ( const GraphAttributes GA)

◆ initInternal()

void ogdf::MultilevelGraph::initInternal ( )
private

◆ initReverseIndizes()

void ogdf::MultilevelGraph::initReverseIndizes ( )
private

◆ mergeWeight()

int ogdf::MultilevelGraph::mergeWeight ( node  v)
inline

Definition at line 131 of file MultilevelGraph.h.

◆ moveEdgesToParent()

std::vector<edge> ogdf::MultilevelGraph::moveEdgesToParent ( NodeMerge NM,
node  theNode,
node  parent,
bool  deleteDoubleEndges,
int  adjustEdgeLengths 
)

◆ moveToZero()

void ogdf::MultilevelGraph::moveToZero ( )

◆ postMerge()

bool ogdf::MultilevelGraph::postMerge ( NodeMerge NM,
node  merged 
)

◆ prepareGraphAttributes()

void ogdf::MultilevelGraph::prepareGraphAttributes ( GraphAttributes GA) const
private

◆ radius() [1/2]

double ogdf::MultilevelGraph::radius ( node  v)
inline

Definition at line 112 of file MultilevelGraph.h.

◆ radius() [2/2]

void ogdf::MultilevelGraph::radius ( node  v,
double  r 
)
inline

Definition at line 114 of file MultilevelGraph.h.

◆ reInsertAll()

void ogdf::MultilevelGraph::reInsertAll ( std::vector< MultilevelGraph * > &  components)

◆ reInsertGraph()

void ogdf::MultilevelGraph::reInsertGraph ( MultilevelGraph MLG)

◆ removeOneCC()

MultilevelGraph* ogdf::MultilevelGraph::removeOneCC ( std::vector< node > &  componentSubArray)
private

◆ splitIntoComponents()

std::vector<MultilevelGraph*> ogdf::MultilevelGraph::splitIntoComponents ( )
Deprecated:
"Use ComponentSplitterLayout instead."

◆ undoLastMerge()

node ogdf::MultilevelGraph::undoLastMerge ( )

◆ updateMergeWeights()

void ogdf::MultilevelGraph::updateMergeWeights ( )

◆ updateReverseIndizes()

void ogdf::MultilevelGraph::updateReverseIndizes ( )

◆ weight() [1/2]

double ogdf::MultilevelGraph::weight ( edge  e)
inline

Definition at line 128 of file MultilevelGraph.h.

◆ weight() [2/2]

void ogdf::MultilevelGraph::weight ( edge  e,
double  weight 
)
inline

Definition at line 126 of file MultilevelGraph.h.

◆ writeGML() [1/2]

void ogdf::MultilevelGraph::writeGML ( const char *  fileName)

◆ writeGML() [2/2]

void ogdf::MultilevelGraph::writeGML ( std::ostream &  os)

◆ x() [1/2]

double ogdf::MultilevelGraph::x ( node  v)
inline

Definition at line 118 of file MultilevelGraph.h.

◆ x() [2/2]

void ogdf::MultilevelGraph::x ( node  v,
double  x 
)
inline

Definition at line 122 of file MultilevelGraph.h.

◆ y() [1/2]

double ogdf::MultilevelGraph::y ( node  v)
inline

Definition at line 120 of file MultilevelGraph.h.

◆ y() [2/2]

void ogdf::MultilevelGraph::y ( node  v,
double  y 
)
inline

Definition at line 124 of file MultilevelGraph.h.

Member Data Documentation

◆ m_avgRadius

double ogdf::MultilevelGraph::m_avgRadius
private

Definition at line 73 of file MultilevelGraph.h.

◆ m_changes

std::vector<NodeMerge*> ogdf::MultilevelGraph::m_changes
private

Definition at line 71 of file MultilevelGraph.h.

◆ m_createdGraph

bool ogdf::MultilevelGraph::m_createdGraph
private

Definition at line 68 of file MultilevelGraph.h.

◆ m_edgeAssociations

EdgeArray<int> ogdf::MultilevelGraph::m_edgeAssociations
private

Definition at line 79 of file MultilevelGraph.h.

◆ m_G

Graph* ogdf::MultilevelGraph::m_G
private

Definition at line 69 of file MultilevelGraph.h.

◆ m_GA

GraphAttributes* ogdf::MultilevelGraph::m_GA
private

Definition at line 70 of file MultilevelGraph.h.

◆ m_nodeAssociations

NodeArray<int> ogdf::MultilevelGraph::m_nodeAssociations
private

Definition at line 78 of file MultilevelGraph.h.

◆ m_radius

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

Definition at line 72 of file MultilevelGraph.h.

◆ m_reverseEdgeIndex

std::vector<edge> ogdf::MultilevelGraph::m_reverseEdgeIndex
private

Definition at line 83 of file MultilevelGraph.h.

◆ m_reverseNodeIndex

std::vector<node> ogdf::MultilevelGraph::m_reverseNodeIndex
private

Definition at line 81 of file MultilevelGraph.h.

◆ m_reverseNodeMergeWeight

std::vector<int> ogdf::MultilevelGraph::m_reverseNodeMergeWeight
private

Definition at line 82 of file MultilevelGraph.h.

◆ m_weight

EdgeArray<double> ogdf::MultilevelGraph::m_weight
private

Definition at line 75 of file MultilevelGraph.h.


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