Open
Graph Drawing
Framework

 v.2012.05
 

StaticSkeleton.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_STATIC_SKELETON_H
00049 #define OGDF_STATIC_SKELETON_H
00050 
00051 
00052 #include <ogdf/decomposition/Skeleton.h>
00053 
00054 
00055 namespace ogdf {
00056 
00057     class OGDF_EXPORT StaticSPQRTree;
00058 
00059 
00061 
00076 class OGDF_EXPORT StaticSkeleton : public Skeleton
00077 {
00078     friend class OGDF_EXPORT StaticSPQRTree;
00079 
00080 public:
00081 
00082     // constructor
00083 
00085 
00091     StaticSkeleton(const StaticSPQRTree *T, node vT);
00092 
00093 
00094     // destructor
00095     ~StaticSkeleton() { }
00096 
00097 
00099     const SPQRTree &owner() const;
00100 
00102 
00105     node original (node v) const {
00106         return m_orig[v];
00107     }
00108 
00110 
00113     bool isVirtual (edge e) const {
00114         return (m_real[e] == 0);
00115     }
00116 
00118 
00122     edge realEdge (edge e) const {
00123         return m_real[e];
00124     }
00125 
00127 
00131     edge twinEdge (edge e) const;
00132 
00134 
00138     node twinTreeNode (edge e) const;
00139 
00141 
00145     edge treeEdge (edge e) const {
00146         return m_treeEdge[e];
00147     }
00148 
00149     OGDF_MALLOC_NEW_DELETE
00150 
00151 protected:
00152     const StaticSPQRTree *m_owner;     
00153     NodeArray<node>       m_orig;      
00154     EdgeArray<edge>       m_real;      
00155     EdgeArray<edge>       m_treeEdge;  
00156 };
00157 
00158 
00159 } // end namespace ogdf
00160 
00161 
00162 #endif