Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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