Open
Graph Drawing
Framework

 v.2012.05
 

SplitHeuristic.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  
00042 #ifdef _MSC_VER
00043 #pragma once
00044 #endif
00045 
00046 #ifndef OGDF_SPLIT_HEURISTIC_H
00047 #define OGDF_SPLIT_HEURISTIC_H
00048 
00049 
00050 #include <ogdf/basic/EdgeArray.h>
00051 #include <ogdf/layered/CrossingsMatrix.h>
00052 #include <ogdf/simultaneous/TwoLayerCrossMinSimDraw.h>
00053 
00054 namespace ogdf {
00055 
00056 
00058 class OGDF_EXPORT SplitHeuristic : public TwoLayerCrossMinSimDraw
00059 {
00060 public:
00062     void init (const Hierarchy &H);
00063 
00065     void call (Level &L);
00066 
00068     void call (Level &L, const EdgeArray<unsigned int> *edgeSubGraph); 
00069 
00071     void cleanup ();
00072 
00073 private:
00074     CrossingsMatrix *m_cm;
00075     Array<node> buffer;
00076 
00077     void recCall(Level&, int low, int high);
00078 };
00079 
00080 }// end namespace ogdf
00081 
00082 #endif