Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
whaInfo.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/memory.h>
35
36namespace ogdf {
37class PQNodeRoot;
38
49enum class whaType { W, B, H, A };
50
51class whaInfo {
52 template<class T, class Y>
53 friend class MaxSequencePQTree;
54
55public:
56 //The deleteType is set to type b (= keep all leaves in the frontier).
58 m_a = 0;
59 m_h = 0;
60 m_w = 0;
64 m_aChild = nullptr;
65 m_hChild1 = nullptr;
66 m_hChild2 = nullptr;
67 m_hChild2Sib = nullptr;
68 }
69
71
73 m_a = 0;
74 m_h = 0;
75 m_w = 0;
79 }
80
81private:
82 // number of pertinent leaves in the frontier of the node respectively the
83 // number of leaves that have to be deleted in the frontier of the node to
84 // make it an empty node.
85 int m_h;
86
87 // number of pertinent leaves in the frontier of the node that have to be
88 // deleted in order to create a node of type h, that is a node, where a
89 // permutation of the leaves of the node exist such that the remaining
90 // pertinent leaves form a consecutive sequence on one end of the permutation.
91 int m_w;
92
93 // number of pertinent leaves in the frontier of the node that have to be
94 // deleted in order to create a node of type $a$, that is a node, where a
95 // permutation of the leaves of the node exist such that the remaining
96 // pertinent leaves form a consecutive somewhere within the permutation.
97 int m_a;
98
99 // deleteType is type of the node being either
100 // W, B, H or A.
102
103 //the number of pertinent leaves in the frontier of a node.
105
106 //counts the number of pertinent children, that have not been
107 // processed yet during the computation of the w,h,a-numbering.
109
110 // a pointer to the child of node that has to be of type a if the
111 // node itself has been determined to be of type a.
113
114 // a pointer to the child of node that has to be of type h if the
115 // node itself has been determined to be of type h.
117
118 // a pointer to the child of node that has to be of type h if the
119 // node itself has been determined to be of type a and m_aChild does
120 // contain the empty pointer.
122
123
124 // m_hChild2Sib is a pointer to the pertinent sibling of m_hChild2. This
125 // pointer is necessary if the sequence of pertinent children is not unique.
127
129};
130
131}
The class template MaxSequencePQTree is designed to compute a maximal consecutive sequence of pertine...
The class PQNodeRoot is used as a base class of the class PQNode.
Definition PQNodeRoot.h:43
PQNodeRoot * m_hChild1
Definition whaInfo.h:116
PQNodeRoot * m_hChild2Sib
Definition whaInfo.h:126
PQNodeRoot * m_hChild2
Definition whaInfo.h:121
int m_pertLeafCount
Definition whaInfo.h:104
int m_notVisitedCount
Definition whaInfo.h:108
whaType m_deleteType
Definition whaInfo.h:101
void defaultValues()
Definition whaInfo.h:72
PQNodeRoot * m_aChild
Definition whaInfo.h:112
#define OGDF_NEW_DELETE
Makes the class use OGDF's memory allocator.
Definition memory.h:85
Declaration of memory manager for allocating small pieces of memory.
The namespace for all OGDF objects.
whaType
The definitions for W, B, H and A describe the type of a node during the computation of the maximal p...
Definition whaInfo.h:49