Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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

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

#include <ogdf/decomposition/DynamicSkeleton.h>

+ Inheritance diagram for ogdf::DynamicSkeleton:

Public Member Functions

 DynamicSkeleton (const DynamicSPQRTree *T, node vT)
 Creates a skeleton S with owner tree T and corresponding node vT.
 
 ~DynamicSkeleton ()
 
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 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

EdgeArray< edgem_origEdge
 corresp.
 
NodeArray< nodem_origNode
 corresp.
 
const DynamicSPQRTreem_owner
 owner tree
 
- Protected Attributes inherited from ogdf::Skeleton
Graph m_M
 actual skeleton graph
 
edge m_referenceEdge
 reference edge
 
node m_treeNode
 corresp.
 

Friends

class DynamicSPQRTree
 

Detailed Description

Skeleton graphs of nodes in a dynamic SPQR-tree.

The class DynamicSkeleton maintains the skeleton S of a node vT in a dynamic 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 DynamicSkeleton.h.

Constructor & Destructor Documentation

◆ DynamicSkeleton()

ogdf::DynamicSkeleton::DynamicSkeleton ( const DynamicSPQRTree 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 DynamicSPQRTree and can be accessed with the skeleton() function of DynamicSPQRTree.

◆ ~DynamicSkeleton()

ogdf::DynamicSkeleton::~DynamicSkeleton ( )
inline

Definition at line 74 of file DynamicSkeleton.h.

Member Function Documentation

◆ isVirtual()

bool ogdf::DynamicSkeleton::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 96 of file DynamicSkeleton.h.

◆ original()

node ogdf::DynamicSkeleton::original ( node  v) const
overridevirtual

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

Precondition
v is a node in M.

Implements ogdf::Skeleton.

◆ owner()

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

Returns the owner tree T.

Implements ogdf::Skeleton.

◆ realEdge()

edge ogdf::DynamicSkeleton::realEdge ( edge  e) const
overridevirtual

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.

◆ twinEdge()

edge ogdf::DynamicSkeleton::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::DynamicSkeleton::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

◆ DynamicSPQRTree

Definition at line 59 of file DynamicSkeleton.h.

Member Data Documentation

◆ m_origEdge

EdgeArray<edge> ogdf::DynamicSkeleton::m_origEdge
protected

corresp.

original edge

Definition at line 117 of file DynamicSkeleton.h.

◆ m_origNode

NodeArray<node> ogdf::DynamicSkeleton::m_origNode
protected

corresp.

original node

Definition at line 116 of file DynamicSkeleton.h.

◆ m_owner

const DynamicSPQRTree* ogdf::DynamicSkeleton::m_owner
protected

owner tree

Definition at line 115 of file DynamicSkeleton.h.


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