Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

GalaxyLevel.h
Go to the documentation of this file.
1 
29 #pragma once
30 
31 #include <ogdf/basic/Graph.h>
32 #include <ogdf/basic/basic.h>
33 
34 namespace ogdf {
35 namespace energybased {
36 namespace dtree {
37 
40 public:
43  explicit GalaxyLevel(const Graph& graph);
44 
46  ~GalaxyLevel();
47 
49  const Graph& graph() const;
50 
52  node parent(node v) const;
53 
55  double weight(node v) const;
56 
58  double edgeWeight(edge e) const;
59 
61  void setWeight(node v, double weight);
62 
64  void setEdgeWeight(edge e, double weight);
65 
67  bool isFinestLevel() const;
68 
70  bool isCoarsestLevel() const;
71 
73  GalaxyLevel* nextCoarser();
74 
76  GalaxyLevel* nextFiner();
77 
85  GalaxyLevel* buildLevelsUntil(int maxNumNodes);
86 
87 private:
89  GalaxyLevel* buildNextCoarserLevel(int numLabels = 3);
90 
92  GalaxyLevel(GalaxyLevel* pNextFiner);
93 
95  void removeParEdgesWithWeight();
96 
99 
102 
105 
108 
111 
114 };
115 
116 }
117 }
118 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::energybased::dtree::GalaxyLevel::m_pGraph
Graph * m_pGraph
the graph
Definition: GalaxyLevel.h:104
Graph.h
Includes declaration of graph class.
ogdf::energybased::dtree::GalaxyLevel::m_parent
NodeArray< node > m_parent
pointer to the parent node on the coarser level
Definition: GalaxyLevel.h:110
ogdf::energybased::dtree::GalaxyLevel::m_pNextCoarser
GalaxyLevel * m_pNextCoarser
pointer to the next coarser
Definition: GalaxyLevel.h:101
ogdf::energybased::dtree::GalaxyLevel::m_edgeWeight
EdgeArray< double > m_edgeWeight
edge weight
Definition: GalaxyLevel.h:113
ogdf::energybased::dtree::GalaxyLevel::m_pNextFiner
GalaxyLevel * m_pNextFiner
pointer to the next finer level
Definition: GalaxyLevel.h:98
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:658
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:363
ogdf::energybased::dtree::GalaxyLevel::m_nodeWeight
NodeArray< double > m_nodeWeight
the weight of the node is the sum of weights of the children
Definition: GalaxyLevel.h:107
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240
ogdf::energybased::dtree::GalaxyLevel
Simple implementation of the slightly modified version of Hachul by Gronemann.
Definition: GalaxyLevel.h:39
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716