Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PlanarPQTree.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/PQTree.h>
36 
37 namespace ogdf::booth_lueker {
38 class IndInfo;
39 template<class X>
40 class PlanarLeafKey;
41 } // namespace ogdf::booth_lueker
42 
43 namespace ogdf {
44 template<class E>
45 class SListPure;
46 template<class T, class X, class Y>
47 class PQLeafKey;
48 
49 namespace booth_lueker {
50 
51 class PlanarPQTree : public PQTree<edge, IndInfo*, bool> {
52 public:
53  PlanarPQTree() : PQTree<edge, IndInfo*, bool>() { }
54 
55  virtual ~PlanarPQTree() { }
56 
58  virtual void emptyAllPertinentNodes() override;
59 
61  virtual int Initialize(SListPure<PlanarLeafKey<IndInfo*>*>& leafKeys);
62 
65  }
66 
69 
71  virtual bool Reduction(SListPure<PlanarLeafKey<IndInfo*>*>& leafKeys);
72 
75  }
76 
77 private:
80 
83 };
84 
85 }
86 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
ogdf::PQLeafKey
The class template PQLeafKey is a derived class of class template PQBasicKey.
Definition: PQInternalNode.h:40
ogdf::PQTree
Definition: PQNode.h:53
ogdf::booth_lueker::PlanarPQTree::Reduction
virtual bool Reduction(SListPure< PlanarLeafKey< IndInfo * > * > &leafKeys)
Reduces a set of leaves.
ogdf::booth_lueker::PlanarPQTree::PlanarPQTree
PlanarPQTree()
Definition: PlanarPQTree.h:53
PQTree.h
Declaration and implementation of the class PQTree.
ogdf::booth_lueker::PlanarPQTree
Definition: PlanarPQTree.h:51
ogdf::booth_lueker::IndInfo
Definition: IndInfo.h:42
ogdf::booth_lueker::PlanarPQTree::~PlanarPQTree
virtual ~PlanarPQTree()
Definition: PlanarPQTree.h:55
ogdf::booth_lueker::PlanarPQTree::ReplacePartialRoot
void ReplacePartialRoot(SListPure< PlanarLeafKey< IndInfo * > * > &leafKeys)
Replaces a pertinet subtree by a set of new leaves if the root is partial.
ogdf::booth_lueker::PlanarPQTree::ReplaceRoot
void ReplaceRoot(SListPure< PlanarLeafKey< IndInfo * > * > &leafKeys)
Replaces the pertinent subtree by a set of new leaves.
ogdf::SListPure
Singly linked lists.
Definition: SList.h:52
ogdf::PQTree::Initialize
virtual int Initialize(SListPure< PQLeafKey< T, X, Y > * > &leafKeys)
Initializes the PQ-tree with a set of elements.
Definition: PQTree.h:1916
ogdf::booth_lueker::PlanarPQTree::emptyAllPertinentNodes
virtual void emptyAllPertinentNodes() override
Does a clean up after a reduction.
ogdf::booth_lueker
Definition: EmbedIndicator.h:48
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:363
ogdf::PQTree::Reduction
virtual bool Reduction(SListPure< PQLeafKey< T, X, Y > * > &leafKeys)
Tests whether permissible permutations of the elements of U exist such that the elements of a subset ...
Definition: PQTree.h:2237
ogdf::booth_lueker::PlanarLeafKey
Definition: EmbedPQTree.h:40
ogdf::booth_lueker::PlanarPQTree::Initialize
virtual int Initialize(SListPure< PlanarLeafKey< IndInfo * > * > &leafKeys)
Initializes a new PQ-tree with a set of leaves.
ogdf::booth_lueker::PlanarPQTree::Initialize
int Initialize(SListPure< PQLeafKey< edge, IndInfo *, bool > * > &leafKeys) override
Definition: PlanarPQTree.h:63
ogdf::booth_lueker::PlanarPQTree::Reduction
bool Reduction(SListPure< PQLeafKey< edge, IndInfo *, bool > * > &leafKeys) override
Definition: PlanarPQTree.h:73
ogdf::booth_lueker::PlanarPQTree::ReplaceFullRoot
void ReplaceFullRoot(SListPure< PlanarLeafKey< IndInfo * > * > &leafKeys)
Replaces a pertinet subtree by a set of new leaves if the root is full.