Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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

Protected Attributes

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

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 62 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 78 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 93 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 87 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 100 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 121 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 Function Documentation

◆ StaticSPQRTree

friend class StaticSPQRTree
friend

Definition at line 63 of file StaticSkeleton.h.

Member Data Documentation

◆ m_orig

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

corresp.

original node

Definition at line 127 of file StaticSkeleton.h.

◆ m_owner

const StaticSPQRTree* ogdf::StaticSkeleton::m_owner
protected

owner tree

Definition at line 126 of file StaticSkeleton.h.

◆ m_real

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

corresp.

original edge (0 if virtual)

Definition at line 128 of file StaticSkeleton.h.

◆ m_treeEdge

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

corresp.

tree edge (0 if real)

Definition at line 129 of file StaticSkeleton.h.


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