Open
Graph Drawing
Framework

 v.2012.05
 

DynamicSkeleton.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
00007  ***************************************************************/
00008  
00043 #ifdef _MSC_VER
00044 #pragma once
00045 #endif
00046 
00047 
00048 #ifndef OGDF_DYNAMIC_SKELETON_H
00049 #define OGDF_DYNAMIC_SKELETON_H
00050 
00051 
00052 #include <ogdf/decomposition/Skeleton.h>
00053 
00054 
00055 namespace ogdf {
00056 
00057     class DynamicSPQRTree;
00058 
00059 
00061 
00076 class OGDF_EXPORT DynamicSkeleton : public Skeleton
00077 {
00078     friend class DynamicSPQRTree;
00079 
00080 public:
00081 
00082     // constructor
00083 
00085 
00091     DynamicSkeleton(const DynamicSPQRTree *T, node vT);
00092 
00093 
00094     // destructor
00095     ~DynamicSkeleton() { }
00096 
00097 
00099     const SPQRTree &owner() const;
00100 
00102 
00105     node original (node v) const;
00106 
00108 
00112     edge realEdge (edge e) const;
00113 
00115 
00118     bool isVirtual (edge e) const {
00119         return !realEdge(e);
00120     }
00121 
00123 
00127     edge twinEdge (edge e) const;
00128 
00130 
00134     node twinTreeNode (edge e) const;
00135 
00136     OGDF_NEW_DELETE
00137 
00138 protected:
00139     const DynamicSPQRTree *m_owner;     
00140     NodeArray<node>        m_origNode;  
00141     EdgeArray<edge>        m_origEdge;  
00142 };
00143 
00144 
00145 } // end namespace ogdf
00146 
00147 
00148 #endif