Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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 
37 namespace ogdf {
38 namespace energybased {
39 namespace 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 
50 public:
53 
54  void set_EdgeAttributes(double len, edge e_orig, edge e_sub) {
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 
108 private:
109  double length;
112 
114  bool moon_edge;
115 
119 };
120 
121 }
122 }
123 }
ogdf::energybased::fmmm::EdgeAttributes::moon_edge
bool moon_edge
indicates if this edge is associasted with a moon node
Definition: EdgeAttributes.h:114
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
Graph.h
Includes declaration of graph class.
geometry.h
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
ogdf::energybased::fmmm::EdgeAttributes::init_mult_values
void init_mult_values()
Definition: EdgeAttributes.h:101
ogdf::energybased::fmmm::EdgeAttributes::set_EdgeAttributes
void set_EdgeAttributes(double len, edge e_orig, edge e_sub)
Definition: EdgeAttributes.h:54
ogdf::energybased::fmmm::EdgeAttributes::set_higher_level_edge
void set_higher_level_edge(edge e)
Definition: EdgeAttributes.h:87
ogdf::energybased::fmmm::EdgeAttributes::get_copy_edge
edge get_copy_edge() const
Definition: EdgeAttributes.h:81
ogdf::energybased::fmmm::EdgeAttributes::make_moon_edge
void make_moon_edge()
Definition: EdgeAttributes.h:93
ogdf::energybased::fmmm::EdgeAttributes::set_original_edge
void set_original_edge(edge e)
Definition: EdgeAttributes.h:67
ogdf::energybased::fmmm::EdgeAttributes::length
double length
Definition: EdgeAttributes.h:109
ogdf::energybased::fmmm::EdgeAttributes::mark_as_normal_edge
void mark_as_normal_edge()
Definition: EdgeAttributes.h:99
ogdf::energybased::fmmm::EdgeAttributes::get_length
double get_length() const
Definition: EdgeAttributes.h:62
ogdf::energybased::fmmm::EdgeAttributes::set_copy_edge
void set_copy_edge(edge e)
Definition: EdgeAttributes.h:79
ogdf::energybased::fmmm::EdgeAttributes::set_length
void set_length(double len)
Definition: EdgeAttributes.h:60
ogdf::energybased::fmmm::EdgeAttributes::get_higher_level_edge
edge get_higher_level_edge() const
Definition: EdgeAttributes.h:89
ogdf::energybased::fmmm::EdgeAttributes::get_subgraph_edge
edge get_subgraph_edge() const
Definition: EdgeAttributes.h:73
ogdf::operator<<
std::ostream & operator<<(std::ostream &os, const ogdf::Array< E, INDEX > &a)
Prints array a to output stream os.
Definition: Array.h:978
ogdf::energybased::fmmm::EdgeAttributes::get_original_edge
edge get_original_edge() const
Definition: EdgeAttributes.h:71
ogdf::energybased::fmmm::EdgeAttributes
helping data structure that stores the graphical attributes of an edge that are needed for the force-...
Definition: EdgeAttributes.h:43
ogdf::energybased::fmmm::EdgeAttributes::set_subgraph_edge
void set_subgraph_edge(edge e)
Definition: EdgeAttributes.h:69
ogdf::energybased::fmmm::EdgeAttributes::make_extra_edge
void make_extra_edge()
Definition: EdgeAttributes.h:97
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::energybased::fmmm::EdgeAttributes::is_moon_edge
bool is_moon_edge() const
Definition: EdgeAttributes.h:91
ogdf::energybased::fmmm::EdgeAttributes::extra_edge
bool extra_edge
indicates if this edge is an extra edge that is added to enforce few edge crossings
Definition: EdgeAttributes.h:118
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:356
ogdf::operator>>
std::istream & operator>>(std::istream &is, TokenIgnorer token)
ogdf::energybased::fmmm::EdgeAttributes::e_original
edge e_original
Definition: EdgeAttributes.h:110
ogdf::energybased::fmmm::EdgeAttributes::e_subgraph
edge e_subgraph
Definition: EdgeAttributes.h:111
ogdf::energybased::fmmm::EdgeAttributes::is_extra_edge
bool is_extra_edge() const
Definition: EdgeAttributes.h:95