Journal of Graph Algorithms and Applications Straight-line Triangle Representations via Schnyder Labelings

A straight-line triangle representation (SLTR) of a planar graph is a straight-line drawing such that all the faces including the outer face are triangles. Such a drawing can be viewed as a tiling of a triangle with triangles where the input graph is the skeletal structure. A characterization based on flat angle assignments, i.e., selections of angles of the graph that are of size π in the representation, has been presented in earlier work. The drawback of this characterization of SLTRs is that we have no efficient algorithm for testing whether a given graph admits a flat angle assignment that fulfills the conditions. In this paper we present a new characterization based on Schnyder woods. For graphs with few Schnyder woods there exists a polynomial algorithm to check whether the conditions of this characterization are satisfied. However, there are planar 3-connected graphs on n vertices, which have 3.209 n Schnyder woods. We also present a translation of the new characterization into a 2-commodity flow problem. Deciding whether a 2-commodity flow problem has an integral solution is known to be NP-complete. Hence, it is still open to decide whether the recognition of graphs that admit a straight line triangle representation is polynomially tractable.


Introduction
In this paper we study a representation of planar graphs in the classical setting, i.e., vertices are represented by points in the Euclidean plane and edges are represented by non-crossing continuous curves connecting the points.We aim to classify the class of planar graphs that admit a straight-line representation in which all faces are triangles.Haas et al. present a necessary and sufficient condition for a graph to be a pseudo-triangulation [13], however this condition is not sufficient for a graph to have a straight-line triangle representation [1].There have been investigations of the problem in the dual setting, i.e., in the setting of side contact representations of planar graphs with triangles.A graph is a Touching Triangle Graph (TTG) if it admits a representation where each vertex is represented as a triangle and each edge e is represented as a side contact of the triangles that correspond to the end vertices of e.We call such a representation proper if it determines a tiling of a triangle, where each tile corresponds to a distinct vertex of the input graph.A straight-line representation of a graph G in which all the faces are triangles, is a proper TTG of the weak dual of G. Gansner, Hu and Kobourov show that outerplanar graphs, grid graphs and hexagonal grid graphs are TTGs.They give a linear time algorithm to find a TTG [11].Fowler has given a necessary and sufficient condition for a special type of outerplanar graphs to be proper TTG [9].Kobourov, Mondal and Nishat present construction algorithms for proper TTGs of 3-connected cubic graphs and some grid graphs.They also present a decision algorithm for testing whether a 3-connected planar graph is a proper TTG [14].Gonçalves, Lévêque and Pinlou consider a primal-dual contact representation by triangles, i.e., both the faces as well as the vertices are represented by triangles.They show that all 3-connected planar graphs admit such a representation [12].
Here is the formal introduction of the main character of this paper.
Definition 1 (Straight Line Triangle Representation) A plane drawing of a graph such that -all the edges are straight-line segments and -all the faces, including the outer face, are non-degenerate triangles, is called a Straight Line Triangle Representation (SLTR).To simplify the discussion we assume that the input graph is given with a plane embedding and a selection of three vertices of the outer face that are designated as corner vertices for the outer face.These three vertices are called suspension vertices.If needed, an algorithm may try all triples of vertices as suspensions.
Clearly every straight-line drawing of a triangulation is an SLTR.So the class of planar graphs admitting an SLTR is rich.On the other hand, graphs admitting an SLTR cannot have a cut vertex.Indeed, graphs admitting an SLTR are essentially 3-connected, cf.[2, Proposition 1] and the following paragraph.
A plane graph G with suspensions s 1 , s 2 , and s 3 is said to be internally 3connected when the addition of a new vertex v ∞ in the outer face, that is made adjacent to the three suspension vertices, yields a 3-connected graph.From [2, Proposition 1] it follows that a graph that is not internally 3-connected but does admit an SLTR is a subdivision of an internally 3-connected graph.Therefore, we may assume that the graphs we consider, are internally 3-connected.Being well connected, however, is not sufficient as shown e.g., by the cube graph (see Figure 2).
Results and Organization.In this paper we give a characterization of SLTRs in terms of flat angle assignments and accompanying Schnyder labelings.Using this characterization we describe an algorithm to decide whether a graph admits an SLTR.The runtime of the algorithm depends on the number of different Schnyder labelings that the input graph admits.In Section 2 we introduce the previous results on SLTRs as well as Schnyder labelings.In Section 3 we obtain a characterization in terms of flat angle assignments and Schnyder labelings.In Section 4 we describe how to decide whether a graph with a unique Schnyder labeling has an SLTR.This method can be subsequently used for different Schnyder woods.In Section 5 we describe an alternative algorithmic approach.We describe a 2-commodity network flow problem of which the feasible integral flows are in bijection to compatible pairs of a flat angle assignment and a Schnyder labeling, in other words the feasible integral flows are in bijection to SLTRs.

SLTRs
Let G be a plane, internally 3-connected graph, that has an SLTR.Let s 1 , s 2 and s 3 be the three suspensions.Since G is internally 3-connected, every vertex has at most one flat angle, i.e., at most one angle of size π in the SLTR.Therefore, the flat angles can be viewed as a partial mapping of vertices to faces.Since the outer angle of suspension vertices exceeds π, suspensions have no flat angle.Since each face f (including the outer face) is a triangle, each face has precisely three angles that are not flat.In other words, every face f has |f | − 3 incident vertices that are assigned to f .This motivates the definition: Definition 2 (FA Assignment) A flat angle assignment (FAA) is a mapping from a subset U of the non-suspension vertices to faces such that [C v ] Every vertex of U is assigned to at most one face, [C f ] For every face f , precisely |f | − 3 vertices of f are assigned to f .If an FAA induces an SLTR it is a good flat angle assignment and we abbreviate it as a good-FAA.If an FAA induces an SLTR, then the flattened angles in the SLTR are precisely the assigned angles in the FAA, and if an FAA comes from an SLTR, the assigned angles in the FAA are precisely the flattened angles in the STLR.To decide whether an FAA is a good-FAA, we introduce the notion of combinatorial convex corner.
Definition 3 Given a plane graph G and an FAA ψ of G. Let γ be a cycle in G.By int(γ) we denote the cycle and all the vertices, edges and faces of G that are interior to γ or on γ.A vertex v of γ is a combinatorial convex corner for γ with respect to ψ if [K1] v is a suspension vertex, or [K2] v is not assigned and there is an edge e incident to v with e ∈ int(γ), or [K3] v is assigned to a face f , f ∈ int(γ) and there exists an edge e incident to v with e ∈ int(γ).
The main result in [2] implies that an FAA is good, if and only if, every simple cycle has at least three combinatorial convex corners.
Theorem 1 ( [2]) An FAA is a good-FAA, if and only if, every simple cycle has at least three combinatorial convex corners.

Schnyder Labelings
Schnyder woods were introduced by Walter Schnyder in the context of the order dimension of planar graphs [15].Schnyder woods were originally defined as an orientation and 3-coloring of the interior edges of a triangulation.Felsner generalized the theory to 3-connected planar graphs [5].The theory of Schnyder woods (and Schnyder labelings) has proven to be very useful in graph drawing.We will show that it is also useful for the analysis of SLTRs.
Definition 4 (Schnyder Wood) Let G be a 3-connected plane graph with three suspensions s 1 , s 2 , s 3 in clockwise order on the boundary of the outer face.A Schnyder wood is an orientation and labeling of the edges of G with the labels 1, 2, and 3 such that the following four conditions are satisfied1 (see Figure 3).
[W1] Each edge is either unidirected or bidirected.In the latter case the two directions have distinct labels (see Figure 3).[W2] At each suspension s i there is a half-edge into the outer face with label i.
[W3] Each vertex v has outdegree one in each label.Around v in clockwise order there is an outgoing edge of label 1, zero or more incoming edges of label 3, an outgoing edge of label 2, zero or more incoming edges of label 1, an outgoing edge of label 3 and zero or more incoming edges of label 2.
[W4] There is no directed cycle in one color.
Figure 3: The conditions of a Schnyder wood and a Schnyder labeling, it follows from L1 and L2 that the labels (i, i, i − i, i + 1) appear clockwise around an edge.
Definition 5 (Schnyder Labeling) Let G be a 3-connected plane graph with three suspensions s 1 , s 2 , s 3 in clockwise order on the boundary of the outer face.A Schnyder labeling is a labeling of the angles of G with the labels 1, 2, and 3 such that the following two conditions are satisfied (see Figure 3).
[L1] The labels of an interior face form in clockwise order: a nonempty interval of 1's, a nonempty interval of 2's and a nonempty interval of 3's.At the outer face these intervals are in counterclockwise order.
[L2] At suspension s i the outer angles, divided by the half-edge, have labels (i + 1) and (i − 1) in clockwise order.The inner angles at s i are labeled i. Around each non-suspension vertex the labels form, in clockwise order, a nonempty interval of 1's, a nonempty interval of 2's and a nonempty interval of 3's.
Schnyder labelings are in bijection to Schnyder woods [6, Theorem 2.3].A Schnyder wood can be obtained from a Schnyder labeling by labeling the edge outgoing from v with label i if it separates an angle at v that is labeled i − 1 from an angle labeled i + 1.On the other hand a Schnyder labeling can be obtained from a Schnyder wood by labeling all angles clockwise between the outgoing edge with label i − 1 and the outgoing edge with label i with label i + 1 (see Figure 4).A Schnyder wood consists of three spanning trees, rooted in the suspensions [6, Corollary 2.5].The trees define paths from a vertex to each root.The paths from a given vertex v to the three roots are disjoint, except for v. Therefore, we can speak about the number of interior faces between the path to suspension s i−1 and the path to suspension s i+1 .Associate to each vertex v a triple (v 1 , v 2 , v 3 ) where v i counts the number of interior faces enclosed by the edge (s i−1 , s i+1 ), the outgoing (i + 1)-colored path from v to s i+1 and the outgoing (i − 1)-colored path from v to s i−1 in the Schnyder wood.For each vertex A compact straight-line drawing can be obtained using this vector.Let α 1 = (0, 1), α 2 = (1, 0) and α 3 = (0, 0).A drawing obtained by face-counting is a mapping µ of the vertices to a 2-dimensional space.Two vertices that are adjacent are connected by a straight-line segment.
Given a planar graph G and a Schnyder wood of G, the drawing D of G obtained by face-counting is plane and convex [5,Theorem 3].
We state a nice property of this drawing [3, Figure 11 and Lemma 3].A drawing and an example of a face with the property below, are depicted in Figure 5.

Property 1
The vertices of an interior face are placed on the boundary of a triangle with sides on lines c i (α i−1 − α i+1 ) for some constant c i .There are no vertices in the (open) interior of the bounding triangle for the face.The angles in a face, at the vertices on the line c i (α i−1 − α i+1 ) have label i in the Schnyder labeling.

Schnyder Labelings and FAAs
In this section we present a new characterization of SLTRs.This characterization is based on Schnyder woods and FAAs.In an SLTR every face is a triangle and the not assigned angles of a face are its corners.We also call the angles in a graph that are not assigned by some FAA combinatorial corners or simply corners, for this FAA.Given a Schnyder labeling of a 3-connected plane graph, the labels of the corners of every face are a subset of {1, 2, 3}.

Definition 6 (Corner compatibility)
The Schnyder labeling σ and the FAA ψ use the same suspensions.
[C2] Every inner face has a corner in ψ that is labeled 1 in σ, a corner in ψ that is labeled 2 in σ and a corner in ψ that is labeled 3 in σ.
The remainder of this section is dedicated to proving that every SLTR has (at least) a corner compatible pair and every corner compatible pair induces an SLTR.Note that there exist graphs that have more than one Schnyder labeling such that at least one Schnyder labeling belongs to a corner compatible pair and at least one Schnyder labeling does not belong to a corner compatible pair.An example of such a graph is given in Figure 6.
Figure 6: Two Schnyder labelings of the same graph.The Schnyder labeling on the left belongs to a corner compatible pair, a compatible good-FAA is given by the arrows.The Schnyder labeling on the right does not belong to a corner compatible pair.An FAA of this graph has to assign each inner vertex, but vertex v has a unique label in each of its incident faces and therefore, cannot be assigned.
Theorem 2 Let G be a suspended, internally 3-connected graph.Then G has an SLTR if and only if there is a corner compatible pair consisting of an FAA ψ and a Schnyder labeling σ.
Showing that having a corner compatible pair is sufficient for having an SLTR is fairly easy.The structure of the drawing obtained by face-counting (see Section 2.2) can be used efficiently to show that every simple cycle has at least three combinatorial convex corners.
Lemma 1 Let G be a suspended, internally 3-connected graph.If an FAA ψ and a Schnyder labeling σ are corner compatible, then every simple cycle has at least three combinatorial convex corners with respect to ψ.
Proof: Let γ be a simple cycle and F int be the set of interior faces of G. Let α 1 , α 2 , α 3 ∈ R 2 be three independent vectors, e.g., (0, 0), (0, 1) and (1, 0), and let D be the drawing of G obtained by face-counting using these vectors.An example of such a drawing is given in Figure 5. Consider the outline cycle γ in D. We sweep over D with the line (α i−1 − α i+1 ), starting at the suspension s i (see Figure 7).Let M i be the set of vertices of γ that are met first by these sweeplines (respectively).
Observation 1.All vertices of a face f with label i inside f are met by the sweepline (α i−1 − α i+1 ) at the same time.This follows from Property 1: 'The vertices of an interior face are placed on the boundary of a triangle with sides on lines c i (α i−1 − α i+1 ) for some constant c i ' (see Figure 7).
Observation 2. For a vertex v ∈ M i , all the angles of v that lie inside γ are labeled i.The three sweeplines divide the angles of a vertex (see Figure 8).The angles that lie completely on the opposite side of suspension s i with respect to the line with direction (α i−1 − α i+1 ) through v are all labeled i.
It follows from Observation 2 that the sets M 1 , M 2 and M 3 are disjoint.The Schnyder labeling and the FAA are corner compatible, therefore, every face has a corner of label i.Hence, in each set M i there is a vertex which is not assigned inside of γ.By convexity of the drawing such a vertex has a neighbor outside of γ.A vertex in γ that is not assigned inside γ and has a neighbor outside is a combinatorial convex corner for γ.As the sets M i are disjoint, each outline cycle has at least three combinatorial convex corners.
Hence, using Theorem 1 we obtain that ψ induces an SLTR of G.
Together with Theorem 1 this proves that the FAA is a good-FAA.By definition we know that a good-FAA induces an SLTR in which the flat angles are prescribed by the good-FAA ψ.The separation of the labels of the angles around a vertex: the angles that lie completely in the arc with label i, are labeled i.
In the following we will show that for every SLTR there exists a Schnyder labeling such that the FAA from this SLTR and the Schnyder labeling are corner compatible.Let G be a suspended, internally 3-connected graph that admits an SLTR.Let R be an SLTR of G and ψ the FAA induced by R.
First we introduce two geometric objects that will be useful.Examples are shown in Figure 9.
Definition 7 (Separating (Subdivided) Triangle) A separating (subdivided) triangle is a triangle in the drawing, formed by some set of edges and three corners such that: • Every boundary vertex of the triangle that is not a corner is assigned (either inside or outside the triangle), and, • There is a vertex, which is not one of the corners, that has no neighbor strictly outside of the triangle and there is a vertex, which is not one of the corners, that has no neighbor strictly inside the triangle.Note that this triangle may partly be on the boundary of the drawing.Definition 8 (Dividing Segment) A dividing segment is a set of edges that lie on a line such that the union of these edges cuts the drawing into two nonempty parts.Moreover, every interior vertex v on this segment is assigned to a face that contains two edges of the dividing segment on its boundary (the two edges have v as an endpoint).
Figure 9: Examples of separating triangles, colored grey in (a) and (b), and of dividing segments, between p and q, colored grey in (c) and (d).
In order to show that for every SLTR and FAA belonging to this SLTR, there exists a Schnyder labeling such that the FAA and the Schnyder labeling are corner compatible, we assume that it is not the case and aim for a contradiction.Let G be a counterexample with the minimum number of vertices and, subject to this condition, as few edges as possible.Let R be an SLTR of G, ψ the FAA belonging to R and s 1 , s 2 , s 3 the suspensions.We will first show some properties of R.
Lemma 2 R has no separating (subdivided) triangle.
Proof: Suppose to the contrary that R has a separating (subdivided) triangle (a, b, c).Let R 1 be the part of R that contains everything outside of the separating (subdivided) triangle, and the boundary of the separating (subdivided) triangle.Let R 2 be the part of R that contains the inside and the boundary of the separating (subdivided) triangle (see Figure 10).The vertices on the boundary of the separating (subdivided) triangle that have degree two in R i , are replaced by an edge between their two neighbors in R i .R 1 and R 2 are SLTRs with less vertices than G. Therefore, they cannot be counterexamples.Hence, there exists a Schnyder labeling that is corner compatible with the FAAs of R 1 and R 2 .For R 2 the vertices a, b, c are the suspensions, the labels of the suspensions are chosen to coincide with their labels in the now empty triangle in R 1 (renaming the labels does not change the Schnyder labeling).The FAAs for the smaller graphs are a subset of ψ, the FAA of G.The Schnyder labelings combined give a Schnyder labeling σ of G.It follows, from the fact that in R 1 and R 2 the Schnyder labelings and FAAs are corner compatible, that ψ and σ are corner compatible, which contradicts the assumption that G does not admit a compatible pair.Hence, R has no separating (subdivided) triangle.Remark.This also implies that there is no degree-2 suspension.
Proof: Suppose to the contrary that there is a dividing segment with p and q as endpoints.If one of p and q is a suspension, then R has a separating (subdivided) triangle (see Figure 9 (c)).Moreover, if each side of the dividing segment contains a suspension of degree more than two, then again R has a separating (subdivided) triangle (see Figure 9 (d)).Therefore, we may assume that the dividing segment separates a degree-2 suspension s 1 , and p and q are not suspensions.There are two cases.The dividing segment consists of one edge pq (Case 1) or there is at least one vertex on the dividing segment between p and q (Case 2).
Case 1.If p or q is a degree-3 vertex there must be a separating (subdivided) triangle, as pq is an edge (see Figure 11 (a)).This contradicts Lemma 2. So both p and q have at least degree 4. Recall that the suspension that is separated, s 1 , has degree 2 and that G is internally 3-connected.Therefore, all neighbors of p and q, other than s 1 , are on the same side of the dividing segment.We claim that one of the edges ps 1 or qs 1 can be contracted such that the resulting graph has an SLTR with the same assignment as G, except for p and q (see Figure 11 (b)).This does not come for free as s 2 , q, p (or s 3 , p, q) becomes a straight-line segment.Contracting one of the edges ps 1 or qs 1 could result in a degeneracy.To obtain a degeneracy in both cases, there have to be two cycles containing p and q which both have precisely three combinatorial convex corners (see Figure 11 (c)).Only then does contracting ps 1 as well as contracting qs 1 induce a simple cycle with at most two combinatorial convex corners.Let v and w be the third corners of these cycles (see Figure 11 (c)).There exists a path from q to v and similarly a path from p to w.These paths belong to the cycles.To induce a degeneracy when ps 1 or qs 1 is contracted, such a path cannot contain a corner besides its endpoints.Hence, it is a straight-line path in the SLTR or 'steeper', i.e., it has concave angles in the interior of the cycles p, q, v or p, q, w.Let z be the vertex where the two paths cross.As z should not be a corner for either of the paths, it must be assigned inside both cycles.This implies that the angle at z that is interior to the cycles and between the paths to p and q is at least of size π in the SLTR.This is a contradiction to the assumption that R is an SLTR (see Figure 11 (c)).
Therefore, we can contract at least one of these edges, say qs 1 .Let G be obtained from G by contracting qs 1 and deleting ps 1 .The assignment ψ is obtained by removing the assignment of q from ψ.The vertex p is assigned to the outer face.As G has less vertices than G, it is not a counterexample.Therefore, G has a Schnyder labeling that is corner compatible with ψ .This labeling is extended to a labeling of G by adding the labels 1, 2, and 3 clockwise in the face s 1 , q, p giving the angle at s 1 label 1 (see Figure 11 (b)).It is immediate that this Schnyder labeling is corner compatible with ψ.
Case 2. Let x be the first neighbor of p on the dividing segment.The graph G is obtained by contracting the edge ps 1 .No edges are deleted (see Figure 12).The assignment of G is obtained from ψ by deleting the assignments of x and p.Every simple cycle in G has an equivalent simple cycle in G.No edge of which x is an endpoint is deleted.Therefore, if x is a combinatorial convex corner for the equivalent outline cycle in G then it is also a combinatorial convex corner for the outline cycle in G .It follows that G has an SLTR.As G is smaller than G, it has a Schnyder labeling that is corner compatible with ψ .This labeling is extended to a labeling of G by adding the label 1 to the angle at s 1 and 3 to the new angle at p.This Schnyder labeling is corner compatible with ψ.
The following lemma shows a property of a corner compatible pair that turns out to be useful later on.Lemma 4 Let G be a suspended internally 3-connected planar graph with a corner compatible pair ψ and σ, an FAA and a Schnyder labeling, respectively.Let v be a neighbor of a suspension.If v is assigned in ψ to a face that contains this suspension then the label of the assigned angle of v is unique among the labels of the angles of v.
Proof: Without loss of generality, let v be a neighbor of s 1 and such that v is assigned to the left face of the edge vs 1 , this face is denoted by f .Then the assigned angle of v has label 2 (see Figure 13).The face f has both v and s 1 on its boundary, and the other neighbor of v in f is denoted by w.The edge vs 1 has two angles labeled 1 (at s 1 ) and an angle labeled 2, the assigned angle at v. In a Schnyder labeling all three labels must occur around an edge, hence, the fourth angle around vs 1 has label 3. Since ψ and σ are corner compatible, there must be a corner in f with label 2. Hence, the angle of w in f must also have label 2. Around the edge vw there are now two angles labeled 2, hence, the other angles have labels 1 (at w) and 3 (at v).From L2 (of Definition 5 it follows that around v the label 2 appears only once, precisely at the assigned angle.
Figure 13: The label at the assigned angle is unique around the vertex v.
Lemma 5 In a minimal counterexample R, no neighbor x i of a suspension s i is assigned to a face incident to the edge s i x i .
Remark.In particular this implies that the three suspensions form a triangle.
Proof: Suppose to the contrary that there is a neighbor x of s 1 which is assigned to a face incident to the edge s 1 x.We again construct a smaller graph G , show that it has an SLTR and that we can extend its Schnyder labeling to a Schnyder labeling of G. Ideally we contract the edge s 1 x to obtain G , however, this is not always possible (e.g., it is not possible when the contraction results in a degeneracy or when z has degree 3 as then the resulting graph is not internally 3-connected).
Consider the drawing R. Let z be the vertex that is the third corner of the face which has x and s 1 as corners.Note that, if there are two vertices z, z connected by a straight-line path to s 1 as well as x, then there is a separating (subdivided) triangle (see Figure 14 (a)).
We may assume that z is a neighbor of s 1 .Suppose not, then there must be another vertex x , between z and s 1 and assigned to the face with corners s 1 , z and x.Let z be the third corner of the face with corners x and s 1 (see Figure 14 (b)).Either z is a neighbor of s 1 or we find x , and so on.As we are moving over the neighbors of s 1 , this process must end.Hence, we find the desired x and z, both neighbors of s 1 .Here is a summary of how we obtain G in different cases, the cases are depicted in Figure 15.(b) Otherwise, if z has degree 3, then z is removed and an appropriate edge is added.
(c) Otherwise, if xs 1 can be contracted, it is contracted.
(d) Otherwise, the edge zs 1 is deleted.
2. If x and z are not neighbors, then the edge xs 1 is contracted.
Note that x may be a boundary vertex of G.
Similarly as before, the resulting graph G is shown to have an SLTR, and as it has less vertices than G, it admits a corner compatible pair.The obtained Figure 15: How to obtain G in the different cases.The solid red edges represent the edge that is to be contracted, the red vertex represents the vertex that is to be removed and the dashed red edge represents the edge to be deleted.
Schnyder labeling is shown to be extendable to G, and this results in a corner compatible pair for G, contradiction.We will now go into the different cases in more detail.
Let xz be an edge and thus (s 1 , z, x) forms a triangle.Case 1a.The graph G is obtained by deleting the edge s 1 z and contracting xz, the new vertex is called x (see Figure 16).The assignment ψ of G is obtained from ψ by deleting the assignment of z.Every simple cycle c in G has an equivalent simple cycle in G.The combinatorial convex corners of such an equivalent cycle that are not x or z, must also be combinatorial convex corners of c .If one of x and z is a corner, then x is a corner for c .Suppose x and z are both corners of the equivalent cycle c.Note that c is not just the face z, x, s 1 , as c is a simple cycle for which c is the equivalent cycle.Therefore, at least for one of x and z another angle at this vertex must be interior to c (c cannot have a cutvertex).Suppose an angle of z not in z, x, s 1 belongs to the interior of c.Then z cannot see x through this angle, hence, c must connect z to x in a way that goes around the assigned angle of z (c cannot have a cutvertex, connecting through the other side would ensure that s 1 is a cutvertex).But then c has to have at least four combinatorial convex corners in G.A similar argument shows that if an angle of x not in z, x, s 1 belongs to the interior of c then c must also have at least four combinatorial convex corners.It follows that every simple cycle in G has at least three combinatorial convex corners.Therefore, G has an SLTR.Since G has less vertices than G, it cannot be a counterexample.Take a Schnyder labeling σ of G that is corner compatible with ψ .From Lemma 4 it follows that the assigned angle at x has a unique label for this vertex.
We reverse the contraction of xz (see Figure 16).The angles of s 1 , x, z in f s1,z,x are 1,2,3 in clockwise order starting at s 1 .At x all labels occur.The assigned angle of z gets label 1, then all labels occur around z.In the face f s1,z,x all labels occur and the relabeled angle at z is not a corner.Further nothing has changed with respect to σ .Therefore, the obtained Schnyder labeling is corner compatible with ψ.This contradicts the assumption that G is a counterexample.
Figure 16: Contracting the edge xz.The label at the corner with a * is 1 or 3, in both cases the label 1 can be chosen for the assigned angle of z.
Case 1b.Let z have degree 3. Suppose z is assigned, then it is not assigned to one of the faces bounded by xz (due to Case 1a).Suppose z is assigned along the face to s 1 as in Figure 17 (a), then there is a separating (subdivided) triangle, as z has degree 3 and the lower face bounded by xz must be a triangle.This contradicts Lemma 2. Therefore, we may assume that z is not assigned.
Figure 17: Deleting z when w is assigned to the face with s 1 or when w has degree 3.
The third neighbor of z, denoted by w, is assigned (otherwise there is be a separating (subdivided) triangle, containing z in its interior).In this case we obtain G by deleting z and adding an appropriate edge.When w is assigned to the face with s 1 z (see Figure 17 (b,c)) or when w has degree 3 (see Figure 18), we proceed as follows.After z is deleted, the edge xw or s 1 w, depending on the assignment of w, is added.The assignment ψ is obtained from ψ by deleting the assignment of w.It is immediate that G has an SLTR, take the drawing of G, erase z and add the appropriate edge to obtain an SLTR of G .Therefore, there must be a Schnyder labeling of G that is corner compatible with ψ , the labelings are depicted in Figure 17 (c) and Figure 18 (c).
Note that, if w and s 1 are not neighbors, the labeling at w is the same as depicted in the figures.Adding z is equivalent to subdividing the newly added edge of w and connecting z to the other of x and s 1 .The labels at the ends of the subdivided edge do not change.At x or s 1 the label of the new angles are the same as the label of the bigger angle in G .The labels around z follow.There is one new assignment, that is the assignment of w.The angle of z along the assignment gets the same label as that angle of w.Therefore, in the incident face all labels occur as corners.The obtained Schnyder labeling of G is corner Figure 18: Deleting z when w is assigned to the face with s 1 or when w has degree 3. compatible with ψ.This contradicts the assumption that G is a counterexample.
If w is assigned to the face with zx and w has degree at least 4, the above procedure does not necessarily work.Consider the drawing in Figure 18 (c).Suppose w has degree at least 4. Then the labeling shown is not the only possibility, namely the labels of the face x, w, p could be rotated one step counterclockwise.Then w has a unique label in this face after introducing z.As w is assigned, this Schnyder labeling is not corner compatible with ψ.Hence, we have to take different measures.The procedure is depicted in Figure 19.Instead of removing z, we map z onto the edge xs 1 .To be precise, in the SLTR of G, z is mapped to its projection onto the edge xs 1 as seen from w.This is possible since z is not assigned, i.e., all the angles of z are strictly smaller than π, and both x and w have a straight-line path to s 1 .Therefore, there is no obstruction between z and its projection.The edge s 1 x is removed, the resulting graph is denoted by G .The assignment ψ of G is ψ together with the new assignment of z to the same face as where x is assigned.That G has an SLTR follows from the construction.
Since G has the same number of vertices as G but fewer edges than G (namely one edge less), G is not a counterexample.A Schnyder labeling in G that is corner compatible with ψ , yields a Schnyder labeling of G that is corner compatible with ψ (see Figure 19).Hence, we have obtained a Schnyder labeling of G that is corner compatible with ψ, this contradicts the assumption.
This concludes the proof for the case that z has degree 3. Case 1c.Due to Case 1a and Case 1b we may assume that z is not assigned to a face bounded by xz and z has degree at least 4. G is obtained by contracting the edge s 1 x and deleting the edge xz (see Figure 20).Here we use that z has Every simple cycle in G has an equivalent simple cycle in G.When x is a combinatorial convex corner of the equivalent cycle, then s 1 is its replacement in G .Suppose z is a corner of the outline cycle in G but not in G .Then all neighbors of z except x are interior to or on the outline cycle.Suppose this outline cycle has only two combinatorial convex corners in G .Confer Figure 21 (a).The path from s 1 to p has at least one interior vertex, as z has degree at least 4. If all these vertices are assigned on the outside then the outline cycle looks as in Figure 21, and it is a separating (subdivided) triangle in G.If the path is concave, as in Figure 21 (b), then this does not hold.In particular in this situation we say that s 1 x cannot be contracted (this is processed by Case 1d).Obviously, if the path is strictly convex then the outline cycle has at least 4 combinatorial convex corners in G.We proceed with the case where there is no outline cycle of which z is the third combinatorial convex corner in G, but z is not a combinatorial convex corner in G for this cycle.This is equivalent to saying that s 1 x is contractable.
In this case, every simple cycle in G has at least three combinatorial convex corners and, therefore, G has an SLTR.
As G is a minimal counterexample, we find a Schnyder labeling σ of G such that ψ and σ are corner compatible.A Schnyder labeling can be extended along the reverse of a contraction that involves a suspension (see Figure 20).The face bounded by s 1 , x and z is a 3-face and it follows from the Schnyder labeling that all three labels occur.Secondly, the assigned angle at x does not have a unique label for this face.The corner compatible pair ψ and σ is extendible to a corner compatible pair for G, which contradicts the assumption.
Case 1d.We may assume that z is not assigned to a face bounded by xz, z has degree at least 4 and s 1 x is not contractable.Since s 1 x is not contractable, we know that there must be a cycle c with z on its boundary, such that all neighbors of z besides x are on or inside c and c has precisely three combinatorial convex corners, of which z is one.Confer Figure 21 (b), we know that the path between s 1 and p is strictly concave with respect to the interior of the cycle c.From this it follows that p can see s 1 without being obstructed by any of the neighbors of z.Since z is not assigned to a face incident to xz and z is a combinatorial convex corner for c, which includes all neighbors of z except x, we can conclude that z is not assigned.
We obtain G by deleting the edge s 1 z.The assignment ψ is equal to ψ except for the assignment of vertex z to the face with s 1 , x and z on its boundary (see Figure 22 (b) and (c)).Suppose in G under ψ there is an outline cycle γ that has at most two combinatorial convex corners.Then γ must contain z and z is a corner for the equivalent outline cycle γ in G.If γ contains all neighbors of z in G then γ has at least four combinatorial convex corners or z is not a combinatorial convex corner for γ.This follows from the fact that in G, the clockwise first neighbor of z after s 1 cannot see x because the clockwise last neighbor of z before x must obstruct its view (see Figure 21 (c)).Therefore, between these two neighbors there must be a combinatorial convex corner on γ.Suppose γ contains the assigned angle of z in G and z is a combinatorial convex corner for the equivalent outline cycle γ in G. Then the equivalent outline cycle in G has at least 4 combinatorial convex corners, since the paths from z to s 1 bounding this cycle must both be strictly convex with respect to this cycle (see Figure 22 (a)) We conclude that G has an SLTR and since G has fewer edges than G, it is not a counterexample.We obtain a Schnyder labeling σ which is corner compatible with ψ .But this can be changed into a Schnyder labeling in G which is corner compatible with ψ (see Figure 22 (b)).
This concludes the proof in the case that x and z are neighbors.Case 2. When xz is not an edge, there is at least one vertex p, between z and x.Such a vertex is assigned to the face containing x, p, z and s 1 (see Figure 23).Let p be such a vertex closest to x.We obtain G by contracting s 1 x.The assignments of p and x are removed from ψ to obtain the assignment ψ for G .
Every simple cycle in G has an equivalent simple cycle in G.If x is a combinatorial convex corner for the equivalent outline cycle, then s 1 or p is its Figure 23: Contracting the edge between a suspension s 1 and a neighbor x which is assigned to a face along the edge s 1 x when xz is not an edge.replacement for the cycle in G .The assignment has changed for the vertex p. Whenever p is a combinatorial convex corner of an outline cycle in G then it must have had a neighbor outside.No edge incident to p has been removed, therefore, p also has a neighbor outside of the outline cycle in G .As p is no longer assigned, it is a combinatorial convex corner for the outline cycle in G as well.It follows that every simple cycle in G has at least three combinatorial convex corners and this implies that G has an SLTR prescribed by ψ .
As G is a minimal counterexample, we find a Schnyder labeling σ of G such that ψ and σ are corner compatible.We have to check whether all three labels occur on corners of the face containing x, p, z and s 1 , call this face f .In σ the angle of p in f has label 2 (or 3) since it is clockwise first (or last) around the edge ps 1 .In G the same holds for the angle of x in f .Hence, the corner compatible pair ψ and σ is extendable to a corner compatible pair for G.
In all cases we have obtained a contradiction to the assumption that G is a minimal counterexample, this concludes the proof of the lemma.Now we are ready to show that there cannot be a counterexample G that has an SLTR but no Schnyder labeling that is corner compatible with the FAA belonging to the SLTR.
Lemma 6 Let G be a suspended, internally 3-connected graph that admits an SLTR and let ψ be the corresponding FAA.Then there exists a Schnyder labeling σ of G such that ψ and σ are corner compatible.
Proof: Suppose the lemma does not hold and let G be a counterexample with the minimum number of vertices and, subject to this condition, as few edges as possible.Let R be an SLTR of G, ψ the FAA belonging to R and s 1 , s 2 and s 3 the suspensions.We aim for a contradiction by constructing a smaller graph G , from G, such that: • G has an SLTR based on the FAA from G, and, • The corner compatible pair of G gives a Schnyder labeling for G, and, • The obtained Schnyder labeling is corner compatible with ψ.This contradicts the assumption that G is a minimal counterexample.
From Lemma 2, Lemma 3 and Lemma 5 it follows that [B1] R has no separating (subdivided) triangle.
[B2] R has no dividing segment.This implies that there is no degree two suspension.
[B3] No neighbor x i of a suspension s i is assigned to a face incident to the edge s i x i .In particular this implies that the three suspensions form a triangle.From B3 it follows that the outer face is a triangle and the neighboring faces of the outer face are also triangles (see Figure 24 on the left).The third vertex of the inner face along the edge s i s i+1 plays an important role.We denote this vertex q (it is not important which i is considered).
First we show that if (for some i) the vertex q is not assigned (has no flat angle) then G cannot be a minimal counterexample.Then we show that if q is assigned for each i, we can change G into another graph G which has some vertex q that is assigned to a face along the edge s i q (as in Lemma 5).Finally we show that a Schnyder labeling σ of G can be changed into a Schnyder labeling σ of G in such a way that if σ and ψ are corner compatible then σ and ψ are corner compatible.
Figure 24: Creating a graph with fewer edges.
Let f be the inner face bounded by the edge s 1 s 2 .Let q be the third vertex of this face.Assume that q is not assigned.We remove the edge s 1 s 2 and assign q to the outer face to obtain G and an FAA ψ .No simple cycle in G contains the assigned angle of q in its interior.If both s 1 and s 2 are in the outline cycle γ , then q is not a combinatorial convex corner for the equivalent outline cycle γ in G, as it must lie in the strict interior.Therefore, the combinatorial convex corners of γ are also combinatorial convex corners for γ .Thus, every outline cycle has at least three combinatorial convex corners and G has an SLTR for which the stretched angles are prescribed by ψ .We have obtained a graph with fewer edges.Therefore, G is not a counterexample.Let σ be a Schnyder labeling of G such that σ and ψ are corner compatible.It is obvious how this implies the existence of a Schnyder labeling σ of G such that σ and ψ are corner compatible (see Figure 24).
Suppose that for every pair of suspensions, the common neighbor q is assigned.Every suspension has at least one neighbor that is not assigned.This follows from the fact that G is not a triangle, and G \ s i must have at least three angles larger than π in the outer face.One of these angles does not belong to a suspension and this vertex must be a not assigned neighbor of s i .Without loss of generality, let q be the common neighbor of s 1 and s 2 , and let p k be the clockwise first neighbor of s 1 , seen from q, which is not assigned (e.g., p 3 in Figure 25).
We will construct a graph G from G, in which p k is assigned to a face bounded by the edge s 1 p k .Then, we will use Lemma 5 to obtain a Schnyder labeling σ for G , which is corner compatible with ψ , the assignment of G .This Schnyder labeling can be changed into a Schnyder labeling of G, which is corner compatible with ψ.
Let p 1 be the neighbor of s 1 clockwise first after q.We obtain a new graph by deleting the edge qs 1 and adding the edge p 1 s 2 , we denote this change by a flip.This change is possible even in the drawing of the SLTR, as s 1 , s 2 , p 1 and q form a convex 4-gon with a diagonal (see Figure 25 (a)).Convexity makes changing the diagonal possible in the current drawing (see Figure 25 (b)).Hence, the new graph has an SLTR.If p 1 is assigned, the step is repeated (see Figure 25 (c)).Since s 1 must have a neighbor that is not assigned, we meet it eventually.Let p k be the first such vertex that is not assigned, and p 1 , . . ., p k the set of vertices processed.The graph obtained after flipping the edge qs 1 to p 1 s 2 and the edges p i s 1 to p i+1 s 2 , for i = 1, . . ., k − 1, is denoted by G * and its assignment by ψ * .As all the steps are possible even in the drawing of the SLTR of G, therefore, the assignment ψ * is a Good FAA.In the last change the edge p k s 2 is added.Now, this edge is removed 2 2 The reason that we do not use the argument as in Figure 24 is that in order to do the and p k is assigned to the face with s 1 , s 2 , p k−1 and p k on its boundary (see Figure 26 (a)).Let the obtained graph be G .The graph G comes with the assignment ψ and we have to argue that this again is a good FAA.Let γ be a simple cycle in G and γ * the equivalent outline cycle in G * .If γ does not have p k on its boundary, then it has the same combinatorial convex corners as γ * .So suppose p k is on the boundary of γ , and not a combinatorial convex corner.If γ has the assigned angle of p k in its interior, but not all neighbors of p k , then γ * has at least four combinatorial convex corners in G * , namely s 1 , s 2 , p k and one on the boundary path between p k and s 2 .Therefore, γ has at least three combinatorial convex corners.Suppose γ encloses all neighbors of p k , but not its assigned angle.In the SLTR of G * the angle at p k is a concave corner for γ * , therefore, there must be at least three other combinatorial convex corners for γ * .These are the combinatorial convex corners of γ .We conclude that every simple cycle has at least three combinatorial convex corners and, therefore, ψ is a good FAA.
As G has a vertex p k that is assigned to a face bounded by the edge s 1 p k , it cannot be a counterexample, due to Lemma 5. Therefore, there is a Schnyder labeling σ such that ψ and σ are corner compatible.It remains to show that σ can be changed into a Schnyder labeling of G which is corner compatible with ψ.
(a) (b) The reason why the Schnyder labeling can be changed without violating corner compatibility depends highly on the property that an assigned angle does not have a unique label for this face in a corner compatible pair.The Schnyder labeling σ is unique for the faces incident to s 1 or s 2 and a flipped edge (see Figure 26 (b)).The first step is to add the edge p k s 2 to obtain G * .The labeling is extended trivially, see Figure 26 (b).
Let q, p 1 , . . ., p k be the set of processed vertices (see Figure 25).By definition, the vertices q, p 1 , . . ., p k−1 all have an assigned angle in G .Two consecutive vertices in this sequence, p i−1 and p i , are not necessarily neighbors, but reverse flipping, we need two angles labeled 1 at p k around the edge towards p k−1 .If we would push p k to the boundary between s 1 and s 2 then this is not guaranteed.
they are the corners of the face containing p i−1 , p i and s 2 .Hence, the vertices on the path from p i−1 to p i on the boundary of this face, are all assigned to this face (see Figure 27 (a)).
Let p 0 = q.We consecutively do the reverse flip: for i = k, . . ., 1, the edge p i s 2 is removed and the edge p i−1 s 1 is added.Note that the degree of the vertex p i is at least 4 in step i as G is 3-connected and p i has one neighbor more in G * than in G. Therefore, the angle clockwise before the edge to s 1 and the angle clockwise after the path to p i−1 are not the same angle.Along the steps, the following invariant is maintained.
Invariant: At step i the vertex p i has labels 2,3,1,1, clockwise, around the edges to s 1 and s 2 and towards p i−1 (see Figure 27 (a)).
We also maintain that the Schnyder labeling is corner compatible with the FAA.
In the base case the invariant holds, as shown in Figure 26 (b).There is no other way to assign the three labels of p k in G than the option given in the figure.The addition of the edge p k s 2 also does not yield other options.
In step i we delete the edge p i s 2 and add the edge p i−1 s 1 .Before the reverse flip, the labels at p i satisfy the invariant and the Schnyder labeling is corner compatible with the assignment.The angles at p i−1 , clockwise around the edge towards p i , have labels 2 and 3 (see Figure 27 (a)).The label 3 follows from the fact that the edge goes to s 2 and the label 2 follows from the fact that either there is another angle labeled 3 (Figure 27   Now we change from p i s 2 to p i−1 s 1 as shown in Figure 27 (b).For most of the angles there is a unique choice for the label in order to maintain a Schnyder labeling, these labels are given in Figure 27 (b) on the right.To maintain the invariant the angle with the question mark has to get label 1.We have to show that this is a valid choice.If this angle is already labeled 1 it is trivially a valid choice.Suppose not, then this must be the assigned angle of p i−1 .This follows from the fact that the neighboring angles of an assigned angle, at a vertex, cannot all three have the same label, this would violate corner compatibility in the face to which the angle is assigned (see Figure 28 (a), the face with a question mark does not have a corner with label 2.).
Suppose the angle labeled with a question mark in the rightmost drawing of Figure 27 is not labeled 1.As the labeling is a Schnyder labeling, the only other option is label 2. Consider Figure 28 (b), j = 2. From the rule around an edge of a Schnyder labeling, it follows that k = 1.Then it follows that l = 2 as this face must have a corner with label 2. Changing labeling of the assigned angle to 1 again gives a Schnyder labeling.Moreover, as this is an assigned angle, this Schnyder labeling is also corner compatible with the FAA.Hence, we have changed from p i s 2 to p i−1 s 1 , the invariant now holds for p i−1 and the Schnyder labeling is corner compatible with the FAA.By induction, we obtain a Schnyder labeling of G which is corner compatible with ψ which contradicts the assumption that G is a counterexample.
Therefore, there does not exist a counterexample.This proves the theorem.
We have now seen all the ingredients needed to prove Theorem 2. For convenience of the reader we repeat the statement of the theorem.
Theorem 2 Let G be a suspended, internally 3-connected graph.Then G has an SLTR if and only if there is a corner compatible pair consisting of an FAA ψ and a Schnyder labeling σ.
Proof: Let G have a corner compatible pair.Lemma 1 shows that this FAA is a good-FAA and it follows that G has an SLTR which agrees with this FAA.
Let G have an SLTR.By Lemma 6 there must be a Schnyder labeling that is corner compatible with the FAA that is determined by this SLTR.This characterization has not yet led to a 'fast' recognition algorithm.However, for particular graph classes, namely those graphs with 'few' Schnyder woods, the characterization does give a recognition algorithm that runs in polynomial time.This will be discussed in the next section.

Graphs with few Schnyder labelings
Given an internally 3-connected, suspended, graph G and a Schnyder labeling σ.We will build a bipartite graph B (G,σ) , such that, a one-sided-perfect matching in this graph, is a good-FAA of G.An example of such a bipartite graph is given in Figure 29.
For each interior face f of G, let f i be the number of angles with label i.The first vertex class, W 1 of B (G,σ) consists of f i − 1 copies of f , for each face f and for each color i, we say that such a copy of f in W 1 is produced by color i.The second vertex class W 2 of B (G,σ) contains the interior vertices of G.There is an edge uv, for u ∈ W 1 , v ∈ W 2 , if and only if, u is copy of f produced by color i and vertex v has an angle with color i in f .
, all the elements of W 1 are matched.Another interpretation of the matching M is that it assigns a vertex of G to a face of G, in such a way, that every vertex is assigned to at most one face.
Lemma 7 Let G be an internally 3-connected, suspended, graph G and σ a Schnyder labeling of G. Let M be a one-sided-perfect matching of B (G,σ) .Let ψ 0 be the assignment of non-suspension vertices of G, which are on the boundary of G, to the outer face.Then ψ 0 together with M is a good-FAA of G.
Proof: Consider the matching M as an assignment of vertices of G to faces of G. Every vertex is assigned to at most one face, therefore, C v holds.Moreover, an interior face f of G, has precisely f i − 1 vertices assigned to it, for every color i.Therefore, an interior face f , has precisely |f | − 3 vertices assigned to it.In ψ 0 the outer face has all but the three suspensions assigned to it, therefore, C f must also hold.Let ψ be the FAA of G that contains ψ 0 and M .
An edge uv in B (G,σ) , for u ∈ W 1 , v ∈ W 2 , implies that u is copy of f produced by color i and vertex v has an angle with color i in f .A face f has precisely f i − 1 vertices assigned to it, for every color i.Therefore, it must hold that for every color i there is a vertex with an angle labeled i in f , which is not assigned to f .Therefore, ψ is corner compatible with σ, and from Lemma 6 it follows that ψ is a good-FAA.
On the other hand, due to Hall's marriage theorem, we can certify the situation where there is no FAA that is corner compatible with a certain Schnyder labeling σ.The certificate is a subset Graphs with few Schnyder labelings Felsner and Zickfeld have defined the class of 3-connected planar graphs that have a unique Schnyder labeling [8,17].These are the graphs that can be obtained from a triangle using a sequence of operations chosen from a set of six operations.For this class there is a polynomial time algorithm that outputs a good-FAA or a certificate that shows that there is no FAA that is good.The algorithm is based on finding a maximum cardinality matching in B (G,σ) .
If a graph has only polynomially many Schnyder labelings, then the above can be repeated for every Schnyder labeling, until a good-FAA is found, or the output is a set {U j } j , such that U j violates Hall's marriage condition in the graph B (G,σj ) where σ j is the j-th Schnyder labeling.There exist planar 3-connected graphs on n vertices, which have 3.209 n Schnyder labelings [8].Therefore, an algorithm checking for a compatible assignment among all Schnyder labelings does not have polynomial complexity in general.

A Flow Network for Corner Compatible Pairs
In this section, we design a two-commodity directed network N G for a given internally 3-connected, suspended graph G.An integral feasible flow in this network corresponds to an SLTR of G. Moreover an SLTR corresponds to (at least one) integral feasible flow.We first introduce a one-commodity network for which an integral feasible flow encodes a Schnyder labeling.Then we introduce a one-commodity network for which an integral feasible flow encodes an FAA.In the end the two networks are combined in such a way that an integral feasible flow encodes a corner compatible pair.We have not been able to avoid using two commodities in the combined network.Solving the integral feasible flow problem for two-commodity networks is known to be NP-complete [4].
Every network considered is directed, i.e., arcs can only be traversed in one direction.Unless stated otherwise, an arc will have capacity 1.
Encoding a Schnyder labeling.We consider the primal-dual graph G + G * of G (see Figure 30).Here G * is the weak dual of G together with a half-edge into the outer face for each edge that is incident to the outer face.The graph G + G * is bipartite: one vertex class consists of the edges of G, the other vertex class contains the vertices and inner faces of G. Two vertices, x, e, in G + G * are connected if x is a vertex that is an end of the edge e in G, or if x is a face that is bounded by e in G.For each edge on the boundary, a half-edge into the outer face is added.A half-edge has only one endpoint.Adding a vertex v ∞ in the unbounded face, and extending all half-edges to end in this vertex, is called the closure of G + G * .
Let G = (V, E) be a graph and α : V → N be a function.An α-orientation of G is an orientation of G where the outdegree of each vertex v equals α(v).This notion was introduced by Felsner [7].This paper shows that for any fixed α the set of α-orientations of a planar graph forms a distributive lattice.The paper also gives several interesting examples of structures on planar graphs that can be encoded as α-orientations for certain α.Of particular interest to us is the following: Felsner [7] remarks that the decision whether a graph G has an α-orientation for a given α can be modelled as a flow-problem.Regarding the computational complexity the following is known: Torsten Ueckerdt [16] has shown that for arbitrary α computing an α-orientation of a planar graph can be reduced to a planar directed single source shortest path problem which can be solved in near linear time O(n log 2 (n)/ log log(n).Éric Fusy [10] studied algorithms for computing α-orientations for specific functions α.He shows that an α s -orientation of G + G * can be computed in linear time.
We now come to the description of a network for which an integral feasible flow encodes a Schnyder wood and thus, also a Schnyder labeling.Our emphasis is not on fast computations, the aim is to have a flow-problem that can be combined in a 2-commodity problem with a flow-problem that encodes an FAA.
Each vertex in G + G * that represents an edge of G has degree 4 in G + G * .Moreover, in the primal-dual graph, considering both the primal and dual Schnyder wood, each edge-vertex has three incoming arcs and one outgoing arc.In other words, the edge is bidirected in the primal Schnyder wood and unidirected in the dual Schnyder wood or the other way around.This follows immediately from the relation with Schnyder labelings.A Schnyder labeling of G is mapped to a Schnyder labeling of the dual of G by "moving" the label from the angle at the vertex to the angle at the face.From the labeling around an edge-vertex in the primal-dual graph, it follows that in one of the Schnyder woods the edge is bidirected and in the other it is unidirected.We exploit this property.
Every edge-vertex in the primal-dual graph has outdegree 1 in the orientation that represents the primal and dual Schnyder wood.For each vertex and each face of G in G + G * , all but three of its incident edges are oriented inwards.In other words, a vertex-vertex or face-vertex v in can absorb deg(v) − 3 incoming arcs from its incident edges.This orientation can be encoded as a flow in a network.The half-edges on the boundary of the graph are always oriented towards the outer face.Therefore, only the interior edges are considered.The network contains a source and a sink, a node for every interior edge, a node for every vertex and a node for every interior face of G (see Figure 31).From the source there is an arc to every edge-node.From an edge-node there is an arc to the nodes representing its endpoints and the nodes representing the faces it bounds.From a face-node and a vertex-node there is an arc to the sink.The arcs to the sink do not have capacity 1, but the capacity is the degree of the vertex or face minus 3. The suspensions are special as they have one outgoing half-edge into the unbounded face.Therefore, the capacity of the arc that goes from a suspension to the sink, is the degree of the suspension minus 2.
The demand of the network is equal to the number of edges of G.The boundary edges of G are always bidirected in the primal graph, hence, their orientation is known beforehand.A 3-orientation can be obtained from an integral feasible flow: the unit of flow through the edge represents its outgoing arc.All other edges of G + G * are oriented towards to the edge-vertex.As the flow is integral, this implies that each edge-vertex in G + G * has outdegree precisely 1.It is immediate that every Schnyder wood yields an integral feasible flow in the network as well.
Encoding an FAA.An FAA is an assignment of vertices to faces.This can also be seen as a labeling of the angles of G.An angle is either flat or it is convex.If an angle is flat, this is an assignment of the vertex to the face.If the angle is convex, it is a corner for the face.Hence, we want a labeling such that each face gets precisely three corners and each vertex gets at most one flat angle.
The network has a source and a sink, a node for each inner angle, a node for each non-suspension vertex, and a node for each inner face (see Figure 32).There is an arc from the source to each angle.From an angle there is an arc to the incident vertex and to the incident face.From each vertex there is an arc to the sink, with capacity 1, representing the assignment.From each face f there is an arc to the sink with capacity 3, representing the three corners.A unit of flow using a vertex encodes an assignment and a unit of flow using a face encodes a corner.The demand of the network is the number of inner angles of G, as each angle has to be either a corner or a flat angle.An integral feasible flow selects a label for each angle in such a way that the conditions of an FAA (C v and C f ) are satisfied.Therefore, there is a one-to-one correspondence between flat angle assignments and integral feasible flows in this network.
The Combined Network.In this section we explain how to build a combined network for which a feasible integral flow encodes a corner compatible pair.Unfortunately, this will be a 2-commodity network.The flow representing the Schnyder wood and the flow representing the corners will be of type 1 (source 1 to sink 1).The flow representing the assignment will be of type 2. The combined network for a graph G is denoted by N G .An example of a graph and the network belonging to this graph is given in the Appendix, Figure 36.An integral feasible flow in this network is depicted in Figure 37.We abuse notation and denote a path(s) which can be followed by the flow and which then represents part of the Schnyder wood (or a corner, or part of the flat angle assignment) by Schnyder wood flow (corner flow and assignment flow, respectively).
Recall that in the network that encodes a Schnyder wood, every interior face f gets |f |−3 units of flow from the edges.However, there are |f | outgoing edges.Therefore, there is "space" to add the 3 units of corner flow to the Schnyder wood network.Moreover, the unused edges will be the outgoing arcs of f in the dual Schnyder wood.The Schnyder labeling belonging to this Schnyder wood, labels all angles between two (consecutive) outgoing edges of a face with the same label.To encode the corner compatibility, we need to ensure that between every two outgoing edges of a face there is a corner selected.
We encode corner compatibility with a cyclic structure around a face-node.We use Figure 33 to introduce this structure.Recall that the network is directed, i.e., all arcs can only be used in one direction.For a Schnyder wood flow through a vertex nothing has changed, i.e., such a path will look as in Figure 31.
A Schnyder wood flow through a face f tuvw is depicted in red in Figure 33.On such a path there is one extra node compared to the network in Figure 31.This extra node is denoted by "small square".This node ensures that the arc into the face can be used by Schnyder wood flow as well as corner flow, but not The corner flow comes into the subnetwork via an angle (see the blue path in Figure 33).Angles are drawn as triangles in the figures.An angle consists of three arcs.The first arc ensures that the angle is either assigned or a corner, but not both.The second arc has no special task.The third arc ensures that no two corners with the same label are selected.
The corner flow uses all three arcs in the triangle through which it enters the subnetwork of the face.Then it proceeds to the first small square, or it proceeds to the third arc of the next angle.It has to go into the face via a small square.The fact that the network is saturated is used to prove that an integral flow encodes a corner compatible pair.Informally, every small square has to be used.Every third arc of an angle, can only be used by one unit of integral flow.So a small square can only be "skipped" by corner flow if it is used by the Schnyder wood flow, which in turn means that the clockwise next angle has the same label.This implies that there is a a corner selected between every two "available" small squares, as otherwise the network would not be saturated.
The assignment flow uses the first arc of an angle (see the green path in Figure 33, detailed view in Figure 34).From this arc it goes into a dummy vertex.This is denoted by dummy vertex as it is not the vertex-node that is used by Schnyder wood flow.From the dummy vertex there is an arc to the sink.The dummy vertices ensure that at most one angle of a vertex is assigned.The network that represents an FAA is splitted.To ensure that the corner flow and the assignment flow together form an FAA, we introduce some extra nodes.A face-bag is added for each inner face.From source 1 there is an arc of capacity 3 into each face-bag.From the face-bag there is an arc to each of the angles of the face.
The assignments are encoded by type 2 flow.To ensure that the correct number of assignments is made, there is a dummy source added before source 2. The arc from the dummy source to source 2 has capacity equal to the number of assignments needed.Note that, in the network that encodes only an FAA, this is not necessary, as the demand of network and the sum of the capacities of the arcs to the sinks are equal.
The Demands.Let E int be the set of interior edges and F int the set of interior faces of the graph.To represent a Schnyder wood there should be a Schnyder wood flow of value |E int |.To make sure every face has three corners there should be a corner flow of value 3|F int |.The number of flat angles needed is f ∈Fint (|f | − 3).A union of a type 1 (from source 1 to sink 1) and a type 2 (from source 2 to sink 2) flow φ = (φ 1 , φ 2 ) in this network is called feasible if Remark.If the sources and sinks were unified, we would obtain a one-commodity network.However, in such a case, the assignment flow and corner flow could switch places.That is, from a face-bag, a unit of flow can go to the sink via a vertex (it behaves as corner flow and then as assignment flow).Or from the unified source it goes via the assignment source to an angle and then via the face to the sink (it behaves as assignment flow and then as corner flow).This implies that a solution might not be corner compatible.
Another option is to not control the flow before going into an angle (i.e., from the source it goes immediately to an angle) and define it as an assignment if it leaves through a vertex and as a corner if it leaves through a face.In this case, the Schnyder wood flow and the corner flow cannot be controlled.An integral feasible flow could have a face with too much Schnyder wood flow and too little corners and another one with the opposite.In other words the property C f of the FAA and the property of the flow given by the Schnyder wood might be violated.
Theorem 4 Let G be an internally 3-connected, suspended graph.Then G has an SLTR if and only if there is an integral feasible flow ψ = (ψ 1 , ψ 2 ) in N G .
Proof: Let G be an internally 3-connected suspended graph and suppose φ = (φ 1 , φ 2 ) is an integral feasible flow in N G .First we will show that from the feasible flow we can extract a Schnyder wood σ and an FAA ψ for G and then that this is a corner compatible pair.From φ 1 we have to extract the Schnyder wood flow and the corner flow.
The total amount of flow from source 1 to sink 1 is bounded from above by the sum of the capacities of vertex-to-sink and face-to-sink arcs.Recall that the arc from a suspension vertex s i to the sink, has capacity deg(s i ) − 2. The total amount of flow between source 1 and sink 1 adds up to the value of φ 1 , since, φ is a feasible flow.From the following calculation it follows that every feasible flow saturates all the arcs to sink 1.
The capacities of the arcs leaving source 1, also add up to the value of φ 1 .Recall that the arcs leaving source 1 are the arcs to the edges, |E int |, and the arcs to the face-bags, 3|F int |.It follows that through each face-bag 3 units of flow are routed and the only way to reach the sink is through this face.Therefore, each face f has at most deg(f ) − 3 of Schnyder wood flow routed through it.
As the arcs from the vertices to sink 1 are saturated, there must be deg(v)−3 units of type 1 flow through a non-suspension v and there must be deg(s i ) − 2 units of type 1 flow through s i .The rest of the flow that is routed through the edges must go via a face, and since every face hast at most deg(f ) − 3 units of flow of this type routed through, it must be precisely this amount.
To extract a Schnyder wood from φ 1 , the Schnyder wood flow must be of value |E int |, i.e., the number of interior edges.Moreover, it must be such that: • precisely v∈V deg(v) − 3 edges are appointed to a vertex, • precisely f ∈Fint deg(f ) − 3 edges are appointed to a face, and, • one more edge is appointed to each suspension.The calculations above show that this is exactly the case, hence, we can extract the Schnyder labeling σ.
The number of interior angles is equal to the amount of corner flow plus the amount of assignment flow.Therefore, the first arc of each angle (i.e., the first arc drawn inside the triangles) must be saturated as well.
Integrality of the flow now implies that each angle in the graph is either a corner or an assigned angle.The corner flow ensures that each face has precisely three corners.The flow of type 2 ensures that each vertex has at most one assigned angle.This gives us an FAA ψ.
Left to show is that σ and ψ are corner compatible.Consider the subnetwork at a face f .Its three corners cannot use the small squares that are used by the flow that represents the Schnyder wood.There are precisely three small squares which are not used by the flow that represents the Schnyder wood, we call these three small squares available.We trace the units of flow backwards from the face to the available small squares.When it leaves a small square (backwards) it goes to the first angle (triangle) counterclockwise.It can move to the next counterclockwise angle but we claim that this only occurs when the small square between them is not available.In other words, between every two available small squares there is an angle through which a unit of flow comes into the subnetwork.
Claim 1 Let Q 1 , Q 2 and Q 3 be the available small squares in the subnetwork of f in clockwise order.The unit of flow that leaves the subnetwork via small square Q i , enters the subnetwork at an angle between Q i−1 and Q i (clockwise).
Suppose not, without loss of generality, let there be a unit of flow leaving via Q 3 which does not enter between Q 2 and Q 3 .Suppose the flow leaving via Q 3 enters the network at angle α which is between Q 1 and Q 2 .Consider the clockwise last angle before Q 2 .The third arc in this angle is used by the flow which goes through Q 3 , hence, there is no possibility to enter Q 2 .This contradicts the fact that the network is saturated (as no flow is routed through Q 2 , see Figure 35).The same argument applies when the angle α is between Q 3 and Q 1 .This proves Claim 1.
Claim 2 All angles between two consecutive available small squares are labeled with the same label in σ.
This follows immediately from the definition of the Schnyder labeling in the dual graph.Between the outgoing edges of label i and i + 1 of a face, all angles are labeled i − 1.The available small squares are located on the place of the outgoing edges of the face in the Schnyder wood.
Claim 1 and Claim 2 together prove that σ and ψ are corner compatible.
On the other hand, suppose G admits an SLTR.By Theorem 2 there is a Schnyder labeling which satisfies the rule of the corners for the FAA that belongs to this SLTR (note that this is not necessarily unique).Consider a complying Schnyder labeling and the FAA.
Set up the network N G .Start with the empty flow and add the following units of flow: • For each interior edge with labels i + 1, i, i, i − 1 in clockwise order at its ends: add a unit of flow from source 1, to this edge, to the neighbor in N G which is between the two labels i in G, and then to sink 1. • For each interior face f , for each corner α of f : add a unit of flow that goes from source 1, into the face-bag of f , then to the angle α, to the first clockwise available small square, into f and then to sink 1. • For each flat angle β: add a unit of flow that goes from the dummy source to source 2, to angle β to the appropriate dummy vertex, to sink 2. It is easy to check that the flows add up to the appropriate values and that no capacity constraint is violated.This concludes the proof.

Conclusion
We have given a new characterization of graphs that admit straight-line triangle representation in terms of flat angle assignments and Schnyder labelings.For graphs that have a unique Schnyder labeling (these graphs are identified by Felsner and Zickfeld [8]), the problem of deciding whether the graph has an SLTR can be translated into a matching problem in a bipartite graph.For graphs with very few Schnyder labelings the problem also becomes polynomially tractable.However there are planar 3-connected graphs on n vertices, which have 3.209 n Schnyder labelings [8].

Figure 1 : 2 :
Figure 1: A graph and one of its SLTRs Figure 2: The cube graph.

Figure 4 :
Figure 4: A Schnyder labeling and a Schnyder wood that are in bijection.

Figure 5 :
Figure 5: A Schnyder wood and a drawing obtained by face-counting.In the middle an example of a triangle as in Property 1.

Figure 7 :
Figure 7: A triangle surrounding a face and the sweeplines.

3 2 1 Figure 8 :
Figure8: The separation of the labels of the angles around a vertex: the angles that lie completely in the arc with label i, are labeled i.

Figure 11 :
Figure 11: (a) A separating (subdivided) triangle when p has degree 3, there cannot be edges or vertices in the grey area.(b) Contracting and decontracting the edge ps 1 .(c) The paths that induce a degeneracy after contracting ps 1 or qs 1 ; the angle at z with the red arc is strictly smaller than π.

Figure 12 :
Figure 12: Two examples of contracting ps 1 and extending the labeling along the decontraction.

1 z
Figure 14: (a) There are no two vertices (z and z ) with a straight-line path to x and to s 1 .(b) When z is not a neighbor of s 1 , then there must exist a vertex x and z .

1 .
If x and z are neighbors: (a) And if z is assigned to the other face bounded by xz, then the edge xz is contracted.

Figure 19 :
Figure19: The vertex z is mapped to its projection as seen by w.

Figure 20 :
Figure20: Contracting the edge between a suspension s 1 and a neighbor x which is assigned to a face along the edge s 1 x when xz is an edge.

1 Figure 21 :
Figure21: If the path between s 1 and p is a straight-line segment, then there is a separating (subdivided) triangle (a).If the path is concave, then the edge s 1 x is called non-contractable (b).If this holds, then the neighbor of z clockwise before x must see s 1 without being obstructed by a neighbor of z, indicated by the dashed red line (c).This ensures that there is no such visibility between x and the clockwise first neighbor of z after s 1 .

1 Figure 22 :
Figure 22: If z was a convex corner for the grey cycle in G, then this cycle has at least 4 combinatorial convex corners since both paths from z to s 1 are strictly convex with respect to the cycle (a).Deleting the edge s 1 z (b).

Figure 26 :
Figure 26: A labeling of G * obtained from a labeling of G .
(a)) or there are two angles labeled 1 at p i along this edge (Figure 27 (b)).(b)

Figure 27 :
Figure 27: Labeling between p i and p i−1 and the changing of a labeling along a reverse flipping of p i s 2 to p i−1 s 1 .

Figure 29 :
Figure 29: A graph G with a Schnyder labeling σ and the bipartite graph B (G,σ) .

Theorem 3 (Figure 30 :
Figure 30: The primal-dual graph of K 4 , a Schnyder labeling of K 4 and a Schnyder labeling of its dual drawn in K 4 + K * 4 .

Figure 31 :
Figure 31: The paths in the Schnyder wood network through the edge uv.

3 Figure 32 :
Figure32: The paths in the FAA network that go through the angle (u, f ).Angles are depicted as triangles.

3 Figure 33 :
Figure33: The subnetwork of a face f tuvw is depicted.In red a Schnyder wood path, in blue a corner path and in green an assignment path.

Figure 34 :
Figure34: Possible assignment paths for a vertex v.The node that ensures that at most one of the angles of v is assigned is denoted by v * or by "dummy of v".

Figure 35 :
Figure 35: Suppose the red arrows are part of the Schnyder wood flow, the blue arrows of the corner flow.The top small square is skipped by a unit of corner flow and can no longer be saturated.

Figure 36 :Figure 37 :
Figure 36: Example of the inner network belonging to the graph on the bottom right.On the bottom left the descriptions of the arcs that are not drawn.The grey disk below a vertex represents the dummy vertex.