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
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.