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 00044 #ifdef _MSC_VER 00045 #pragma once 00046 #endif 00047 00048 #ifndef OGDF_SHELLING_ORDER_MODULE_H 00049 #define OGDF_SHELLING_ORDER_MODULE_H 00050 00051 00052 #include <ogdf/planarlayout/ShellingOrder.h> 00053 00054 00055 namespace ogdf { 00056 00057 00062 class OGDF_EXPORT ShellingOrderModule 00063 { 00064 public: 00066 00072 void call(const Graph &G, ShellingOrder &order, adjEntry adj = 0); 00073 00075 00081 void callLeftmost(const Graph &G, ShellingOrder &order, adjEntry adj = 0); 00082 00084 void baseRatio(double x) {m_baseRatio = x;} 00085 00087 double baseRatio() const {return m_baseRatio;} 00088 00089 virtual ~ShellingOrderModule() { } 00090 00091 protected: 00093 00101 virtual void doCall(const Graph &G, 00102 adjEntry adj, 00103 List<ShellingOrderSet> &partition) = 0; 00104 00105 double m_baseRatio; 00106 00107 }; 00108 00109 00110 } // end namespace ogdf 00111 00112 00113 #endif