Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00053 #ifdef _MSC_VER
00054 #pragma once
00055 #endif
00056
00057 #ifndef OGDF_CC_LAYOUT_PACK_MODULE_H
00058 #define OGDF_CC_LAYOUT_PACK_MODULE_H
00059
00060
00061
00062 #include <ogdf/basic/GraphAttributes.h>
00063
00064
00065
00066 namespace ogdf {
00067
00068
00075 class OGDF_EXPORT CCLayoutPackModule {
00076 public:
00078 CCLayoutPackModule() { }
00079
00080 virtual ~CCLayoutPackModule() { }
00081
00097 virtual void call(Array<DPoint> &box,
00098 Array<DPoint> &offset,
00099 double pageRatio = 1.0) = 0;
00100
00113 void operator()(Array<DPoint> &box,
00114 Array<DPoint> &offset,
00115 double pageRatio = 1.0)
00116 {
00117 call(box,offset,pageRatio);
00118 }
00119
00135 virtual void call(Array<IPoint> &box,
00136 Array<IPoint> &offset,
00137 double pageRatio = 1.0) = 0;
00138
00151 void operator()(Array<IPoint> &box,
00152 Array<IPoint> &offset,
00153 double pageRatio = 1.0)
00154 {
00155 call(box,offset,pageRatio);
00156 }
00157
00166 static bool checkOffsets(const Array<DPoint> &box,
00167 const Array<DPoint> &offset);
00168
00177 static bool checkOffsets(const Array<IPoint> &box,
00178 const Array<IPoint> &offset);
00179
00180
00181 OGDF_MALLOC_NEW_DELETE
00182
00183 private:
00191 template<class POINT>
00192 static bool checkOffsetsTP(
00193 const Array<POINT> &box,
00194 const Array<POINT> &offset);
00195 };
00196
00197
00198 }
00199
00200
00201 #endif