Open
Graph Drawing
Framework

 v.2010.10
 

Public Member Functions | Private Member Functions | Private Attributes

ogdf::FaceSinkGraph Class Reference

#include <ogdf/upward/FaceSinkGraph.h>

Inheritance diagram for ogdf::FaceSinkGraph:
ogdf::Graph

List of all members.

Public Member Functions

 FaceSinkGraph (const ConstCombinatorialEmbedding &E, node s)
 constructor (we assume that the original graph is connected!)
 FaceSinkGraph ()
 default constructor (dummy)
void init (const ConstCombinatorialEmbedding &E, node s)
const GraphoriginalGraph () const
 return a reference to the original graph G
const ConstCombinatorialEmbeddingoriginalEmbedding () const
 returns a reference to the embedding E of the original graph G
node originalNode (node v) const
face originalFace (node v) const
bool containsSource (node v) const
node possibleExternalFaces (SList< face > &externalFaces)
node faceNodeOf (edge e)
node faceNodeOf (face f)
void stAugmentation (node h, Graph &G, SList< node > &augmentedNodes, SList< edge > &augmentedEdges)
 augments G to an st-planar graph (original implementation)
void stAugmentation (node h, Graph &G, node &superSink, SList< edge > &augmentedEdges)
 augments G to an st-planar graph
void sinkSwitches (FaceArray< List< adjEntry > > &faceSwitches)
 compute the sink switches of all faces.

Private Member Functions

void doInit ()
 constructs face-sink graph
bool dfsCheckForest (node v, node parent, NodeArray< bool > &visited, int &nInternalVertices)
 performs dfs-traversal and checks for backwards edges
void gatherExternalFaces (node v, node parent, SList< face > &externalFaces)
 builds list of possible external faces
node dfsFaceNodeOf (node v, node parent, face f1, face f2)
node dfsStAugmentation (node v, node parent, Graph &G, SList< node > &augmentedNodes, SList< edge > &augmentedEdges)
node dfsStAugmentation (node v, node parent, Graph &G, SList< edge > &augmentedEdges)
node checkForest ()
adjEntry getAdjEntry (node v, face f)
 return a adjEntry of node v which right face is f. Be Carefully! The adjEntry is not always unique.

Private Attributes

const ConstCombinatorialEmbeddingm_pE
 associated embedding of graph G
node m_source
 the single source
node m_T
 representative of unique tree T
NodeArray< nodem_originalNode
 original node in G
NodeArray< facem_originalFace
 original face in E
NodeArray< bool > m_containsSource
 contains face node the source ?

Detailed Description

Definition at line 69 of file FaceSinkGraph.h.


Constructor & Destructor Documentation

ogdf::FaceSinkGraph::FaceSinkGraph ( const ConstCombinatorialEmbedding E,
node  s 
)

constructor (we assume that the original graph is connected!)

ogdf::FaceSinkGraph::FaceSinkGraph (  )  [inline]

default constructor (dummy)

Definition at line 76 of file FaceSinkGraph.h.


Member Function Documentation

node ogdf::FaceSinkGraph::checkForest (  )  [private]

checks if the face-sink graph is a forest with 1) there is exactly one tree T containing no internal vertex of G 2) all other trees contain exactly one internal vertex of G a node in tree T is returned as representative

bool ogdf::FaceSinkGraph::containsSource ( node  v  )  const [inline]

Definition at line 106 of file FaceSinkGraph.h.

bool ogdf::FaceSinkGraph::dfsCheckForest ( node  v,
node  parent,
NodeArray< bool > &  visited,
int &  nInternalVertices 
) [private]

performs dfs-traversal and checks for backwards edges

node ogdf::FaceSinkGraph::dfsFaceNodeOf ( node  v,
node  parent,
face  f1,
face  f2 
) [private]
node ogdf::FaceSinkGraph::dfsStAugmentation ( node  v,
node  parent,
Graph G,
SList< node > &  augmentedNodes,
SList< edge > &  augmentedEdges 
) [private]
node ogdf::FaceSinkGraph::dfsStAugmentation ( node  v,
node  parent,
Graph G,
SList< edge > &  augmentedEdges 
) [private]
void ogdf::FaceSinkGraph::doInit (  )  [private]

constructs face-sink graph

node ogdf::FaceSinkGraph::faceNodeOf ( face  f  )  [inline]

Definition at line 130 of file FaceSinkGraph.h.

node ogdf::FaceSinkGraph::faceNodeOf ( edge  e  )  [inline]

Definition at line 124 of file FaceSinkGraph.h.

void ogdf::FaceSinkGraph::gatherExternalFaces ( node  v,
node  parent,
SList< face > &  externalFaces 
) [private]

builds list of possible external faces

all faces in tree T containing the single source s) by a dfs traversal of T

adjEntry ogdf::FaceSinkGraph::getAdjEntry ( node  v,
face  f 
) [private]

return a adjEntry of node v which right face is f. Be Carefully! The adjEntry is not always unique.

void ogdf::FaceSinkGraph::init ( const ConstCombinatorialEmbedding E,
node  s 
)
const ConstCombinatorialEmbedding& ogdf::FaceSinkGraph::originalEmbedding (  )  const [inline]

returns a reference to the embedding E of the original graph G

Definition at line 88 of file FaceSinkGraph.h.

face ogdf::FaceSinkGraph::originalFace ( node  v  )  const [inline]

returns the face in E corresponding to node v in the face-sink graph, 0 if v corresponds to a sink-switch

Definition at line 100 of file FaceSinkGraph.h.

const Graph& ogdf::FaceSinkGraph::originalGraph (  )  const [inline]

return a reference to the original graph G

Definition at line 83 of file FaceSinkGraph.h.

node ogdf::FaceSinkGraph::originalNode ( node  v  )  const [inline]

returns the sink-switch in G corresponding to node v in the face-sink graph, 0 if v corresponds to a face

Definition at line 94 of file FaceSinkGraph.h.

node ogdf::FaceSinkGraph::possibleExternalFaces ( SList< face > &  externalFaces  )  [inline]

returns the list of faces f in E such that there exists an upward-planar drawing realizing E with f as external face a node v_T in tree T is returned as representative. v_T is 0 if no possible external face exists.

Definition at line 116 of file FaceSinkGraph.h.

void ogdf::FaceSinkGraph::sinkSwitches ( FaceArray< List< adjEntry > > &  faceSwitches  ) 

compute the sink switches of all faces.

void ogdf::FaceSinkGraph::stAugmentation ( node  h,
Graph G,
SList< node > &  augmentedNodes,
SList< edge > &  augmentedEdges 
)

augments G to an st-planar graph (original implementation)

introduces also new nodes into G corresponding to face-nodes in face sink graph)

void ogdf::FaceSinkGraph::stAugmentation ( node  h,
Graph G,
node superSink,
SList< edge > &  augmentedEdges 
)

augments G to an st-planar graph

(introduces only one new node as super sink into G)


Member Data Documentation

contains face node the source ?

Definition at line 203 of file FaceSinkGraph.h.

original face in E

Definition at line 202 of file FaceSinkGraph.h.

original node in G

Definition at line 201 of file FaceSinkGraph.h.

associated embedding of graph G

Definition at line 197 of file FaceSinkGraph.h.

the single source

Definition at line 198 of file FaceSinkGraph.h.

representative of unique tree T

Definition at line 199 of file FaceSinkGraph.h.


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