Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
PreprocessorLayout.h
Go to the documentation of this file.
1
32#pragma once
33
35
36#include <memory>
37
38namespace ogdf {
39
52private:
58 struct EdgeData {
59 EdgeData(int edgeInd, int sourceInd, int targetInd, double edgeWeight)
60 : edgeIndex(edgeInd), sourceIndex(sourceInd), targetIndex(targetInd), weight(edgeWeight) { }
61
65 double weight;
66 };
67
68 std::unique_ptr<LayoutModule> m_secondaryLayout;
69 std::vector<EdgeData> m_deletedEdges;
71
73
74public:
77
80
81 using MultilevelLayoutModule::call;
82
84 virtual void call(MultilevelGraph& MLG) override;
85
87 virtual void call(GraphAttributes& GA) override;
88
90 void setLayoutModule(LayoutModule* layout) { m_secondaryLayout.reset(layout); }
91
93 void setRandomizePositions(bool on) { m_randomize = on; }
94};
95
96}
Declaration of interface for layout algorithms that allow calls with a MultilevelGraph parameter (cla...
Stores additional attributes of a graph (like layout information).
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Interface of general layout algorithms.
Interface of general layout algorithms that also allow a MultilevelGraph as call parameter,...
The PreprocessorLayout removes multi-edges and self-loops.
PreprocessorLayout()
Constructor.
void setRandomizePositions(bool on)
Defines whether the positions of the node are randomized before the secondary layout call.
std::vector< EdgeData > m_deletedEdges
void call(Graph &G, MultilevelGraph &MLG)
std::unique_ptr< LayoutModule > m_secondaryLayout
void setLayoutModule(LayoutModule *layout)
Sets the secondary layout.
virtual void call(MultilevelGraph &MLG) override
Calculates a drawing for the Graph MLG.
virtual void call(GraphAttributes &GA) override
Calculates a drawing for the Graph GA.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Deleted Edges are stored in EdgeData.
EdgeData(int edgeInd, int sourceInd, int targetInd, double edgeWeight)