Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

EdgeChain.h
Go to the documentation of this file.
1 
33 #pragma once
34 
35 #include <ogdf/basic/basic.h>
36 
37 #include <functional>
38 
39 namespace ogdf {
40 namespace fast_multipole_embedder {
41 
43 class NodeAdjInfo {
44 public:
45  uint32_t degree;
46  uint32_t firstEntry;
47  uint32_t lastEntry;
48  uint32_t unused;
49 };
50 
52 class EdgeAdjInfo {
53 public:
54  uint32_t a;
55  uint32_t b;
56  uint32_t a_next;
57  uint32_t b_next;
58 
60  inline uint32_t twinNode(uint32_t index) const {
61  OGDF_ASSERT(a == index || b == index);
62  return a == index ? b : a;
63  }
64 
66  inline uint32_t nextEdgeAdjIndex(uint32_t index) const {
67  OGDF_ASSERT(a == index || b == index);
68  return a == index ? a_next : b_next;
69  }
70 };
71 
73 void pushBackEdge(uint32_t a, uint32_t b, std::function<EdgeAdjInfo&(uint32_t)> edgeInform,
74  std::function<NodeAdjInfo&(uint32_t)> nodeInform, int e_index);
75 
76 }
77 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::fast_multipole_embedder::EdgeAdjInfo::nextEdgeAdjIndex
uint32_t nextEdgeAdjIndex(uint32_t index) const
Returns the index of the next pair of index.
Definition: EdgeChain.h:66
ogdf::fast_multipole_embedder::EdgeAdjInfo::twinNode
uint32_t twinNode(uint32_t index) const
Returns the other node (not index).
Definition: EdgeChain.h:60
OGDF_ASSERT
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
Definition: basic.h:54
ogdf::fast_multipole_embedder::EdgeAdjInfo::b_next
uint32_t b_next
Next pair in the chain of the second node.
Definition: EdgeChain.h:57
ogdf::fast_multipole_embedder::NodeAdjInfo
Information about incident edges (16 bytes).
Definition: EdgeChain.h:43
ogdf::fast_multipole_embedder::EdgeAdjInfo::a
uint32_t a
First node of the pair.
Definition: EdgeChain.h:54
ogdf::fast_multipole_embedder::NodeAdjInfo::firstEntry
uint32_t firstEntry
The first pair in the edges chain.
Definition: EdgeChain.h:46
ogdf::fast_multipole_embedder::EdgeAdjInfo::a_next
uint32_t a_next
Next pair in the chain of the first node.
Definition: EdgeChain.h:56
ogdf::fast_multipole_embedder::pushBackEdge
void pushBackEdge(uint32_t a, uint32_t b, std::function< EdgeAdjInfo &(uint32_t)> edgeInform, std::function< NodeAdjInfo &(uint32_t)> nodeInform, int e_index)
Helper method used by ArrayGraph and WSPD.
ogdf::fast_multipole_embedder::NodeAdjInfo::lastEntry
uint32_t lastEntry
The last pair in the edges chain.
Definition: EdgeChain.h:47
ogdf::fast_multipole_embedder::NodeAdjInfo::degree
uint32_t degree
Total count of pairs where is either the first or second node.
Definition: EdgeChain.h:45
basic.h
Basic declarations, included by all source files.
ogdf::fast_multipole_embedder::EdgeAdjInfo
Information about an edge (16 bytes).
Definition: EdgeChain.h:52
ogdf::fast_multipole_embedder::NodeAdjInfo::unused
uint32_t unused
Not used yet.
Definition: EdgeChain.h:48
ogdf::fast_multipole_embedder::EdgeAdjInfo::b
uint32_t b
Second node of the pair.
Definition: EdgeChain.h:55