Open
Graph Drawing
Framework

 v.2012.05
 

MixedModelLayout.h
Go to the documentation of this file.
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_MIXED_MODEL_LAYOUT_H
00048 #define OGDF_MIXED_MODEL_LAYOUT_H
00049 
00050 
00051 #include <ogdf/module/GridLayoutModule.h>
00052 #include <ogdf/basic/ModuleOption.h>
00053 #include <ogdf/module/EmbedderModule.h>
00054 #include <ogdf/module/AugmentationModule.h>
00055 #include <ogdf/module/ShellingOrderModule.h>
00056 #include <ogdf/module/MixedModelCrossingsBeautifierModule.h>
00057 
00058 
00059 namespace ogdf {
00060 
00061 
00131 class OGDF_EXPORT MixedModelLayout : public GridLayoutPlanRepModule
00132 {
00133 public:
00135     MixedModelLayout();
00136 
00137     virtual ~MixedModelLayout() { }
00138 
00150     void setAugmenter(AugmentationModule *pAugmenter) {
00151         m_augmenter.set(pAugmenter);
00152     }
00153 
00155     void setShellingOrder(ShellingOrderModule *pOrder) {
00156         m_compOrder.set(pOrder);
00157     }
00158 
00160     void setCrossingsBeautifier(MixedModelCrossingsBeautifierModule *pBeautifier) {
00161         m_crossingsBeautifier.set(pBeautifier);
00162     }
00163 
00165     void setEmbedder(EmbedderModule *pEmbedder) {
00166         m_embedder.set(pEmbedder);
00167     }
00168 
00170 
00171 protected:
00173     void doCall(
00174         PlanRep &PG,
00175         adjEntry adjExternal,
00176         GridLayout &gridLayout,
00177         IPoint &boundingBox,
00178         bool fixEmbedding);
00179 
00180 private:
00181     ModuleOption<EmbedderModule>      m_embedder;  
00182     ModuleOption<AugmentationModule>  m_augmenter; 
00183     ModuleOption<ShellingOrderModule> m_compOrder; 
00184     ModuleOption<MixedModelCrossingsBeautifierModule> m_crossingsBeautifier; 
00185 };
00186 
00187 
00188 } // end namespace ogdf
00189 
00190 
00191 #endif