82 return dfsFaceNodeOf(m_T,
nullptr, m_pE->rightFace(e->
adjSource()),
Declaration of CombinatorialEmbedding and face.
declaration and implementation of FaceArray class
Declaration and implementation of NodeArray class.
Declaration of singly linked lists and iterators.
Combinatorial embeddings of planar graphs.
Class for the representation of edges.
adjEntry adjSource() const
Returns the corresponding adjacancy entry at source node.
adjEntry adjTarget() const
Returns the corresponding adjacancy entry at target node.
Dynamic arrays indexed with faces of a combinatorial embedding.
Faces in a combinatorial embedding.
void init(const ConstCombinatorialEmbedding &E, node s)
void stAugmentation(node h, Graph &G, SList< node > &augmentedNodes, SList< edge > &augmentedEdges)
augments G to an st-planar graph (original implementation)
const Graph & originalGraph() const
return a reference to the original graph G
node dfsStAugmentation(node v, node parent, Graph &G, SList< node > &augmentedNodes, SList< edge > &augmentedEdges)
bool dfsCheckForest(node v, node parent, NodeArray< bool > &visited, int &nInternalVertices)
performs dfs-traversal and checks for backwards edges
void stAugmentation(node h, Graph &G, node &superSink, SList< edge > &augmentedEdges)
augments G to an st-planar graph
const ConstCombinatorialEmbedding & originalEmbedding() const
returns a reference to the embedding E of the original graph G
node checkForest()
checks if the face-sink graph is a forest with 1) there is exactly one tree T containing no internal ...
node dfsFaceNodeOf(node v, node parent, face f1, face f2)
FaceSinkGraph(const ConstCombinatorialEmbedding &E, node s)
constructor (we assume that the original graph is connected!)
node m_source
the single source
node possibleExternalFaces(SList< face > &externalFaces)
returns the list of faces f in E such that there exists an upward-planar drawing realizing E with f a...
FaceSinkGraph()
default constructor (dummy)
NodeArray< face > m_originalFace
original face in E
void sinkSwitches(FaceArray< List< adjEntry > > &faceSwitches)
compute the sink switches of all faces.
void doInit()
constructs face-sink graph
NodeArray< node > m_originalNode
original node in G
void gatherExternalFaces(node v, node parent, SList< face > &externalFaces)
builds list of possible external faces
node m_T
representative of unique tree T
node dfsStAugmentation(node v, node parent, Graph &G, SList< edge > &augmentedEdges)
node originalNode(node v) const
returns the sink-switch in G corresponding to node v in the face-sink graph, 0 if v corresponds to a ...
const ConstCombinatorialEmbedding * m_pE
associated embedding of graph G
NodeArray< bool > m_containsSource
contains face node the source ?
bool containsSource(node v) const
face originalFace(node v) const
returns the face in E corresponding to node v in the face-sink graph, 0 if v corresponds to a sink-sw...
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
Singly linked lists (maintaining the length of the list).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.