Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
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
45namespace ogdf {
46class GridLayout;
47class PlanRep;
48
119public:
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
151protected:
153 virtual void doCall(PlanRep& PG, adjEntry adjExternal, GridLayout& gridLayout,
154 IPoint& boundingBox, bool fixEmbedding) override;
155
156private:
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}
Declaration of interface for graph augmentation algorithms.
Defines ogdf::EmbedderModule.
Includes declaration of graph class.
Declaration of interface for grid layout algorithms.
Declaration of interface for mixed-model crossings beautifier algorithms.
Declares the base class ShellingOrderModule for modules that compute a shelling order of a graph.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Basic declarations, included by all source files.
Class for adjacency list elements.
Definition Graph_d.h:143
The base class for graph augmentation algorithms.
Base class for embedder algorithms.
Representation of a graph's grid layout.
Definition GridLayout.h:47
Base class for grid layout algorithms operating on a PlanRep.
The base class for Mixed-Model crossings beautifier algorithms.
Implementation of the Mixed-Model layout algorithm.
virtual void doCall(PlanRep &PG, adjEntry adjExternal, GridLayout &gridLayout, IPoint &boundingBox, bool fixEmbedding) override
Implements the algorithm call.
void setShellingOrder(ShellingOrderModule *pOrder)
Sets the shelling order module.
std::unique_ptr< EmbedderModule > m_embedder
The planar embedder module.
MixedModelLayout()
Constructs an instance of the Mixed-Model layout algorithm.
std::unique_ptr< ShellingOrderModule > m_compOrder
The shelling order module.
std::unique_ptr< MixedModelCrossingsBeautifierModule > m_crossingsBeautifier
The crossings beautifier module.
void setCrossingsBeautifier(MixedModelCrossingsBeautifierModule *pBeautifier)
Sets the crossings beautifier module.
void setAugmenter(AugmentationModule *pAugmenter)
Sets the augmentation module.
void setEmbedder(EmbedderModule *pEmbedder)
Sets the module option for the graph embedding algorithm.
std::unique_ptr< AugmentationModule > m_augmenter
The augmentation module.
Planarized representations (of a connected component) of a graph.
Definition PlanRep.h:68
Base class for modules that compute a shelling order of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
The namespace for all OGDF objects.