Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
PQInternalNode.h
Go to the documentation of this file.
1
32#pragma once
33
35
36namespace ogdf {
37
75template<class T, class X, class Y>
76class PQInternalNode : public PQNode<T, X, Y> {
77public:
88
98
107
115
128
130 virtual PQLeafKey<T, X, Y>* getKey() const { return nullptr; }
131
144 virtual bool setKey(PQLeafKey<T, X, Y>* pointerToKey) { return pointerToKey == nullptr; }
145
148
162 if (pointerToInternal != nullptr) {
163 m_pointerToInternal->setNodePointer(this);
164 return true;
165 } else {
166 return false;
167 }
168 }
169
171
177 virtual PQNodeRoot::PQNodeMark mark() const { return m_mark; }
178
180 virtual void mark(PQNodeRoot::PQNodeMark m) { m_mark = m; }
181
183
192 virtual PQNodeRoot::PQNodeStatus status() const { return m_status; }
193
195 virtual void status(PQNodeRoot::PQNodeStatus s) { m_status = s; }
196
198
202 virtual PQNodeRoot::PQNodeType type() const { return m_type; }
203
205 virtual void type(PQNodeRoot::PQNodeType t) { m_type = t; }
206
207private:
214
215
226
233
240};
241
242}
Declaration and implementation of the class PQNode.
The class template PQInternalKey is a derived class of class template PQBasicKey.
The class template PQInternalNode is used to present P-nodes and Q-nodes in the PQ-Tree.
virtual void mark(PQNodeRoot::PQNodeMark m)
Sets the variable m_mark.
PQInternalNode(int count, PQNodeRoot::PQNodeType typ, PQNodeRoot::PQNodeStatus stat, PQNodeKey< T, X, Y > *infoPtr)
PQInternalNode(int count, PQNodeRoot::PQNodeType typ, PQNodeRoot::PQNodeStatus stat)
PQNodeRoot::PQNodeType m_type
m_status is a variable storing the status of a PQInternalNode.
PQInternalNode(int count, PQNodeRoot::PQNodeType typ, PQNodeRoot::PQNodeStatus stat, PQInternalKey< T, X, Y > *internalPtr)
PQNodeRoot::PQNodeStatus m_status
m_status is a variable storing the status of a PQInternalNode.
PQInternalNode(int count, PQNodeRoot::PQNodeType typ, PQNodeRoot::PQNodeStatus stat, PQInternalKey< T, X, Y > *internalPtr, PQNodeKey< T, X, Y > *infoPtr)
virtual void type(PQNodeRoot::PQNodeType t)
Sets the variable m_type in the derived class PQInternalNode.
virtual bool setKey(PQLeafKey< T, X, Y > *pointerToKey)
Accepts only pointers pointerToKey = 0.
virtual PQNodeRoot::PQNodeType type() const
Returns the variable m_type in the derived class PQInternalNode.
virtual PQNodeRoot::PQNodeMark mark() const
Returns the variable m_mark.
virtual PQInternalKey< T, X, Y > * getInternal() const
Returns a pointer to the PQInternalKey information.
PQNodeRoot::PQNodeMark m_mark
#m_mark is a variable, storing if a PQInternalNode is QUEUEUD, BLOCKED or UNBLOCKED (see PQNode) duri...
~PQInternalNode()
The destructor does not delete any accompanying information class as PQLeafKey, PQNodeKey and PQInter...
virtual void status(PQNodeRoot::PQNodeStatus s)
Sets the variable m_status in the derived class PQInternalNode.
virtual PQLeafKey< T, X, Y > * getKey() const
Returns 0. An element of type PQInternalNode does not have a PQLeafKey.
virtual bool setInternal(PQInternalKey< T, X, Y > *pointerToInternal)
setInternal() sets the pointer variable m_pointerToInternal to the specified adress of pointerToInter...
virtual PQNodeRoot::PQNodeStatus status() const
Returns the variable m_status in the derived class PQInternalNode.
PQInternalKey< T, X, Y > * m_pointerToInternal
m_pointerToInternal stores the adress of the corresponding internal information.
The class template PQLeafKey is a derived class of class template PQBasicKey.
Definition PQLeafKey.h:87
The class template PQBasicKey is an abstract base class.
Definition PQNode.h:55
The class template PQNodeKey is a derived class of class template PQBasicKey.
Definition PQNodeKey.h:57
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.