This class collects information about Kuratowski Subdivisions which is used for extraction later. More...
#include <ogdf/planarity/boyer_myrvold/FindKuratowskis.h>
Public Member Functions | |
FindKuratowskis (BoyerMyrvoldPlanar *bm) | |
Constructor. | |
~FindKuratowskis () | |
Destructor. | |
void | addKuratowskiStructure (const node currentNode, const node root, const node stopx, const node stopy) |
Adds Kuratowski Structure on current node with root root and stopping nodes stopx and stopy . | |
SListPure< KuratowskiStructure > & | getAllKuratowskis () |
Get-method for the list of all KuratowskiStructures. | |
const SListPure< KuratowskiStructure > & | getAllKuratowskis () const |
Constant get-method for the list of all KuratowskiStructures. | |
FindKuratowskis & | operator= (const FindKuratowskis &)=delete |
Protected Member Functions | |
void | extractExternalFacePath (SListPure< adjEntry > &externalFacePath, const ArrayBuffer< adjEntry > &highestFacePath, int marker, int highMarker) |
Extracts externalFacePath in direction CCW and splits highestFacePath in highestXYPaths. | |
void | extractExternalSubgraph (const node stop, int root, SListPure< int > &externalStartnodes, SListPure< node > &externalEndnodes) |
Extracts external subgraph from node stop to ancestors of node with DFI root (without bundles) | |
void | extractExternalSubgraphBundles (const node stop, int root, SListPure< edge > &externalSubgraph, int nodeMarker) |
Extracts external subgraph from node stop to ancestors of node with DFI root (with bundles) | |
void | extractHighestFacePath (ArrayBuffer< adjEntry > &highestFacePath, int marker) |
Extracts the highestFace Path of the bicomp containing both stopping nodes. | |
void | extractPertinentSubgraph (SListPure< WInfo > &W_All) |
Extracts pertinent subgraph from all wNodes to V (without bundles) | |
void | extractPertinentSubgraphBundles (const SListPure< WInfo > &W_All, const node V, SListPure< edge > &pertinentSubgraph, int nodeMarker) |
Extracts pertinent subgraph from all wNodes to V (with bundles) | |
node | findRoot (node stopX) const |
Finds root node of the bicomp containing the stopping node stopX . | |
const | NodeArray (&m_link)[2] |
Links to opposite adjacency entries on external face in clockwise resp. ccw order. | |
void | splitInMinorTypes (const SListPure< adjEntry > &externalFacePath, int marker) |
Assign pertinent nodes to the different minortypes and extracts inner externalPaths. | |
Protected Attributes | |
SListPure< KuratowskiStructure > | allKuratowskis |
List of all Kuratowski Structures. | |
KuratowskiStructure | k |
Current Kuratowski Structure. | |
const NodeArray< adjEntry > & | m_adjParent |
The adjEntry which goes from DFS-parent to current vertex. | |
NodeArray< SListPure< adjEntry > > & | m_backedgeFlags |
Holds information, if node is the source of a backedge. | |
const bool | m_bundles |
If true, bundles are extracted, otherwise single paths? | |
const NodeArray< int > & | m_dfi |
The one and only DFI-NodeArray. | |
EdgeArray< BoyerMyrvoldEdgeType > & | m_edgeType |
Contains the type of each edge. | |
const int & | m_embeddingGrade |
The embedding grade. | |
Graph & | m_g |
Input graph. | |
NodeArray< WInfo * > | m_getWInfo |
Links appropriate WInfo to node. | |
const NodeArray< int > & | m_highestSubtreeDFI |
The highest DFI in a subtree with node as root. | |
const NodeArray< int > & | m_leastAncestor |
The DFI of the least ancestor node over all backedges. | |
NodeArray< int > & | m_lowPoint |
The lowpoint of each node. | |
const Array< node > & | m_nodeFromDFI |
Returns appropriate node from given DFI. | |
int | m_nodeMarker |
Value used as marker for visited nodes etc. | |
NodeArray< int > & | m_numUnembeddedBackedgesInBicomp |
Stores for each (virtual) bicomp root how many backedges to its bicomp still have to be embedded. | |
NodeArray< SListPure< node > > & | m_pertinentRoots |
List of virtual bicomp roots, that are pertinent to the current embedded node. | |
const EdgeArray< node > & | m_pointsToRoot |
Identifies the rootnode of the child bicomp the given backedge points to. | |
const NodeArray< node > & | m_realVertex |
Link to non-virtual vertex of a virtual Vertex. | |
const NodeArray< ListPure< node > > & | m_separatedDFSChildList |
A list to all separated DFS-children of node. | |
NodeArray< int > | m_wasHere |
Array maintaining visited bits on each node. | |
BoyerMyrvoldPlanar * | pBM |
Link to class BoyerMyrvoldPlanar. | |
This class collects information about Kuratowski Subdivisions which is used for extraction later.
Definition at line 180 of file FindKuratowskis.h.
|
explicit |
Constructor.
|
inline |
Destructor.
Definition at line 186 of file FindKuratowskis.h.
void ogdf::FindKuratowskis::addKuratowskiStructure | ( | const node | currentNode, |
const node | root, | ||
const node | stopx, | ||
const node | stopy | ||
) |
Adds Kuratowski Structure on current node with root root
and stopping nodes stopx
and stopy
.
|
protected |
Extracts externalFacePath in direction CCW and splits highestFacePath in highestXYPaths.
|
protected |
Extracts external subgraph from node stop
to ancestors of node with DFI root
(without bundles)
|
protected |
Extracts external subgraph from node stop
to ancestors of node with DFI root
(with bundles)
|
protected |
Extracts the highestFace Path of the bicomp containing both stopping nodes.
Extracts pertinent subgraph from all wNodes to V (without bundles)
|
protected |
Extracts pertinent subgraph from all wNodes to V (with bundles)
Finds root node of the bicomp containing the stopping node stopX
.
|
inline |
Get-method for the list of all KuratowskiStructures.
Definition at line 193 of file FindKuratowskis.h.
|
inline |
Constant get-method for the list of all KuratowskiStructures.
Definition at line 196 of file FindKuratowskis.h.
|
protected |
Links to opposite adjacency entries on external face in clockwise resp. ccw order.
m_link[0]=CCW, m_link[1]=CW
|
delete |
|
protected |
Assign pertinent nodes to the different minortypes and extracts inner externalPaths.
|
protected |
List of all Kuratowski Structures.
Definition at line 219 of file FindKuratowskis.h.
|
protected |
Current Kuratowski Structure.
Definition at line 222 of file FindKuratowskis.h.
The adjEntry which goes from DFS-parent to current vertex.
Definition at line 248 of file FindKuratowskis.h.
Holds information, if node is the source of a backedge.
This information refers to the adjEntries on the targetnode and is used during the walkdown
Definition at line 283 of file FindKuratowskis.h.
If true, bundles are extracted, otherwise single paths?
Definition at line 213 of file FindKuratowskis.h.
The one and only DFI-NodeArray.
Definition at line 237 of file FindKuratowskis.h.
|
protected |
Contains the type of each edge.
Definition at line 256 of file FindKuratowskis.h.
The embedding grade.
Definition at line 210 of file FindKuratowskis.h.
|
protected |
Input graph.
Definition at line 207 of file FindKuratowskis.h.
Links appropriate WInfo to node.
Definition at line 216 of file FindKuratowskis.h.
The highest DFI in a subtree with node as root.
Definition at line 262 of file FindKuratowskis.h.
The DFI of the least ancestor node over all backedges.
If no backedge exists, the least ancestor is the DFI of that node itself
Definition at line 253 of file FindKuratowskis.h.
The lowpoint of each node.
Definition at line 259 of file FindKuratowskis.h.
Returns appropriate node from given DFI.
Definition at line 240 of file FindKuratowskis.h.
|
protected |
Value used as marker for visited nodes etc.
Used during computation of the external face path and the highest x-y-path
Definition at line 227 of file FindKuratowskis.h.
Stores for each (virtual) bicomp root how many backedges to its bicomp still have to be embedded.
The value is set during the walkup, and it is used and decreased while embedding backedges during the walkdown.
Definition at line 277 of file FindKuratowskis.h.
List of virtual bicomp roots, that are pertinent to the current embedded node.
Definition at line 286 of file FindKuratowskis.h.
Identifies the rootnode of the child bicomp the given backedge points to.
Definition at line 270 of file FindKuratowskis.h.
Link to non-virtual vertex of a virtual Vertex.
A virtual vertex has negative DFI of the DFS-Child of related non-virtual Vertex
Definition at line 234 of file FindKuratowskis.h.
A list to all separated DFS-children of node.
The list is sorted by lowpoint values (in linear time)
Definition at line 267 of file FindKuratowskis.h.
Array maintaining visited bits on each node.
Definition at line 229 of file FindKuratowskis.h.
|
protected |
Link to class BoyerMyrvoldPlanar.
Definition at line 204 of file FindKuratowskis.h.