Open
Graph Drawing
Framework

 v.2012.05
 

ogdf::StaticSkeleton Class Reference

Skeleton graphs of nodes in a static SPQR-tree. More...

#include <ogdf/decomposition/StaticSkeleton.h>

Inheritance diagram for ogdf::StaticSkeleton:
ogdf::Skeleton

List of all members.

Public Member Functions

 StaticSkeleton (const StaticSPQRTree *T, node vT)
 Creates a skeleton S with owner tree T and corresponding node vT.
 ~StaticSkeleton ()
const SPQRTreeowner () const
 Returns the owner tree T.
node original (node v) const
 Returns the vertex in the original graph G that corresponds to v.
bool isVirtual (edge e) const
 Returns true iff e is a virtual edge.
edge realEdge (edge e) const
 Returns the real edge that corresponds to skeleton edge e.
edge twinEdge (edge e) const
 Returns the twin edge of skeleton edge e.
node twinTreeNode (edge e) const
 Returns the tree node in T containing the twin edge of skeleton edge e.
edge treeEdge (edge e) const
 Returns the tree edge which is associated with skeleton edge e.

Protected Attributes

const StaticSPQRTreem_owner
 owner tree
NodeArray< nodem_orig
 corresp. original node
EdgeArray< edgem_real
 corresp. original edge (0 if virtual)
EdgeArray< edgem_treeEdge
 corresp. tree edge (0 if real)

Friends

class OGDF_EXPORT StaticSPQRTree

Detailed Description

Skeleton graphs of nodes in a static SPQR-tree.

The class StaticSkeleton maintains the skeleton S of a node vT in a static SPQR-tree T. We call T the owner tree of S and vT the corresponding tree node. Let G be the original graph of T.

S consists of an undirected multi-graph M. If the owner tree of S is a PlanarSPQRTree, then M represents a combinatorial embedding. The vertices in M correspond to vertices in G. The edges in M are of two types: Real edges correspond to edges in G and virtual edges correspond to tree-edges in T having vT as an endpoint.

Let e in M be a virtual edge and eT be the corresponding tree-edge. Then there exists exactly one edge e' in another skeleton S' of T that corresponds to eT as well. We call e' the twin edge of e.

Definition at line 76 of file StaticSkeleton.h.


Constructor & Destructor Documentation

Creates a skeleton S with owner tree T and corresponding node vT.

Precondition:
vT is a node in T
Remarks:
Skeletons are created by the constructor of SPQRTree and can be accessed with the skeleton() function of SPQRTree.

Definition at line 95 of file StaticSkeleton.h.


Member Function Documentation

bool ogdf::StaticSkeleton::isVirtual ( edge  e) const [inline, virtual]

Returns true iff e is a virtual edge.

Precondition:
e is an edge in M

Implements ogdf::Skeleton.

Definition at line 113 of file StaticSkeleton.h.

node ogdf::StaticSkeleton::original ( node  v) const [inline, virtual]

Returns the vertex in the original graph G that corresponds to v.

Precondition:
v is a node in M.

Implements ogdf::Skeleton.

Definition at line 105 of file StaticSkeleton.h.

const SPQRTree& ogdf::StaticSkeleton::owner ( ) const [virtual]

Returns the owner tree T.

Implements ogdf::Skeleton.

edge ogdf::StaticSkeleton::realEdge ( edge  e) const [inline, virtual]

Returns the real edge that corresponds to skeleton edge e.

If e is virtual edge, then 0 is returned.

Precondition:
e is an edge in M

Implements ogdf::Skeleton.

Definition at line 122 of file StaticSkeleton.h.

edge ogdf::StaticSkeleton::treeEdge ( edge  e) const [inline]

Returns the tree edge which is associated with skeleton edge e.

If e is not a virtual edge, then 0 is retuned.

Precondition:
e is an edge in M

Definition at line 145 of file StaticSkeleton.h.

edge ogdf::StaticSkeleton::twinEdge ( edge  e) const [virtual]

Returns the twin edge of skeleton edge e.

If e is not a virtual edge, then 0 is returned.

Precondition:
e is an edge in M

Implements ogdf::Skeleton.

Returns the tree node in T containing the twin edge of skeleton edge e.

If e is not a virtual edge, then 0 is returned.

Precondition:
e is an edge in M

Implements ogdf::Skeleton.


Friends And Related Function Documentation

friend class OGDF_EXPORT StaticSPQRTree [friend]

Definition at line 78 of file StaticSkeleton.h.


Member Data Documentation

corresp. original node

Definition at line 153 of file StaticSkeleton.h.

owner tree

Definition at line 152 of file StaticSkeleton.h.

corresp. original edge (0 if virtual)

Definition at line 154 of file StaticSkeleton.h.

corresp. tree edge (0 if real)

Definition at line 155 of file StaticSkeleton.h.


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