Upward planarity testing and embedding. More...
#include <ogdf/upward/UpwardPlanarity.h>
Static Public Member Functions | |
General digraphs | |
static bool | isUpwardPlanar (Graph &G) |
Tests whether graph G is upward planar (using satisfiability). More... | |
static bool | embedUpwardPlanar (Graph &G, adjEntry &externalToItsRight) |
Tests whether graph G is upward planar and embeds the graph by a upward planar embedding if possible (using satisfiability). More... | |
Biconnected digraphs | |
static bool | isUpwardPlanar_embedded (const Graph &G) |
Tests whether a biconnected graph G is upward planarly embedded. More... | |
static bool | isUpwardPlanar_embedded (const Graph &G, List< adjEntry > &possibleExternalFaces) |
Tests whether a biconnected graph G is upward planarly embedded and computes the set of possible external faces. More... | |
Triconnected digraphs | |
static bool | isUpwardPlanar_triconnected (const Graph &G) |
Tests whether the triconnected digraph G is upward planar. More... | |
static bool | upwardPlanarEmbed_triconnected (Graph &G) |
Upward planarly embeds the triconnected digraph G . More... | |
Single-source digraphs | |
static bool | isUpwardPlanar_singleSource (const Graph &G) |
Tests whether the single-source digraph G is upward planar. More... | |
static bool | upwardPlanarEmbed_singleSource (Graph &G) |
Upward planarly embeds the single-source digraph G . More... | |
static bool | upwardPlanarAugment_singleSource (Graph &G) |
Tests whether single-source digraph G is upward planar, and if yes augments it to a planar st-digraph. More... | |
static bool | upwardPlanarAugment_singleSource (Graph &G, node &superSink, SList< edge > &augmentedEdges) |
Tests whether single-source digraph G is upward planar, and if yes augments it to a planar st-digraph. More... | |
static bool | isUpwardPlanar_singleSource_embedded (const ConstCombinatorialEmbedding &E, SList< face > &externalFaces) |
Tests whether the embedding E of a single-source digraph is upward planar. More... | |
static bool | upwardPlanarAugment_singleSource_embedded (Graph &G, node &superSink, SList< edge > &augmentedEdges) |
Tests if single-source digraph G is upward planarly embedded and augments it to a planar st-digraph. More... | |
Upward planarity testing and embedding.
This class provides various static functions for upward planarity testing and embedding. These functions perform different tasks (testing, embedding, augmenting) and pose different restrictions on the input graph (general, biconnected, single source).
We use a strict naming scheme to make it clear what the functions are doing and which restrictions they have. The prefix of the function name denotes the task:
isUpwardPlanar
: Tests if the input graph is upward planar.upwardPlanarEmbed
: First tests if the input graph is upward planar, and if yes upward planarly embeds it.upwardPlanarAugment
: Adds additional edges to the input graph such that the graph remains upward planar and fulfills a special property like single source.The suffix of the function name (if present) describes additional restrictions:
singleSource
: The input graph has exactly one source (but possibly several sinks).seriesParallel
: The input graph is a series-parallel graph.Some of the functions take a combinatorial embedding (e.g., given by the order in the adjacency lists) as input and test this given embedding. These functions are appended by _embedded
.
Definition at line 75 of file UpwardPlanarity.h.
|
static |
Tests whether graph G
is upward planar and embeds the graph by a upward planar embedding if possible (using satisfiability).
G | is the input graph to be embedded if it allows an upward planar embedding. |
externalToItsRight | indicates the external face (on its right side) |
G
is upward planar, false otherwise.
|
static |
Tests whether graph G
is upward planar (using satisfiability).
G | is the input graph to be tested. |
G
is upward planar, false otherwise.
|
static |
Tests whether a biconnected graph G
is upward planarly embedded.
The fixed embedding of G
is given by the order of G's
adjacency lists.
G | is the input graph to be tested. |
G
is upward planarly embedded, false otherwise.
|
static |
Tests whether a biconnected graph G
is upward planarly embedded and computes the set of possible external faces.
|
static |
Tests whether the single-source digraph G
is upward planar.
G
is not single-source the function returns false.G | is the (single-source) input digraph. |
G
was single-source and upward planar, false otherwise.
|
static |
Tests whether the embedding E
of a single-source digraph is upward planar.
E | is the given combinatorial embedding to be tested. |
externalFaces | is assigned the list of possible external faces such that E is upward planar. |
E
is upward planar, false otherwise.
|
static |
Tests whether the triconnected digraph G
is upward planar.
G
is not triconnected the function returns false.G | is the (triconnected) input digraph. |
G
was triconnected and upward planar, false otherwise.
|
static |
Tests whether single-source digraph G
is upward planar, and if yes augments it to a planar st-digraph.
G
is not single-source the function returns false.If G
is upward planar, this method adds a super sink node t and adds further edges such that the resulting digraph is a planar st-digraph.
G | is the input digraph which gets augmented. |
G
is single-source and upward planar, false otherwise.
|
static |
Tests whether single-source digraph G
is upward planar, and if yes augments it to a planar st-digraph.
G
is not single-source the function returns false.If G
is upward planar, this method adds a super sink node superSink
and adds further edges such that the resulting digraph is a planar st-digraph.
G | is the input digraph which gets augmented. |
superSink | is assigned the inserted super sink node. |
augmentedEdges | is assigned the list of inserted edges. |
G
is single-source and upward planar, false otherwise.
|
static |
Tests if single-source digraph G
is upward planarly embedded and augments it to a planar st-digraph.
G | is the embedded input graph. |
superSink | is assigned the added super sink. |
augmentedEdges | is assigned the list of added edges. |
G
is upward planarly embedded (in this case G
is also augmented by adding a super sink and additional edges), false otherwise.
|
static |
Upward planarly embeds the single-source digraph G
.
G
is not single-source the function returns false.G | is the (single-source) input digraph. |
G
was single-source and upward planar, false otherwise.
|
static |
Upward planarly embeds the triconnected digraph G
.
G
is not triconnected the function returns false.G | is the (triconnected) input digraph. |
G
was triconnected and upward planar, false otherwise.