Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
DynamicBCTree.h
Go to the documentation of this file.
1
32#pragma once
33
35
36namespace ogdf {
37
55 friend class PlanarAugmentation;
57
58protected:
71
85
89 void init();
91
104
111 node find(node vB) const;
113
121 node parent(node vB) const override;
122
135
136public:
146 explicit DynamicBCTree(Graph& G, bool callInitConnected = false)
148 init();
149 }
150
161 init();
162 }
163
165
181 node bcproper(node vG) const override;
182
193 node bcproper(edge eG) const override;
194
196
213 node repVertex(node uG, node vB) const override { return BCTree::repVertex(uG, find(vB)); }
214
247 node cutVertex(node uB, node vB) const override {
248 return BCTree::cutVertex(find(uB), find(vB));
249 }
250
252
270
289
299 edge insertEdge(node sG, node tG) { return updateInsertedEdge(m_G.newEdge(sG, tG)); }
300
309 node insertNode(edge eG) { return updateInsertedNode(eG, m_G.split(eG)); }
310
312
328
330};
331
332}
Declaration of class BCTree.
Static BC-trees.
Definition BCTree.h:55
Dynamic BC-trees.
virtual edge updateInsertedEdge(edge eG)
node find(node vB) const
The FIND function of the UNION/FIND structure.
node bcproper(node vG) const override
node cutVertex(node uB, node vB) const override
Returns the copy of a cut-vertex in the biconnected components graph which belongs to a certain B-com...
node repVertex(node uG, node vB) const override
node unite(node uB, node vB, node wB)
DynamicBCTree(Graph &G, bool callInitConnected=false)
node bComponent(node uG, node vG) const
DynamicBCTree(Graph &G, node vG, bool callInitConnected=false)
A constructor.
node condensePath(node sG, node tG)
Performs path condensation.
node insertNode(edge eG)
Inserts a new vertex into the original graph and updates the BC-tree.
NodeArray< int > m_bNode_degree
Array that contains for each proper BC-tree-vertex its degree.
virtual node updateInsertedNode(edge eG, edge fG)
Update of the dynamic BC-tree after vertex insertion into the original graph.
edge insertEdge(node sG, node tG)
Inserts a new edge into the original graph and updates the BC-tree.
NodeArray< node > m_bNode_owner
Array that contains for each BC-tree-vertex its parent in its UNION/FIND-tree structure.
node parent(node vB) const override
node bcproper(edge eG) const override
Returns the BC-tree-vertex representing the biconnected component which a given edge of the original ...
Class for the representation of edges.
Definition Graph_d.h:300
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
The algorithm for biconnectivity augmentation with fixed combinatorial embedding.
The algorithm for planar biconnectivity augmentation (Mutzel, Fialko).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.