Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

MixedModelLayout.h
Go to the documentation of this file.
1 
32 #pragma once
33 
39 
40 #include <memory>
41 
42 namespace ogdf {
43 
114 public:
117 
118  virtual ~MixedModelLayout() { }
119 
131  void setAugmenter(AugmentationModule* pAugmenter) { m_augmenter.reset(pAugmenter); }
132 
134  void setShellingOrder(ShellingOrderModule* pOrder) { m_compOrder.reset(pOrder); }
135 
138  m_crossingsBeautifier.reset(pBeautifier);
139  }
140 
142  void setEmbedder(EmbedderModule* pEmbedder) { m_embedder.reset(pEmbedder); }
143 
145 
146 protected:
148  virtual void doCall(PlanRep& PG, adjEntry adjExternal, GridLayout& gridLayout,
149  IPoint& boundingBox, bool fixEmbedding) override;
150 
151 private:
152  std::unique_ptr<EmbedderModule> m_embedder;
153  std::unique_ptr<AugmentationModule> m_augmenter;
154  std::unique_ptr<ShellingOrderModule> m_compOrder;
155  std::unique_ptr<MixedModelCrossingsBeautifierModule> m_crossingsBeautifier;
156 };
157 
158 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ShellingOrderModule.h
Declares the base class ShellingOrderModule for modules that compute a shelling order of a graph.
ogdf::MixedModelLayout::m_crossingsBeautifier
std::unique_ptr< MixedModelCrossingsBeautifierModule > m_crossingsBeautifier
The crossings beautifier module.
Definition: MixedModelLayout.h:155
ogdf::GenericPoint< int >
ogdf::PlanRep
Planarized representations (of a connected component) of a graph.
Definition: PlanRep.h:57
ogdf::MixedModelLayout::m_augmenter
std::unique_ptr< AugmentationModule > m_augmenter
The augmentation module.
Definition: MixedModelLayout.h:153
ogdf::ShellingOrderModule
Base class for modules that compute a shelling order of a graph.
Definition: ShellingOrderModule.h:44
ogdf::MixedModelLayout::setCrossingsBeautifier
void setCrossingsBeautifier(MixedModelCrossingsBeautifierModule *pBeautifier)
Sets the crossings beautifier module.
Definition: MixedModelLayout.h:137
ogdf::MixedModelLayout::setAugmenter
void setAugmenter(AugmentationModule *pAugmenter)
Sets the augmentation module.
Definition: MixedModelLayout.h:131
ogdf::AdjElement
Class for adjacency list elements.
Definition: Graph_d.h:135
ogdf::GridLayoutPlanRepModule
Base class for grid layout algorithms operating on a PlanRep.
Definition: GridLayoutModule.h:207
ogdf::MixedModelLayout::m_embedder
std::unique_ptr< EmbedderModule > m_embedder
The planar embedder module.
Definition: MixedModelLayout.h:152
AugmentationModule.h
Declaration of interface for graph augmentation algorithms.
MixedModelCrossingsBeautifierModule.h
Declaration of interface for mixed-model crossings beautifier algorithms.
ogdf::AugmentationModule
The base class for graph augmentation algorithms.
Definition: AugmentationModule.h:53
ogdf::EmbedderModule
Base class for embedder algorithms.
Definition: EmbedderModule.h:49
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::MixedModelLayout::~MixedModelLayout
virtual ~MixedModelLayout()
Definition: MixedModelLayout.h:118
ogdf::MixedModelCrossingsBeautifierModule
The base class for Mixed-Model crossings beautifier algorithms.
Definition: MixedModelCrossingsBeautifierModule.h:54
EmbedderModule.h
Defines ogdf::EmbedderModule.
ogdf::MixedModelLayout::setEmbedder
void setEmbedder(EmbedderModule *pEmbedder)
Sets the module option for the graph embedding algorithm.
Definition: MixedModelLayout.h:142
ogdf::GridLayout
Representation of a graph's grid layout.
Definition: GridLayout.h:46
ogdf::MixedModelLayout::setShellingOrder
void setShellingOrder(ShellingOrderModule *pOrder)
Sets the shelling order module.
Definition: MixedModelLayout.h:134
ogdf::MixedModelLayout::m_compOrder
std::unique_ptr< ShellingOrderModule > m_compOrder
The shelling order module.
Definition: MixedModelLayout.h:154
ogdf::MixedModelLayout
Implementation of the Mixed-Model layout algorithm.
Definition: MixedModelLayout.h:113
GridLayoutModule.h
Declaration of interface for grid layout algorithms.