Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
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.
 
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< intm_edgeAssociations
 
Graphm_G
 
GraphAttributesm_GA
 
NodeArray< intm_nodeAssociations
 
NodeArray< doublem_radius
 
std::vector< edgem_reverseEdgeIndex
 
std::vector< nodem_reverseNodeIndex
 
std::vector< intm_reverseNodeMergeWeight
 
EdgeArray< doublem_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: