Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::StaticSkeleton Class Reference

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

#include <ogdf/decomposition/StaticSkeleton.h>

+ Inheritance diagram for ogdf::StaticSkeleton:

Public Member Functions

 StaticSkeleton (const StaticSPQRTree *T, node vT)
 Creates a skeleton S with owner tree T and corresponding node vT.
 
 ~StaticSkeleton ()
 
bool isVirtual (edge e) const override
 Returns true iff e is a virtual edge.
 
node original (node v) const override
 Returns the vertex in the original graph G that corresponds to v.
 
const SPQRTreeowner () const override
 Returns the owner tree T.
 
edge realEdge (edge e) const override
 Returns the real edge that corresponds to skeleton edge e.
 
edge treeEdge (edge e) const
 Returns the tree edge which is associated with skeleton edge e.
 
edge twinEdge (edge e) const override
 Returns the twin edge of skeleton edge e.
 
node twinTreeNode (edge e) const override
 Returns the tree node in T containing the twin edge of skeleton edge e.
 
- Public Member Functions inherited from ogdf::Skeleton
 Skeleton (node vT)
 Creates a skeleton S with owner tree T and corresponding node vT.
 
virtual ~Skeleton ()
 
GraphgetGraph ()
 Returns a reference to the skeleton graph M.
 
const GraphgetGraph () const
 Returns a reference to the skeleton graph M.
 
edge referenceEdge () const
 Returns the reference edge of S in M.
 
node treeNode () const
 Returns the corresponding node in the owner tree T to which S belongs.
 

Protected Attributes

NodeArray< nodem_orig
 corresp.
 
const StaticSPQRTreem_owner
 owner tree
 
EdgeArray< edgem_real
 corresp.
 
EdgeArray< edgem_treeEdge
 corresp.
 
- Protected Attributes inherited from ogdf::Skeleton
Graph m_M
 actual skeleton graph
 
edge m_referenceEdge
 reference edge
 
node m_treeNode
 corresp.
 

Friends

class 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 58 of file StaticSkeleton.h.

Constructor & Destructor Documentation

◆ StaticSkeleton()

ogdf::StaticSkeleton::StaticSkeleton ( const StaticSPQRTree T,
node  vT 
)

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.

◆ ~StaticSkeleton()

ogdf::StaticSkeleton::~StaticSkeleton ( )
inline

Definition at line 74 of file StaticSkeleton.h.

Member Function Documentation

◆ isVirtual()

bool ogdf::StaticSkeleton::isVirtual ( edge  e) const
inlineoverridevirtual

Returns true iff e is a virtual edge.

Precondition
e is an edge in M

Implements ogdf::Skeleton.

Definition at line 89 of file StaticSkeleton.h.

◆ original()

node ogdf::StaticSkeleton::original ( node  v) const
inlineoverridevirtual

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 83 of file StaticSkeleton.h.

◆ owner()

const SPQRTree & ogdf::StaticSkeleton::owner ( ) const
overridevirtual

Returns the owner tree T.

Implements ogdf::Skeleton.

◆ realEdge()

edge ogdf::StaticSkeleton::realEdge ( edge  e) const
inlineoverridevirtual

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 96 of file StaticSkeleton.h.

◆ treeEdge()

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 117 of file StaticSkeleton.h.

◆ twinEdge()

edge ogdf::StaticSkeleton::twinEdge ( edge  e) const
overridevirtual

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.

◆ twinTreeNode()

node ogdf::StaticSkeleton::twinTreeNode ( edge  e) const
overridevirtual

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 Symbol Documentation

◆ StaticSPQRTree

Definition at line 59 of file StaticSkeleton.h.

Member Data Documentation

◆ m_orig

NodeArray<node> ogdf::StaticSkeleton::m_orig
protected

corresp.

original node

Definition at line 123 of file StaticSkeleton.h.

◆ m_owner

const StaticSPQRTree* ogdf::StaticSkeleton::m_owner
protected

owner tree

Definition at line 122 of file StaticSkeleton.h.

◆ m_real

EdgeArray<edge> ogdf::StaticSkeleton::m_real
protected

corresp.

original edge (0 if virtual)

Definition at line 124 of file StaticSkeleton.h.

◆ m_treeEdge

EdgeArray<edge> ogdf::StaticSkeleton::m_treeEdge
protected

corresp.

tree edge (0 if real)

Definition at line 125 of file StaticSkeleton.h.


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