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_LAYOUT_CLUSTER_PLAN_REP_MODULE_H 00049 #define OGDF_LAYOUT_CLUSTER_PLAN_REP_MODULE_H 00050 00051 00052 00053 #include <ogdf/cluster/ClusterPlanRep.h> 00054 #include <ogdf/basic/Layout.h> 00055 00056 00057 00058 namespace ogdf { 00059 00060 class NodePair; 00061 00068 class OGDF_EXPORT LayoutClusterPlanRepModule { 00069 public: 00071 LayoutClusterPlanRepModule() { } 00072 00073 virtual ~LayoutClusterPlanRepModule() { } 00074 00084 virtual void call(ClusterPlanRep &PG, 00085 adjEntry adjExternal, 00086 Layout &drawing, 00087 List<NodePair>& npEdges, 00088 List<edge>& newEdges, 00089 Graph& originalGraph) = 0; 00090 00091 00093 const DPoint &getBoundingBox() const { 00094 return m_boundingBox; 00095 } 00096 00098 virtual void setOptions(int /* optionField */) { } //don't make it abstract 00099 00101 virtual int getOptions() { return 0; } //don't make it abstract 00102 00104 virtual double separation() const = 0; 00105 00107 virtual void separation(double sep) = 0; 00108 00109 protected: 00114 DPoint m_boundingBox; 00115 00116 00117 OGDF_MALLOC_NEW_DELETE 00118 }; 00119 00120 00121 } // end namespace ogdf 00122 00123 00124 #endif