Open
Graph Drawing
Framework

 v.2007.11
 

EmbedderMinDepthMaxFace.h

Go to the documentation of this file.
00001 /*
00002  * $Revision: 1.22 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2007-11-15 13:46:15 +0100 (Do, 15 Nov 2007) $ 
00007  ***************************************************************/
00008  
00053 #ifdef _MSC_VER
00054 #pragma once
00055 #endif
00056 
00057 #ifndef OGDF_EMBEDDER_MIN_DEPTH_MAX_FACE_H
00058 #define OGDF_EMBEDDER_MIN_DEPTH_MAX_FACE_H
00059 
00060 #include <ogdf/module/EmbedderModule.h>
00061 #include <ogdf/decomposition/BCTree.h>
00062 #include <ogdf/internal/planarity/EmbedderMDMFLengthAttribute.h>
00063 
00064 namespace ogdf {
00065 
00067 class EmbedderMinDepthMaxFace : public EmbedderModule
00068 {
00069 public:
00070     //constructor:
00071     EmbedderMinDepthMaxFace() { }
00072 
00078     void call(PlanRep& PG, adjEntry& adjExternal);
00079 
00080 private:
00091     int md_bottomUpTraversal(const node& bT, const node& cH);
00092     
00104     void md_topDownTraversal(const node& bT);
00105 
00113     int mf_constraintMaxFace(const node& bT, const node& cH);
00114 
00123     void mf_maximumFaceRec(const node& bT, node& bT_opt, int& ell_opt);
00124 
00131   void embedBlock(const node& bT);
00132 
00143   void embedBlock(const node& bT, const node& cT, ListIterator<adjEntry>& after);
00144 
00145 private:
00147     BCTree* pBCTree;
00148 
00150     adjEntry* pAdjExternal;
00151     
00153     NodeArray<int> md_nodeLength;
00154 
00156     NodeArray<int> md_minDepth;
00157 
00159     EdgeArray<int> md_m_cB;
00160 
00163     NodeArray< List<node> > md_M_B;
00164 
00168     NodeArray< List<node> > md_M2;
00169 
00171     NodeArray<int> mf_nodeLength;
00172 
00174     NodeArray<int> mf_cstrLength;
00175 
00177     NodeArray<int> mf_maxFaceSize;
00178 
00180     NodeArray<mdmf_la> mdmf_nodeLength;
00181 
00183     EdgeArray<mdmf_la> mdmf_edgeLength;
00184 
00186     NodeArray< List<adjEntry> > newOrder;
00187 
00190     NodeArray<bool> treeNodeTreated;
00191 };
00192 
00193 } // end namespace ogdf
00194 
00195 #endif


© 1999-2007 by oreas GmbH, © 2005-2007 by University Dortmund and University Cologne.

Generated on Thu Nov 22 19:40:03 2007 by doxygen 1.5.4.