Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
UpwardPlanarityEmbeddedDigraph.h
Go to the documentation of this file.
1
34#pragma once
35
37#include <ogdf/basic/Graph.h>
38
39namespace ogdf {
40template<class E, class INDEX>
41class ArrayBuffer;
42template<class E>
43class List;
44
46public:
47 //constructor
49
50private:
51 //copy of the Input-Graph
52 const Graph& m_G;
53 //super-source and super-sink of the flow-network
55 //flow-network
57 //combinatorial embedding of G
59 //flow-values of the faces
61 //annotations for the construction of the flow-network
67
68public:
69 //tests whether the embedded Digraph is upward planar by using the private class methods
70 //returns true iff G is upward planar observing the fixed embedding
72 //get the set of feasible external faces (represented by the first AdjEntry) if G is upward planar observing the fixed embedding
73 bool isUpwardPlanarEmbedded(List<adjEntry>& possibleExternalFaces);
74
75private:
76 //tests whether the embedded Digraph is upward planar
77 //val = true forces a break if the first feasible external face was found
78 void isUpwardPlanarEmbedded(const bool val, List<adjEntry>& possibleExternalFaces);
79 //constructs flow-network of the corresponding Graph G
81 //tests whether a flow of power r is possible in the flow-network by executing augmentation steps
82 bool isFlow(EdgeArray<int>& capacity, EdgeArray<int>& flow, const int r);
83 //returns a feasible augmentation path
85 //returns the value for one augmentation step
87};
88
89}
Declaration of CombinatorialEmbedding and face.
Includes declaration of graph class.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition ArrayBuffer.h:64
Combinatorial embeddings of planar graphs.
RegisteredArray for labeling the faces of a CombinatorialEmbedding.
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:866
Doubly linked lists (maintaining the length of the list).
Definition List.h:1451
Class for the representation of nodes.
Definition Graph_d.h:241
void constructNetwork(EdgeArray< int > &capacity, EdgeArray< int > &flow)
void getPath(ArrayBuffer< node > &st, EdgeArray< int > &capacity, EdgeArray< int > &flow)
void isUpwardPlanarEmbedded(const bool val, List< adjEntry > &possibleExternalFaces)
bool isFlow(EdgeArray< int > &capacity, EdgeArray< int > &flow, const int r)
int getMin(ArrayBuffer< node > stack, EdgeArray< int > &capacity, EdgeArray< int > &flow)
bool isUpwardPlanarEmbedded(List< adjEntry > &possibleExternalFaces)
UpwardPlanarityEmbeddedDigraph(const Graph &H)
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition Graph_d.h:659
The namespace for all OGDF objects.