Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

MixedModelLayout.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/basic.h>
36 #include <ogdf/basic/geometry.h>
42 
43 #include <memory>
44 
45 namespace ogdf {
46 class GridLayout;
47 class PlanRep;
48 
119 public:
122 
123  virtual ~MixedModelLayout() { }
124 
136  void setAugmenter(AugmentationModule* pAugmenter) { m_augmenter.reset(pAugmenter); }
137 
139  void setShellingOrder(ShellingOrderModule* pOrder) { m_compOrder.reset(pOrder); }
140 
143  m_crossingsBeautifier.reset(pBeautifier);
144  }
145 
147  void setEmbedder(EmbedderModule* pEmbedder) { m_embedder.reset(pEmbedder); }
148 
150 
151 protected:
153  virtual void doCall(PlanRep& PG, adjEntry adjExternal, GridLayout& gridLayout,
154  IPoint& boundingBox, bool fixEmbedding) override;
155 
156 private:
157  std::unique_ptr<EmbedderModule> m_embedder;
158  std::unique_ptr<AugmentationModule> m_augmenter;
159  std::unique_ptr<ShellingOrderModule> m_compOrder;
160  std::unique_ptr<MixedModelCrossingsBeautifierModule> m_crossingsBeautifier;
161 };
162 
163 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
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:160
Graph.h
Includes declaration of graph class.
ogdf::GenericPoint< int >
ogdf::PlanRep
Planarized representations (of a connected component) of a graph.
Definition: PlanRep.h:69
geometry.h
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
ogdf::MixedModelLayout::m_augmenter
std::unique_ptr< AugmentationModule > m_augmenter
The augmentation module.
Definition: MixedModelLayout.h:158
ogdf::ShellingOrderModule
Base class for modules that compute a shelling order of a graph.
Definition: ShellingOrderModule.h:48
ogdf::MixedModelLayout::setCrossingsBeautifier
void setCrossingsBeautifier(MixedModelCrossingsBeautifierModule *pBeautifier)
Sets the crossings beautifier module.
Definition: MixedModelLayout.h:142
ogdf::MixedModelLayout::setAugmenter
void setAugmenter(AugmentationModule *pAugmenter)
Sets the augmentation module.
Definition: MixedModelLayout.h:136
ogdf::AdjElement
Class for adjacency list elements.
Definition: Graph_d.h:142
ogdf::GridLayoutPlanRepModule
Base class for grid layout algorithms operating on a PlanRep.
Definition: GridLayoutModule.h:212
ogdf::MixedModelLayout::m_embedder
std::unique_ptr< EmbedderModule > m_embedder
The planar embedder module.
Definition: MixedModelLayout.h:157
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:56
ogdf::EmbedderModule
Base class for embedder algorithms.
Definition: EmbedderModule.h:52
basic.h
Basic declarations, included by all source files.
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:123
ogdf::MixedModelCrossingsBeautifierModule
The base class for Mixed-Model crossings beautifier algorithms.
Definition: MixedModelCrossingsBeautifierModule.h:59
EmbedderModule.h
Defines ogdf::EmbedderModule.
ogdf::MixedModelLayout::setEmbedder
void setEmbedder(EmbedderModule *pEmbedder)
Sets the module option for the graph embedding algorithm.
Definition: MixedModelLayout.h:147
ogdf::GridLayout
Representation of a graph's grid layout.
Definition: GridLayout.h:47
ogdf::MixedModelLayout::setShellingOrder
void setShellingOrder(ShellingOrderModule *pOrder)
Sets the shelling order module.
Definition: MixedModelLayout.h:139
ogdf::MixedModelLayout::m_compOrder
std::unique_ptr< ShellingOrderModule > m_compOrder
The shelling order module.
Definition: MixedModelLayout.h:159
ogdf::MixedModelLayout
Implementation of the Mixed-Model layout algorithm.
Definition: MixedModelLayout.h:118
GridLayoutModule.h
Declaration of interface for grid layout algorithms.