Open
Graph Drawing
Framework

 v.2012.05
 

ogdf::MultilevelGraph Class Reference

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

List of all members.

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 80 of file MultilevelGraph.h.


Constructor & Destructor Documentation


Member Function Documentation

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

Definition at line 127 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 
)
edge ogdf::MultilevelGraph::getEdge ( unsigned int  index)

Definition at line 143 of file MultilevelGraph.h.

Returns attributes of current level graph as GraphAttributes.

Definition at line 145 of file MultilevelGraph.h.

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

Definition at line 119 of file MultilevelGraph.h.

Definition at line 120 of file MultilevelGraph.h.

Definition at line 138 of file MultilevelGraph.h.

std::vector<edge> ogdf::MultilevelGraph::moveEdgesToParent ( NodeMerge NM,
node  theNode,
node  parent,
bool  deleteDoubleEndges,
int  adjustEdgeLengths 
)
bool ogdf::MultilevelGraph::postMerge ( NodeMerge NM,
node  merged 
)
double ogdf::MultilevelGraph::radius ( node  v) [inline]

Definition at line 125 of file MultilevelGraph.h.

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

Definition at line 126 of file MultilevelGraph.h.

void ogdf::MultilevelGraph::reInsertAll ( std::vector< MultilevelGraph * >  components)
MultilevelGraph* ogdf::MultilevelGraph::removeOneCC ( std::vector< node > &  componentSubArray) [private]
void ogdf::MultilevelGraph::weight ( edge  e,
double  weight 
) [inline]

Definition at line 134 of file MultilevelGraph.h.

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

Definition at line 135 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 129 of file MultilevelGraph.h.

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

Definition at line 131 of file MultilevelGraph.h.

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

Definition at line 130 of file MultilevelGraph.h.

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

Definition at line 132 of file MultilevelGraph.h.


Member Data Documentation

Definition at line 88 of file MultilevelGraph.h.

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

Definition at line 86 of file MultilevelGraph.h.

Definition at line 83 of file MultilevelGraph.h.

Definition at line 94 of file MultilevelGraph.h.

Definition at line 84 of file MultilevelGraph.h.

Definition at line 85 of file MultilevelGraph.h.

Definition at line 93 of file MultilevelGraph.h.

Definition at line 87 of file MultilevelGraph.h.

Definition at line 98 of file MultilevelGraph.h.

Definition at line 96 of file MultilevelGraph.h.

Definition at line 97 of file MultilevelGraph.h.

Definition at line 90 of file MultilevelGraph.h.


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