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
38#include <ogdf/basic/Graph.h>
39#include <ogdf/basic/Graph_d.h>
40#include <ogdf/basic/List.h>
41
42namespace ogdf {
43
45public:
46 //constructor
48
49private:
50 //copy of the Input-Graph
51 const Graph& m_G;
52 //super-source and super-sink of the flow-network
54 //flow-network
56 //combinatorial embedding of G
58 //flow-values of the faces
60 //annotations for the construction of the flow-network
66
67public:
68 //tests whether the embedded Digraph is upward planar by using the private class methods
69 //returns true iff G is upward planar observing the fixed embedding
71 //get the set of feasible external faces (represented by the first AdjEntry) if G is upward planar observing the fixed embedding
72 bool isUpwardPlanarEmbedded(List<adjEntry>& possibleExternalFaces);
73
74private:
75 //tests whether the embedded Digraph is upward planar
76 //val = true forces a break if the first feasible external face was found
77 void isUpwardPlanarEmbedded(const bool val, List<adjEntry>& possibleExternalFaces);
78 //constructs flow-network of the corresponding Graph G
80 //tests whether a flow of power r is possible in the flow-network by executing augmentation steps
81 bool isFlow(EdgeArray<int>& capacity, EdgeArray<int>& flow, const int r);
82 //returns a feasible augmentation path
84 //returns the value for one augmentation step
86};
87
88}
Declaration of CombinatorialEmbedding and face.
declaration and implementation of FaceArray class
Includes declaration of graph class.
Pure declaration header, find template implementation in Graph.h.
Declaration of doubly linked lists and iterators.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition ArrayBuffer.h:56
Combinatorial embeddings of planar graphs.
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Dynamic arrays indexed with faces of a combinatorial embedding.
Definition FaceArray.h:126
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Doubly linked lists (maintaining the length of the list).
Definition List.h:1435
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
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)
int r[]
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.