Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

DynamicBCTree.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/basic.h>
37 
38 namespace ogdf {
39 
57  friend class PlanarAugmentation;
58  friend class PlanarAugmentationFix;
59 
60 protected:
73 
87 
91  void init();
93 
105  node unite(node uB, node vB, node wB);
106 
113  node find(node vB) const;
115 
123  node parent(node vB) const override;
124 
135  node condensePath(node sG, node tG);
137 
138 public:
149  explicit DynamicBCTree(Graph& G, bool not_connected = false)
150  : DynamicBCTree(G, nullptr, not_connected) { }
151 
161  explicit DynamicBCTree(Graph& G, node vG, bool not_connected = false)
162  : BCTree(G, vG, not_connected) {
163  init();
164  }
165 
167 
183  node bccomp(node vH) const override;
184 
195  node bccomp(edge eH) const override;
196 
198 
215  node repVertex(node uG, node vB) const override { return BCTree::repVertex(uG, find(vB)); }
216 
249  node cutVertex(node uB, node vB) const override {
250  return BCTree::cutVertex(find(uB), find(vB));
251  }
252 
254 
271  virtual edge updateInsertedEdge(edge eG);
272 
290  virtual node updateInsertedNode(edge eG, edge fG);
291 
301  edge insertEdge(node sG, node tG) { return updateInsertedEdge(m_G.newEdge(sG, tG)); }
302 
311  node insertNode(edge eG) { return updateInsertedNode(eG, m_G.split(eG)); }
312 
314 
329  node bComponent(node uG, node vG) const;
330 
332 };
333 
334 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::BCTree
Static BC-trees.
Definition: BCTree.h:60
Graph.h
Includes declaration of graph class.
ogdf::DynamicBCTree::DynamicBCTree
DynamicBCTree(Graph &G, bool not_connected=false)
Definition: DynamicBCTree.h:149
ogdf::DynamicBCTree::m_bNode_degree
NodeArray< int > m_bNode_degree
Array that contains for each proper BC-tree-vertex its degree.
Definition: DynamicBCTree.h:86
ogdf::DynamicBCTree::m_bNode_owner
NodeArray< node > m_bNode_owner
Array that contains for each BC-tree-vertex its parent in its UNION/FIND-tree structure.
Definition: DynamicBCTree.h:72
ogdf::PlanarAugmentation
The algorithm for planar biconnectivity augmentation (Mutzel, Fialko).
Definition: PlanarAugmentation.h:62
BCTree.h
Declaration of class BCTree.
ogdf::DynamicBCTree::insertNode
node insertNode(edge eG)
Inserts a new vertex into the original graph and updates the BC-tree.
Definition: DynamicBCTree.h:311
ogdf::DynamicBCTree::insertEdge
edge insertEdge(node sG, node tG)
Inserts a new edge into the original graph and updates the BC-tree.
Definition: DynamicBCTree.h:301
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:658
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
ogdf::PlanarAugmentationFix
The algorithm for biconnectivity augmentation with fixed combinatorial embedding.
Definition: PlanarAugmentationFix.h:50
ogdf::graphics::init
void init()
Definition: graphics.h:450
basic.h
Basic declarations, included by all source files.
ogdf::DynamicBCTree::DynamicBCTree
DynamicBCTree(Graph &G, node vG, bool not_connected=false)
A constructor.
Definition: DynamicBCTree.h:161
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::DynamicBCTree::repVertex
node repVertex(node uG, node vB) const override
Definition: DynamicBCTree.h:215
ogdf::BCTree::cutVertex
virtual node cutVertex(node uB, node vB) const
Returns the copy of a cut-vertex in the biconnected components graph which belongs to a certain B-com...
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:363
ogdf::DynamicBCTree::cutVertex
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...
Definition: DynamicBCTree.h:249
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240
ogdf::DynamicBCTree
Dynamic BC-trees.
Definition: DynamicBCTree.h:56
ogdf::BCTree::repVertex
virtual node repVertex(node uG, node vB) const
Returns a vertex of the biconnected components graph corresponding to a given vertex of the original ...
Minisat::Internal::find
static bool find(V &ts, const T &t)
Definition: Alg.h:47