Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.