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 
33 namespace ogdf {
34 namespace energybased {
35 namespace dtree {
36 
39 public:
42  explicit GalaxyLevel(const Graph& graph);
43 
45  ~GalaxyLevel();
46 
48  const Graph& graph() const;
49 
51  node parent(node v) const;
52 
54  double weight(node v) const;
55 
57  double edgeWeight(edge e) const;
58 
60  void setWeight(node v, double weight);
61 
63  void setEdgeWeight(edge e, double weight);
64 
66  bool isFinestLevel() const;
67 
69  bool isCoarsestLevel() const;
70 
72  GalaxyLevel* nextCoarser();
73 
75  GalaxyLevel* nextFiner();
76 
84  GalaxyLevel* buildLevelsUntil(int maxNumNodes);
85 
86 private:
88  GalaxyLevel* buildNextCoarserLevel(int numLabels = 3);
89 
91  GalaxyLevel(GalaxyLevel* pNextFiner);
92 
94  void removeParEdgesWithWeight();
95 
98 
101 
104 
107 
110 
113 };
114 
115 }
116 }
117 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::energybased::dtree::GalaxyLevel::m_pGraph
Graph * m_pGraph
the graph
Definition: GalaxyLevel.h:103
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:109
ogdf::energybased::dtree::GalaxyLevel::m_pNextCoarser
GalaxyLevel * m_pNextCoarser
pointer to the next coarser
Definition: GalaxyLevel.h:100
ogdf::energybased::dtree::GalaxyLevel::m_edgeWeight
EdgeArray< double > m_edgeWeight
edge weight
Definition: GalaxyLevel.h:112
ogdf::energybased::dtree::GalaxyLevel::m_pNextFiner
GalaxyLevel * m_pNextFiner
pointer to the next finer level
Definition: GalaxyLevel.h:97
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
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:356
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:106
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::energybased::dtree::GalaxyLevel
Simple implementation of the slightly modified version of Hachul by Gronemann.
Definition: GalaxyLevel.h:38
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709