Open
Graph Drawing
Framework

 v.2012.07
 

Skeleton.h
Go to the documentation of this file.
1 /*
2  * $Revision: 2523 $
3  *
4  * last checkin:
5  * $Author: gutwenger $
6  * $Date: 2012-07-02 20:59:27 +0200 (Mon, 02 Jul 2012) $
7  ***************************************************************/
8 
44 #ifdef _MSC_VER
45 #pragma once
46 #endif
47 
48 
49 #ifndef OGDF_SKELETON_H
50 #define OGDF_SKELETON_H
51 
52 
53 #include <ogdf/basic/NodeArray.h>
54 #include <ogdf/basic/EdgeArray.h>
55 
56 
57 namespace ogdf {
58 
59  class OGDF_EXPORT SPQRTree;
60 
61 
63 
79 {
80 public:
81 
82  // constructor
83 
85 
91  Skeleton(node vT) : m_treeNode(vT) { }
92 
93 
94  // destructor
95  virtual ~Skeleton() { }
96 
97 
99  virtual const SPQRTree &owner() const=0;
100 
102  node treeNode() const {
103  return m_treeNode;
104  }
105 
107 
111  edge referenceEdge() const {
112  return m_referenceEdge;
113  }
114 
116  const Graph &getGraph() const {
117  return m_M;
118  }
119 
122  return m_M;
123  }
124 
126 
129  virtual node original (node v) const=0;
130 
132 
135  virtual bool isVirtual (edge e) const=0;
136 
138 
142  virtual edge realEdge (edge e) const=0;
143 
145 
149  virtual edge twinEdge (edge e) const=0;
150 
152 
156  virtual node twinTreeNode (edge e) const=0;
157 
159 
160 protected:
164 };
165 
166 
167 } // end namespace ogdf
168 
169 
170 #endif