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 #ifndef OGDF_RANKING_MODULE_H 00048 #define OGDF_RANKING_MODULE_H 00049 00050 00051 00052 #include <ogdf/basic/Graph.h> 00053 00054 00055 namespace ogdf { 00056 00057 00063 class OGDF_EXPORT RankingModule { 00064 public: 00066 RankingModule() { } 00067 00068 virtual ~RankingModule() { } 00069 00079 virtual void call(const Graph &G, NodeArray<int> &rank) = 0; 00080 00081 virtual void call(const Graph &G, const EdgeArray<int> & /* length */, const EdgeArray<int> & /* cost */, NodeArray<int> &rank) 00082 { 00083 call(G, rank); 00084 } 00085 00092 void operator()(const Graph &G, NodeArray<int> &rank) { 00093 call(G,rank); 00094 } 00095 00096 OGDF_MALLOC_NEW_DELETE 00097 }; 00098 00099 00100 } // end namespace ogdf 00101 00102 00103 #endif