Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Skeleton.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Graph.h>
35#include <ogdf/basic/basic.h>
36#include <ogdf/basic/memory.h>
37
38namespace ogdf {
39
40class SPQRTree;
41
43
61public:
62 // constructor
63
65
71 explicit Skeleton(node vT) : m_treeNode(vT) { }
72
73 // destructor
74 virtual ~Skeleton() { }
75
77 virtual const SPQRTree& owner() const = 0;
78
80 node treeNode() const { return m_treeNode; }
81
83
87 edge referenceEdge() const { return m_referenceEdge; }
88
90 const Graph& getGraph() const { return m_M; }
91
93 Graph& getGraph() { return m_M; }
94
96
99 virtual node original(node v) const = 0;
100
102
105 virtual bool isVirtual(edge e) const = 0;
106
108
112 virtual edge realEdge(edge e) const = 0;
113
115
119 virtual edge twinEdge(edge e) const = 0;
120
122
126 virtual node twinTreeNode(edge e) const = 0;
127
129
130protected:
134};
135
136}
Includes declaration of graph class.
Basic declarations, included by all source files.
Class for the representation of edges.
Definition Graph_d.h:364
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:866
Class for the representation of nodes.
Definition Graph_d.h:241
Linear-time implementation of static SPQR-trees.
Definition SPQRTree.h:73
Skeleton graphs of nodes in an SPQR-tree.
Definition Skeleton.h:60
virtual edge twinEdge(edge e) const =0
Returns the twin edge of skeleton edge e.
virtual node original(node v) const =0
Returns the vertex in the original graph G that corresponds to v.
virtual const SPQRTree & owner() const =0
Returns the owner tree T.
node m_treeNode
corresp.
Definition Skeleton.h:131
Graph & getGraph()
Returns a reference to the skeleton graph M.
Definition Skeleton.h:93
Skeleton(node vT)
Creates a skeleton S with owner tree T and corresponding node vT.
Definition Skeleton.h:71
edge m_referenceEdge
reference edge
Definition Skeleton.h:132
virtual edge realEdge(edge e) const =0
Returns the real edge that corresponds to skeleton edge e.
virtual node twinTreeNode(edge e) const =0
Returns the tree node in T containing the twin edge of skeleton edge e.
const Graph & getGraph() const
Returns a reference to the skeleton graph M.
Definition Skeleton.h:90
Graph m_M
actual skeleton graph
Definition Skeleton.h:133
virtual ~Skeleton()
Definition Skeleton.h:74
virtual bool isVirtual(edge e) const =0
Returns true iff e is a virtual edge.
node treeNode() const
Returns the corresponding node in the owner tree T to which S belongs.
Definition Skeleton.h:80
edge referenceEdge() const
Returns the reference edge of S in M.
Definition Skeleton.h:87
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
#define OGDF_NEW_DELETE
Makes the class use OGDF's memory allocator.
Definition memory.h:85
Declaration of memory manager for allocating small pieces of memory.
The namespace for all OGDF objects.