Open
Graph Drawing
Framework

 v.2010.10
 

Public Member Functions | Private Member Functions | Private Attributes

ogdf::EmbedderMinDepthMaxFace Class Reference

Planar graph embedding with minimum block-nesting depth and maximum external face. More...

#include <ogdf/planarity/EmbedderMinDepthMaxFace.h>

Inheritance diagram for ogdf::EmbedderMinDepthMaxFace:
ogdf::EmbedderModule ogdf::Module ogdf::Timeouter

List of all members.

Public Member Functions

 EmbedderMinDepthMaxFace ()
void call (PlanRep &PG, adjEntry &adjExternal)
 Call embedder algorithm.

Private Member Functions

int md_bottomUpTraversal (const node &bT, const node &cH)
 Bottom-up-traversal of bcTree computing the values m_{cT, bT} for all edges (cT, bT) in the BC-tree. The length of each vertex v c in bT is set to 1 if v M_{bT} and to 0 otherwise.
void md_topDownTraversal (const node &bT)
 Top-down-traversal of BC-tree. The minimum depth of the BC-tree-node bT is calculated and before calling the function recursively for all children of bT in the BC-tree, the nodeLength of the cut-vertex which bT and the child have in common is computed. The length of each node is set to 1 if it is in M_B and 0 otherwise, except for |M_B| = 1, than it is set to 1 if it is in M2 with m2 = max_{v V_B, v != c} m_B(v) and M2 = {c V_B \ {v} | m_B(c) = m2}.
int mf_constraintMaxFace (const node &bT, const node &cH)
 Bottom up traversal of BC-tree.
void mf_maximumFaceRec (const node &bT, node &bT_opt, int &ell_opt)
 Top down traversal of BC-tree.
void embedBlock (const node &bT)
 Computes the adjacency list for all nodes in a block and calls recursively the function for all blocks incident to nodes in bT.
void embedBlock (const node &bT, const node &cT, ListIterator< adjEntry > &after)
 Computes the adjacency list for all nodes in a block and calls recursively the function for all blocks incident to nodes in bT.

Private Attributes

BCTreepBCTree
adjEntrypAdjExternal
NodeArray< int > md_nodeLength
NodeArray< int > md_minDepth
EdgeArray< int > md_m_cB
NodeArray< List< node > > md_M_B
NodeArray< List< node > > md_M2
NodeArray< int > mf_nodeLength
NodeArray< int > mf_cstrLength
NodeArray< int > mf_maxFaceSize
NodeArray< mdmf_lamdmf_nodeLength
EdgeArray< mdmf_lamdmf_edgeLength
NodeArray< List< adjEntry > > newOrder
NodeArray< bool > treeNodeTreated

Detailed Description

Planar graph embedding with minimum block-nesting depth and maximum external face.

Definition at line 68 of file EmbedderMinDepthMaxFace.h.


Constructor & Destructor Documentation

ogdf::EmbedderMinDepthMaxFace::EmbedderMinDepthMaxFace (  )  [inline]

Definition at line 68 of file EmbedderMinDepthMaxFace.h.


Member Function Documentation

void ogdf::EmbedderMinDepthMaxFace::call ( PlanRep PG,
adjEntry adjExternal 
) [virtual]

Call embedder algorithm.

Parameters:
PG is the original graph. Its adjacency list has to be changed by the embedder.
adjExternal is an adjacency entry on the external face and has to be set by the embedder.

Implements ogdf::EmbedderModule.

void ogdf::EmbedderMinDepthMaxFace::embedBlock ( const node bT,
const node cT,
ListIterator< adjEntry > &  after 
) [private]

Computes the adjacency list for all nodes in a block and calls recursively the function for all blocks incident to nodes in bT.

Parameters:
bT is the tree node treated in this function call.
cT is the parent cut vertex node of bT in the BC-tree. cT is 0 if bT is the root block.
after is the adjacency entry of the cut vertex, after which bT has to be inserted.
void ogdf::EmbedderMinDepthMaxFace::embedBlock ( const node bT  )  [private]

Computes the adjacency list for all nodes in a block and calls recursively the function for all blocks incident to nodes in bT.

Parameters:
bT is the tree node treated in this function call.
int ogdf::EmbedderMinDepthMaxFace::md_bottomUpTraversal ( const node bT,
const node cH 
) [private]

Bottom-up-traversal of bcTree computing the values m_{cT, bT} for all edges (cT, bT) in the BC-tree. The length of each vertex v c in bT is set to 1 if v M_{bT} and to 0 otherwise.

Parameters:
\a bT is a block vertex in the BC-tree.
\a cH is a vertex in the original graph G.
Returns:
Minimum depth of an embedding of bT with cH on the external face.
void ogdf::EmbedderMinDepthMaxFace::md_topDownTraversal ( const node bT  )  [private]

Top-down-traversal of BC-tree. The minimum depth of the BC-tree-node bT is calculated and before calling the function recursively for all children of bT in the BC-tree, the nodeLength of the cut-vertex which bT and the child have in common is computed. The length of each node is set to 1 if it is in M_B and 0 otherwise, except for |M_B| = 1, than it is set to 1 if it is in M2 with m2 = max_{v V_B, v != c} m_B(v) and M2 = {c V_B \ {v} | m_B(c) = m2}.

Parameters:
\a bT is a block vertex in the BC-tree.
int ogdf::EmbedderMinDepthMaxFace::mf_constraintMaxFace ( const node bT,
const node cH 
) [private]

Bottom up traversal of BC-tree.

Parameters:
bT is the BC-tree node treated in this function call.
cH is the block node which is related to the cut vertex which is parent of bT in BC-tree.
void ogdf::EmbedderMinDepthMaxFace::mf_maximumFaceRec ( const node bT,
node bT_opt,
int &  ell_opt 
) [private]

Top down traversal of BC-tree.

Parameters:
bT is the tree node treated in this function call.
return bT_opt is a block node in BC-tree which contains a face which cann be expanded to a maximum face.
ell_opt is the size of a maximum face.

Member Data Documentation

M2 is empty, if |M_B| != 1, otherwise M_B = {cH} M2 = {cH' V_B \ {v} | m_B(cH') = m2} with m2 = max_{vH V_B, vH != cH} m_B(vH).

Definition at line 165 of file EmbedderMinDepthMaxFace.h.

M_B = {cH B | m_B(cH) = m_B} with m_B = max_{c B} m_B(c) and m_B(c) = max {0} {m_{c, B'} | c B', B' B}.

Definition at line 160 of file EmbedderMinDepthMaxFace.h.

an array saving the length for each edge in the BC-tree

Definition at line 156 of file EmbedderMinDepthMaxFace.h.

an array containing the minimum depth of each block

Definition at line 153 of file EmbedderMinDepthMaxFace.h.

saving for each node in the block graph its length

Definition at line 150 of file EmbedderMinDepthMaxFace.h.

is saving for each edge of the block graph its length

Definition at line 180 of file EmbedderMinDepthMaxFace.h.

is saving for each node of the block graph its length

Definition at line 177 of file EmbedderMinDepthMaxFace.h.

is saving for each node of the block graph its cstrLength

Definition at line 171 of file EmbedderMinDepthMaxFace.h.

an array containing the maximum face size of each block

Definition at line 174 of file EmbedderMinDepthMaxFace.h.

is saving for each node of the block graph its length

Definition at line 168 of file EmbedderMinDepthMaxFace.h.

saves for every node of PG the new adjacency list

Definition at line 183 of file EmbedderMinDepthMaxFace.h.

an adjacency entry on the external face

Definition at line 147 of file EmbedderMinDepthMaxFace.h.

the BC-tree of PG

Definition at line 144 of file EmbedderMinDepthMaxFace.h.

treeNodeTreated saves for all block nodes in the BC-tree if it has already been treated or not.

Definition at line 187 of file EmbedderMinDepthMaxFace.h.


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