The algorithm for biconnectivity augmentation with fixed combinatorial embedding. More...
#include <ogdf/augmentation/PlanarAugmentationFix.h>
Public Member Functions | |
PlanarAugmentationFix () | |
Creates an instance of planar augmentation with fixed embedding. | |
~PlanarAugmentationFix () | |
Destruction. | |
Public Member Functions inherited from ogdf::AugmentationModule | |
AugmentationModule () | |
Initializes an augmentation module. | |
virtual | ~AugmentationModule () |
void | call (Graph &G) |
Calls the augmentation module for graph G . | |
void | call (Graph &G, List< edge > &L) |
Calls the augmentation module for graph G . | |
int | numberOfAddedEdges () const |
Returns the number of added edges. | |
void | operator() (Graph &G) |
Calls the augmentation module for graph G . | |
void | operator() (Graph &G, List< edge > &L) |
Calls the augmentation module for graph G . | |
Protected Member Functions | |
virtual void | doCall (Graph &g, List< edge > &list) override |
The implementation of the algorithm call. | |
Private Member Functions | |
void | addPendant (node pendant, pa_label &label) |
Adds pendant to label . | |
void | augment (adjEntry adjOuterFace) |
The main function for planar augmentation. | |
void | changeBCRoot (node oldRoot, node newRoot) |
Exchanges oldRoot by newRoot and updates data structurs in the bc-tree. | |
void | connectPendants (node pendant1, node pendant2, adjEntry adjV1, adjEntry adjV2) |
Connects the two pendants. | |
void | connectSingleLabel () |
Connects the remaining label. | |
void | deleteLabel (pa_label &label) |
Deletes the given label. | |
void | deletePendant (node pendant) |
Deletes the given pendant. | |
bool | findMatching (node &pendant1, node &pendant2, adjEntry &v1, adjEntry &v2) |
Finds the next matching pendants. | |
void | findMatchingRev (node &pendant1, node &pendant2, adjEntry &v1, adjEntry &v2) |
Called by findMatching, if a dominating tree was detected. | |
PALabel::StopCause | followPath (node v, node &last) |
Traverses upwards in the bc-tree, starting at the pendant node v . | |
ListIterator< pa_label > | insertLabel (pa_label label) |
Inserts label into the list of labels maintaining decreasing order. | |
void | modifyBCRoot (node oldRoot, node newRoot) |
Modifies the root of the bc-tree. | |
pa_label | newLabel (node cutvertex, node parent, node pendant, PALabel::StopCause whyStop) |
Creates a new label. | |
void | reduceChain (node pendant) |
Adds pendant to a label or creates one. | |
void | removeLabel (pa_label &label) |
Removes the given label from the list of labels. | |
Private Attributes | |
node | m_actBCRoot |
The actual root of the bc-tree. | |
NodeArray< pa_label > | m_belongsTo |
Array that contains the label a node belongs to. | |
NodeArray< ListIterator< node > > | m_belongsToIt |
Array that contains the iterator of the label a node belongs to. | |
EdgeArray< edge > | m_eCopy |
Edge-array required for construction of the graph copy. | |
GraphCopy | m_graphCopy |
The actual partial graph. | |
NodeArray< ListIterator< pa_label > > | m_isLabel |
Array that contains iterators to the list of labels if a node is a parent of a label. | |
List< pa_label > | m_labels |
The list of all labels. | |
CombinatorialEmbedding * | m_pActEmbedding = nullptr |
The embedding of m_graphCopy. | |
DynamicBCTree * | m_pBCTree = nullptr |
The actual dynamic bc-tree. | |
CombinatorialEmbedding * | m_pEmbedding = nullptr |
The embedding of m_pGraph. | |
Graph * | m_pGraph = nullptr |
The working graph. | |
List< edge > * | m_pResult = nullptr |
The inserted edges by the algorithm. | |
The algorithm for biconnectivity augmentation with fixed combinatorial embedding.
Definition at line 46 of file PlanarAugmentationFix.h.
|
inline |
Creates an instance of planar augmentation with fixed embedding.
Definition at line 49 of file PlanarAugmentationFix.h.
|
inline |
Destruction.
Definition at line 52 of file PlanarAugmentationFix.h.
Adds pendant
to label
.
The main function for planar augmentation.
Exchanges oldRoot
by newRoot
and updates data structurs in the bc-tree.
|
private |
Connects the two pendants.
|
private |
Connects the remaining label.
|
overrideprotectedvirtual |
The implementation of the algorithm call.
g | is the working graph. |
list | is the list of all new edges. |
Implements ogdf::AugmentationModule.
|
private |
Finds the next matching pendants.
|
private |
Called by findMatching, if a dominating tree was detected.
|
private |
Traverses upwards in the bc-tree, starting at the pendant node v
.
|
private |
Inserts label
into the list of labels maintaining decreasing order.
Modifies the root of the bc-tree.
|
private |
Creates a new label.
Adds pendant
to a label or creates one.
Removes the given label from the list of labels.
|
private |
The actual root of the bc-tree.
Definition at line 98 of file PlanarAugmentationFix.h.
Array that contains the label a node belongs to.
Definition at line 92 of file PlanarAugmentationFix.h.
|
private |
Array that contains the iterator of the label a node belongs to.
Definition at line 95 of file PlanarAugmentationFix.h.
Edge-array required for construction of the graph copy.
Definition at line 83 of file PlanarAugmentationFix.h.
|
private |
The actual partial graph.
Definition at line 80 of file PlanarAugmentationFix.h.
|
private |
Array that contains iterators to the list of labels if a node is a parent of a label.
Definition at line 89 of file PlanarAugmentationFix.h.
The list of all labels.
Definition at line 86 of file PlanarAugmentationFix.h.
|
private |
The embedding of m_graphCopy.
Definition at line 68 of file PlanarAugmentationFix.h.
|
private |
The actual dynamic bc-tree.
Definition at line 77 of file PlanarAugmentationFix.h.
|
private |
The embedding of m_pGraph.
Definition at line 65 of file PlanarAugmentationFix.h.
The working graph.
Definition at line 71 of file PlanarAugmentationFix.h.
The inserted edges by the algorithm.
Definition at line 74 of file PlanarAugmentationFix.h.