Skeleton graphs of nodes in an SPQR-tree. More...
#include <ogdf/decomposition/Skeleton.h>
Public Member Functions | |
| Skeleton (node vT) | |
| Creates a skeleton S with owner tree T and corresponding node vT. | |
| virtual | ~Skeleton () |
| virtual const SPQRTree & | owner () const =0 |
| Returns the owner tree T. | |
| node | treeNode () const |
| Returns the corresponding node in the owner tree T to which S belongs. | |
| edge | referenceEdge () const |
| Returns the reference edge of S in M. | |
| const Graph & | getGraph () const |
| Returns a reference to the skeleton graph M. | |
| Graph & | getGraph () |
| Returns a reference to the skeleton graph M. | |
| virtual node | original (node v) const =0 |
| Returns the vertex in the original graph G that corresponds to v. | |
| virtual bool | isVirtual (edge e) const =0 |
| Returns true iff e is a virtual edge. | |
| virtual edge | realEdge (edge e) const =0 |
| Returns the real edge that corresponds to skeleton edge e. | |
| virtual edge | twinEdge (edge e) const =0 |
| Returns the twin edge of skeleton edge e. | |
| virtual node | twinTreeNode (edge e) const =0 |
| Returns the tree node in T containing the twin edge of skeleton edge e. | |
Protected Attributes | |
| node | m_treeNode |
| corresp. tree node in owner tree | |
| edge | m_referenceEdge |
| reference edge | |
| Graph | m_M |
| actual skeleton graph | |
Skeleton graphs of nodes in an SPQR-tree.
The class Skeleton maintains the skeleton S of a node vT in an 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 77 of file Skeleton.h.
| ogdf::Skeleton::Skeleton | ( | node | vT | ) | [inline] |
Creates a skeleton S with owner tree T and corresponding node vT.
Definition at line 90 of file Skeleton.h.
| virtual ogdf::Skeleton::~Skeleton | ( | ) | [inline, virtual] |
Definition at line 94 of file Skeleton.h.
| const Graph& ogdf::Skeleton::getGraph | ( | ) | const [inline] |
Returns a reference to the skeleton graph M.
Definition at line 115 of file Skeleton.h.
| Graph& ogdf::Skeleton::getGraph | ( | ) | [inline] |
Returns a reference to the skeleton graph M.
Definition at line 120 of file Skeleton.h.
| virtual bool ogdf::Skeleton::isVirtual | ( | edge | e | ) | const [pure virtual] |
Returns true iff e is a virtual edge.
Implemented in ogdf::DynamicSkeleton, and ogdf::StaticSkeleton.
| virtual node ogdf::Skeleton::original | ( | node | v | ) | const [pure virtual] |
Returns the vertex in the original graph G that corresponds to v.
Implemented in ogdf::DynamicSkeleton, and ogdf::StaticSkeleton.
| virtual const SPQRTree& ogdf::Skeleton::owner | ( | ) | const [pure virtual] |
Returns the owner tree T.
Implemented in ogdf::DynamicSkeleton, and ogdf::StaticSkeleton.
| virtual edge ogdf::Skeleton::realEdge | ( | edge | e | ) | const [pure virtual] |
Returns the real edge that corresponds to skeleton edge e.
If e is virtual edge, then 0 is returned.
Implemented in ogdf::StaticSkeleton, and ogdf::DynamicSkeleton.
| edge ogdf::Skeleton::referenceEdge | ( | ) | const [inline] |
Returns the reference edge of S in M.
The reference edge is a real edge if S is the skeleton of the root node of T, and a virtual edge otherwise.
Definition at line 110 of file Skeleton.h.
| node ogdf::Skeleton::treeNode | ( | ) | const [inline] |
Returns the corresponding node in the owner tree T to which S belongs.
Definition at line 101 of file Skeleton.h.
| virtual edge ogdf::Skeleton::twinEdge | ( | edge | e | ) | const [pure virtual] |
Returns the twin edge of skeleton edge e.
If e is not a virtual edge, then 0 is returned.
Implemented in ogdf::StaticSkeleton, and ogdf::DynamicSkeleton.
| virtual node ogdf::Skeleton::twinTreeNode | ( | edge | e | ) | const [pure virtual] |
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.
Implemented in ogdf::StaticSkeleton, and ogdf::DynamicSkeleton.
Graph ogdf::Skeleton::m_M [protected] |
actual skeleton graph
Definition at line 162 of file Skeleton.h.
edge ogdf::Skeleton::m_referenceEdge [protected] |
reference edge
Definition at line 161 of file Skeleton.h.
node ogdf::Skeleton::m_treeNode [protected] |
corresp. tree node in owner tree
Definition at line 160 of file Skeleton.h.