Open
Graph Drawing
Framework

 v.2010.10
 

CCLayoutPackModule.h

Go to the documentation of this file.
00001 /*
00002  * $Revision: 2027 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2010-09-01 11:55:17 +0200 (Wed, 01 Sep 2010) $ 
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 } // end namespace ogdf
00199 
00200 
00201 #endif