Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

PlanarAugmentationFix.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/GraphCopy.h>
38 
39 namespace ogdf {
40 
47 public:
50 
53 
54 protected:
61  virtual void doCall(Graph& g, List<edge>& list) override;
62 
63 private:
65  CombinatorialEmbedding* m_pEmbedding = nullptr;
66 
68  CombinatorialEmbedding* m_pActEmbedding = nullptr;
69 
71  Graph* m_pGraph = nullptr;
72 
74  List<edge>* m_pResult = nullptr;
75 
77  DynamicBCTree* m_pBCTree = nullptr;
78 
81 
84 
87 
90 
93 
96 
99 
101  void augment(adjEntry adjOuterFace);
102 
104  void modifyBCRoot(node oldRoot, node newRoot);
105 
107  void changeBCRoot(node oldRoot, node newRoot);
108 
110  void reduceChain(node pendant);
111 
113  PALabel::StopCause followPath(node v, node& last);
114 
116  bool findMatching(node& pendant1, node& pendant2, adjEntry& v1, adjEntry& v2);
117 
119  void findMatchingRev(node& pendant1, node& pendant2, adjEntry& v1, adjEntry& v2);
120 
122  pa_label newLabel(node cutvertex, node parent, node pendant, PALabel::StopCause whyStop);
123 
125  void addPendant(node pendant, pa_label& label);
126 
128  ListIterator<pa_label> insertLabel(pa_label label);
129 
131  void connectPendants(node pendant1, node pendant2, adjEntry adjV1, adjEntry adjV2);
132 
134  void connectSingleLabel();
135 
137  void deletePendant(node pendant);
138 
140  void deleteLabel(pa_label& label);
141 
143  void removeLabel(pa_label& label);
144 };
145 
146 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanarAugmentationFix::PlanarAugmentationFix
PlanarAugmentationFix()
Creates an instance of planar augmentation with fixed embedding.
Definition: PlanarAugmentationFix.h:49
ogdf::PlanarAugmentationFix::m_actBCRoot
node m_actBCRoot
The actual root of the bc-tree.
Definition: PlanarAugmentationFix.h:98
ogdf::PlanarAugmentationFix::m_isLabel
NodeArray< ListIterator< pa_label > > m_isLabel
Array that contains iterators to the list of labels if a node is a parent of a label.
Definition: PlanarAugmentationFix.h:89
ogdf::GraphCopy
Copies of graphs supporting edge splitting.
Definition: GraphCopy.h:384
ogdf::PlanarAugmentationFix::m_graphCopy
GraphCopy m_graphCopy
The actual partial graph.
Definition: PlanarAugmentationFix.h:80
ogdf::PlanarAugmentationFix::m_labels
List< pa_label > m_labels
The list of all labels.
Definition: PlanarAugmentationFix.h:86
ogdf::PlanarAugmentationFix::m_belongsToIt
NodeArray< ListIterator< node > > m_belongsToIt
Array that contains the iterator of the label a node belongs to.
Definition: PlanarAugmentationFix.h:95
ogdf::AdjElement
Class for adjacency list elements.
Definition: Graph_d.h:135
ogdf::PALabel
auxiliary class for the planar augmentation algorithm
Definition: PALabel.h:45
AugmentationModule.h
Declaration of interface for graph augmentation algorithms.
GraphCopy.h
Declaration of graph copy classes.
ogdf::List< edge >
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
ogdf::AugmentationModule
The base class for graph augmentation algorithms.
Definition: AugmentationModule.h:53
PALabel.h
Declares auxiliary structure of planar augmentation algorithms.
ogdf::PALabel::StopCause
StopCause
Definition: PALabel.h:50
ogdf::PlanarAugmentationFix
The algorithm for biconnectivity augmentation with fixed combinatorial embedding.
Definition: PlanarAugmentationFix.h:46
ogdf::PlanarAugmentationFix::m_eCopy
EdgeArray< edge > m_eCopy
Edge-array required for construction of the graph copy.
Definition: PlanarAugmentationFix.h:83
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
DynamicBCTree.h
Declaration of class DynamicBCTree.
ogdf::CombinatorialEmbedding
Combinatorial embeddings of planar graphs with modification functionality.
Definition: CombinatorialEmbedding.h:397
ogdf::ListIteratorBase
Encapsulates a pointer to a list element.
Definition: List.h:46
ogdf::PlanarAugmentationFix::~PlanarAugmentationFix
~PlanarAugmentationFix()
Destruction.
Definition: PlanarAugmentationFix.h:52
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::DynamicBCTree
Dynamic BC-trees.
Definition: DynamicBCTree.h:54
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709
ogdf::PlanarAugmentationFix::m_belongsTo
NodeArray< pa_label > m_belongsTo
Array that contains the label a node belongs to.
Definition: PlanarAugmentationFix.h:92