Open
Graph Drawing
Framework

 v.2012.07
 

ogdf::MultilevelGraph Class Reference

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

List of all members.

Public Member Functions

 MultilevelGraph ()
 MultilevelGraph (Graph &G)
 MultilevelGraph (GraphAttributes &GA)
 MultilevelGraph (GraphAttributes &GA, Graph &G)
 MultilevelGraph (istream &is)
 MultilevelGraph (const String &filename)
 ~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 ()
void weight (edge e, double weight)
double weight (edge e)
void writeGML (ostream &os)
void writeGML (const String &fileName)
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 81 of file MultilevelGraph.h.


Constructor & Destructor Documentation

ogdf::MultilevelGraph::~MultilevelGraph ( )
ogdf::MultilevelGraph::MultilevelGraph ( )
ogdf::MultilevelGraph::MultilevelGraph ( Graph G)
ogdf::MultilevelGraph::MultilevelGraph ( GraphAttributes GA)
ogdf::MultilevelGraph::MultilevelGraph ( GraphAttributes GA,
Graph G 
)
ogdf::MultilevelGraph::MultilevelGraph ( istream &  is)
ogdf::MultilevelGraph::MultilevelGraph ( const String filename)

Member Function Documentation

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

Definition at line 128 of file MultilevelGraph.h.

bool ogdf::MultilevelGraph::changeEdge ( NodeMerge NM,
edge  theEdge,
double  newWeight,
node  newSource,
node  newTarget 
)
bool ogdf::MultilevelGraph::changeNode ( NodeMerge NM,
node  theNode,
double  newRadius,
node  merged 
)
void ogdf::MultilevelGraph::copyEdgeTo ( edge  e,
MultilevelGraph MLG,
std::map< node, node > &  tempNodeAssociations,
bool  associate,
int  index = -1 
)
void ogdf::MultilevelGraph::copyFromGraph ( const Graph G,
NodeArray< int > &  nodeAssociations,
EdgeArray< int > &  edgeAssociations 
)
private
void ogdf::MultilevelGraph::copyNodeTo ( node  v,
MultilevelGraph MLG,
std::map< node, node > &  tempNodeAssociations,
bool  associate,
int  index = -1 
)
bool ogdf::MultilevelGraph::deleteEdge ( NodeMerge NM,
edge  theEdge 
)
void ogdf::MultilevelGraph::exportAttributes ( GraphAttributes GA) const
void ogdf::MultilevelGraph::exportAttributesSimple ( GraphAttributes GA) const
edge ogdf::MultilevelGraph::getEdge ( unsigned int  index)
Graph& ogdf::MultilevelGraph::getGraph ( )
inline

Definition at line 144 of file MultilevelGraph.h.

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

Returns attributes of current level graph as GraphAttributes.

Definition at line 146 of file MultilevelGraph.h.

NodeMerge* ogdf::MultilevelGraph::getLastMerge ( )
int ogdf::MultilevelGraph::getLevel ( )
node ogdf::MultilevelGraph::getNode ( unsigned int  index)
NodeArray<double>& ogdf::MultilevelGraph::getRArray ( )
inline

Definition at line 120 of file MultilevelGraph.h.

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

Definition at line 121 of file MultilevelGraph.h.

void ogdf::MultilevelGraph::importAttributes ( const GraphAttributes GA)
void ogdf::MultilevelGraph::importAttributesSimple ( const GraphAttributes GA)
void ogdf::MultilevelGraph::initInternal ( )
private
void ogdf::MultilevelGraph::initReverseIndizes ( )
private
int ogdf::MultilevelGraph::mergeWeight ( node  v)
inline

Definition at line 139 of file MultilevelGraph.h.

std::vector<edge> ogdf::MultilevelGraph::moveEdgesToParent ( NodeMerge NM,
node  theNode,
node  parent,
bool  deleteDoubleEndges,
int  adjustEdgeLengths 
)
void ogdf::MultilevelGraph::moveToZero ( )
bool ogdf::MultilevelGraph::postMerge ( NodeMerge NM,
node  merged 
)
void ogdf::MultilevelGraph::prepareGraphAttributes ( GraphAttributes GA) const
private
double ogdf::MultilevelGraph::radius ( node  v)
inline

Definition at line 126 of file MultilevelGraph.h.

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

Definition at line 127 of file MultilevelGraph.h.

void ogdf::MultilevelGraph::reInsertAll ( std::vector< MultilevelGraph * >  components)
void ogdf::MultilevelGraph::reInsertGraph ( MultilevelGraph MLG)
MultilevelGraph* ogdf::MultilevelGraph::removeOneCC ( std::vector< node > &  componentSubArray)
private
std::vector<MultilevelGraph *> ogdf::MultilevelGraph::splitIntoComponents ( )
node ogdf::MultilevelGraph::undoLastMerge ( )
void ogdf::MultilevelGraph::updateMergeWeights ( )
void ogdf::MultilevelGraph::updateReverseIndizes ( )
void ogdf::MultilevelGraph::weight ( edge  e,
double  weight 
)
inline

Definition at line 135 of file MultilevelGraph.h.

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

Definition at line 136 of file MultilevelGraph.h.

void ogdf::MultilevelGraph::writeGML ( ostream &  os)
void ogdf::MultilevelGraph::writeGML ( const String fileName)
double ogdf::MultilevelGraph::x ( node  v)
inline

Definition at line 130 of file MultilevelGraph.h.

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

Definition at line 132 of file MultilevelGraph.h.

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

Definition at line 131 of file MultilevelGraph.h.

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

Definition at line 133 of file MultilevelGraph.h.


Member Data Documentation

double ogdf::MultilevelGraph::m_avgRadius
private

Definition at line 89 of file MultilevelGraph.h.

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

Definition at line 87 of file MultilevelGraph.h.

bool ogdf::MultilevelGraph::m_createdGraph
private

Definition at line 84 of file MultilevelGraph.h.

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

Definition at line 95 of file MultilevelGraph.h.

Graph* ogdf::MultilevelGraph::m_G
private

Definition at line 85 of file MultilevelGraph.h.

GraphAttributes* ogdf::MultilevelGraph::m_GA
private

Definition at line 86 of file MultilevelGraph.h.

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

Definition at line 94 of file MultilevelGraph.h.

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

Definition at line 88 of file MultilevelGraph.h.

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

Definition at line 99 of file MultilevelGraph.h.

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

Definition at line 97 of file MultilevelGraph.h.

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

Definition at line 98 of file MultilevelGraph.h.

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

Definition at line 91 of file MultilevelGraph.h.


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