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
36
37namespace ogdf {
38
39class OGDF_EXPORT SPQRTree;
40
42
60public:
61 // constructor
62
64
70 explicit Skeleton(node vT) : m_treeNode(vT) { }
71
72 // destructor
73 virtual ~Skeleton() { }
74
76 virtual const SPQRTree& owner() const = 0;
77
79 node treeNode() const { return m_treeNode; }
80
82
86 edge referenceEdge() const { return m_referenceEdge; }
87
89 const Graph& getGraph() const { return m_M; }
90
92 Graph& getGraph() { return m_M; }
93
95
98 virtual node original(node v) const = 0;
99
101
104 virtual bool isVirtual(edge e) const = 0;
105
107
111 virtual edge realEdge(edge e) const = 0;
112
114
118 virtual edge twinEdge(edge e) const = 0;
119
121
125 virtual node twinTreeNode(edge e) const = 0;
126
128
129protected:
133};
134
135}
Declaration and implementation of EdgeArray class.
Declaration and implementation of NodeArray class.
Class for the representation of edges.
Definition Graph_d.h:300
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Class for the representation of nodes.
Definition Graph_d.h:177
Linear-time implementation of static SPQR-trees.
Definition SPQRTree.h:70
Skeleton graphs of nodes in an SPQR-tree.
Definition Skeleton.h:59
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:130
Graph & getGraph()
Returns a reference to the skeleton graph M.
Definition Skeleton.h:92
Skeleton(node vT)
Creates a skeleton S with owner tree T and corresponding node vT.
Definition Skeleton.h:70
edge m_referenceEdge
reference edge
Definition Skeleton.h:131
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:89
Graph m_M
actual skeleton graph
Definition Skeleton.h:132
virtual ~Skeleton()
Definition Skeleton.h:73
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:79
edge referenceEdge() const
Returns the reference edge of S in M.
Definition Skeleton.h:86
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
#define OGDF_NEW_DELETE
Makes the class use OGDF's memory allocator.
Definition memory.h:84
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.