Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
EdgeAttributes.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Graph.h>
35#include <ogdf/basic/geometry.h>
36
37namespace ogdf {
38namespace energybased {
39namespace fmmm {
40
45 friend OGDF_EXPORT std::ostream& operator<<(std::ostream&, const EdgeAttributes&);
46
48 friend OGDF_EXPORT std::istream& operator>>(std::istream&, EdgeAttributes&);
49
50public:
53
55 length = len;
56 e_original = e_orig;
57 e_subgraph = e_sub;
58 }
59
60 void set_length(double len) { length = len; }
61
62 double get_length() const { return length; }
63
66
67 void set_original_edge(edge e) { e_original = e; }
68
69 void set_subgraph_edge(edge e) { e_subgraph = e; }
70
71 edge get_original_edge() const { return e_original; }
72
73 edge get_subgraph_edge() const { return e_subgraph; }
74
78
79 void set_copy_edge(edge e) { e_subgraph = e; }
80
81 edge get_copy_edge() const { return e_subgraph; }
82
86
87 void set_higher_level_edge(edge e) { e_subgraph = e; }
88
89 edge get_higher_level_edge() const { return e_subgraph; }
90
91 bool is_moon_edge() const { return moon_edge; }
92
93 void make_moon_edge() { moon_edge = true; }
94
95 bool is_extra_edge() const { return extra_edge; }
96
97 void make_extra_edge() { extra_edge = true; }
98
99 void mark_as_normal_edge() { extra_edge = false; }
100
102 e_subgraph = nullptr;
103 moon_edge = false;
104 }
105
107
108private:
109 double length;
112
115
119};
120
121}
122}
123}
Includes declaration of graph class.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Class for the representation of edges.
Definition Graph_d.h:300
helping data structure that stores the graphical attributes of an edge that are needed for the force-...
friend std::istream & operator>>(std::istream &, EdgeAttributes &)
inputstream for EdgeAttributes
void set_EdgeAttributes(double len, edge e_orig, edge e_sub)
bool extra_edge
indicates if this edge is an extra edge that is added to enforce few edge crossings
bool moon_edge
indicates if this edge is associasted with a moon node
friend std::ostream & operator<<(std::ostream &, const EdgeAttributes &)
outputstream for EdgeAttributes
#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.