Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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)