1 Introduction
An orthogonal drawing of an undirected graph in is a drawing of in the plane, where each vertex of is mapped to a distinct point and each edge of is mapped to an orthogonal polyline. is called planar if no two edges in cross, however, two edges can meet at their common endpoints. Otherwise, the drawing is a nonplanar orthogonal drawing. An orthogonal drawing is strict if every edge in the drawing is represented by a single vertical and horizontal line segment. Orthogonal drawings have been extensively studied over the last two decades [1, 2, 4, 11, 17] because of its applications in many practical fields such as VLSI, floorplanning, circuit schematics, and entity relationship diagrams.
Throughout the paper we refer to a planar graph with a fixed combinatorial embedding as a plane graph. While drawing a plane graph, one must preserve the input embedding. But for planar graphs, any planar embedding can be chosen to draw the graph. In 1987, Tamassia [17] gave a polynomialtime algorithm to decide whether a plane graph admits a strict orthogonal drawing preserving the input embedding. Later, Garg and Tamassia [9] proved that deciding strict orthogonal drawability is NPhard for planar graphs. However, polynomialtime algorithms have been developed for some wellknown subclasses of planar graphs. For example, Di Battista et al. [2] showed that the problem is polynomialtime solvable for seriesparallel graphs and maximumdegreethree planar graphs. Nomura et al. [16] showed that a maximumdegreethree outerplanar graph admits a planar strict orthogonal drawing if and only if it contains no cycle of three vertices.
Many variants of strict orthogonal drawings impose constraints on how the edges of the input graph have to be drawn. One of these variants describes the input graph as an restricted graph that associates each vertexedge incidence of with an orientation (i.e., left (L), right (R), up (U), or down (D)), and asks to find an orthogonal drawing of that respects the prescribed orientations. Another variant considers restricted graphs, where the orientation of an edge is either horizontal (H), or vertical (V). By a good orthogonal drawing we denote a planar strict orthogonal drawing that preserves the input edge orientations. In this paper, we only examine strict orthogonal drawings of restricted plane and planar graphs, and hence from now on we omit the term “strict”.
restricted plane graphs.
In 1985, Vijayan and Wigderson [18] gave an algorithm that can decide in linear time whether an restricted plane graph admits a good orthogonal drawing, but takes time to construct such a drawing when it exists. Later, Hoffmann and Kriegel [10] gave a lineartime construction.
The task of characterizing restricted plane graphs is more involved. The difficulty arises from the exponential number of choices for drawing restricted paths, where the drawing of an restricted path is unique, as illustrated in Figures 1(a)–(c). Recently, Maňuch et al. [13] examined several results on the nonplanar orthogonal drawings of  and restricted graphs. They proved that nonplanar orthogonal drawability maintaining edge orientations can be decided in polynomialtime for restricted graphs, but is NPhard for restricted graphs. An interesting open question in this context, as posed by Maňuch et al. [13], is to determine the complexity of deciding good orthogonal drawability of restricted plane graphs. In this paper, we settle this question by giving a polynomialtime algorithm to recognize restricted plane graphs. Here we assume that a planar embedding of the input graph is given, and our algorithm decides whether there exists a solution that respects the input embedding.
restricted planar graphs.
A problem analogous to drawing restricted graphs in has been well studied in , but polynomialtime algorithms are known only for cycles [5] and theta graphs [6]. The exponential number of possible orthogonal embeddings in makes the problem very difficult. Similarly, we find the problem of characterizing restricted planar graphs that admit good orthogonal drawings in nontrivial even for outerplanar graphs, where the difficulty arises from the exponential number of choices for plane embeddings of the input graph.
To further illustrate the challenge, here we prove that the restricted outerplanar graph of Figure 1(d) does not admit a good orthogonal drawing. Suppose for a contradiction that is a good orthogonal drawing of , and consider the drawing of the face in . Since the edges and are horizontally oriented and is vertically oriented, either lies above , or lies above in . If lies above as in Figure 1(e), then the drawing of cycle would create an edge crossing (irrespective of whether it lies inside or outside of ). Similarly, if lies above as in Figure 1(f), then the drawing of cycle would create an edge crossing. Drawing both of these cycles without crossing would imply a unique drawing of , as shown in Figure 1(g). However, in this case we cannot draw the cycle without edge crossings.
Contributions.
We first show that the problem of whether an restricted plane graph with vertices admits a good orthogonal drawing preserving the input embedding can be decided in time, where corresponds to the time to find a maximum flow in a multiplesource multiplesink directed planar graph. If such a drawing exists, then it can be computed within the same running time. The best known running time for finding a maximum flow in a multiplesource multiplesink directed planar graph is [15].
We then give a lineartime characterization for biconnected outerplanar graphs that admit good orthogonal drawings. Our proof is constructive: given an restricted outerplanar graph , we can decide in linear time whether admits a good orthogonal drawing, and in time, we can compute such a drawing if it exists. Note that the construction can choose any feasible embedding (i.e., the embedding is not fixed), and the output is not necessarily outerplanar. A preliminary version of this paper appeared in proceedings of the 11th Latin American Symposium on Theoretical Informatics (LATIN 2014) [8]. In the conference version, we only claimed to have a characterization for maximumdegreethree biconnected outerplanar graphs.
Soon after the conference version of our paper, Didimo et al. [7] showed that the problem of whether an restricted planar graph admits a good orthogonal drawing is NPcomplete in general, but polynomialtime solvable for seriesparallel graphs (thus also for outerplanar graphs). Their algorithm is based on a dynamic programming and runs in time (and, in time, if the graph is of maximumdegree three). They asked whether a combinatorial characterization can be found, perhaps in terms of forbidden substructures. Our characterization for outerplanar graphs can be seen as a first step towards such a combinatorial characterization.
Organization.
In Section 2, we show our algorithm for recognizing restricted plane graphs. In Section 3, we give the necessary and sufficient conditions for a biconnected outerplanar graph to admit a good orthogonal drawing, and describe the drawing algorithm. We prove the necessity and sufficiency of those conditions in Section 4, and conclude the paper in Section 5.
2 Drawing Restricted Plane Graphs
In this section we give a polynomialtime algorithm that checks whether a given restricted plane graph admits a good orthogonal drawing preserving the input embedding. If the answer is affirmative, the algorithm certifies its answer by constructing a good orthogonal drawing.
We will first identify some necessary conditions and later show that they are also sufficient for the existence of the good drawing. The first condition is that every vertex has at most two incident edges with label and at most two with label , and if the degree is four, the labels alternate. This condition is easily checked and from now on we assume it to be satisfied by the input.
Assume that a good drawing exists and consider a face in the drawing. The face is represented by a polygon, hence, if has corners, then the sum of all interior angles of must be (the outer face makes an exception, here the angles sum to ). Since is an orthogonal polygon, the angle contributed by each corner is a multiple of . From the given edge orientations we can infer the angle of some corners precisely: if a corner has two incident edges with the same label, then it contributes an angle of , and if a corner corresponds to a vertex of degree one, it contributes . The interesting corners are those where the incident edges have different labels, these corners contribute either or . Dual to the angle condition for faces we also have the obvious condition for vertices: around each vertex the sum of angles is .
Associate a variable with each corner of the plane graph. The above conditions can all be written as linear equations in these variables. This yields a linear system and the unified necessary condition that the system has a solution where each component is in . Such a solution is called a global admissible angle assignment. Similar quests for global angle assignments have been studied in rectangular drawing problems, where Miura et al. [14] reduced the problem to perfect matching, and in the context of orthogonal drawing with bends, where Tamassia [17] modeled an angle assignment problem with minimumcost maximumflow.
Instead of directly using the linear system stated above, we use the fact that the value of some variables is prescribed by the input. The value for the remaining variables and hence a global admissible angle assignment can be determined using a maximumflow problem.
To construct the flow network start with the angle graph of the plane graph . The vertex set is , i.e., the vertices of are the vertices and faces of or stated in just another way: the vertices of are the vertices of together with the vertices of the dual . The edges of correspond to the corners of : if and are incident at a corner then there is an edge in .
Next step is to remove an edge from when the value of the variable is prescribed by the input, i.e., in the following situations:

If the two edges of a corner have the same orientation and the edges are distinct, then the corner is assigned a angle, i.e., .

If the vertex corresponding to a corner is of degree one, then the corner is assigned a angle, i.e., .

If the two edges of a corner have different orientations and the vertex is of degree three or more, then the corner is assigned a angle, i.e., .
Let be the graph after removing all these edges. Since is a plane graph the same is true for . Figures 2(a)–(b) show an example of a graph together with the network .
Since we want to use a fast maximumflow algorithm, we describe the flowproblem using a planar flow network with multiple sources and sinks. It only remains to decide for some vertices of degree two in which of its corners is of size and which is of size . We model a corner with a flow of one unit entering the corresponding vertex.
An original vertex is incident to an edge in if and only if is a vertex of degree two in . With these vertices we assign a demand of . The capacities of all the edges are also restricted to . Finally, we have to set the excess of all . We know the total angle sum of and the angles that have been assigned in the reduction step from to . Since all the remaining angles are of size or , we can compute how many of size are needed, this number is the excess of . (Note that if the computation yields a that is not an integer, then does not admit a good orthogonal realization). Similarly, we can also compute the number of angles that we need. For example, for the face in Figure 2(b), we consider and , which solves to . Since all edges connect a source to a sink , we may think of them as directed edges . Figure 2(c) illustrates a maximum flow for the flownetwork of Figure 2(b).
We claim that a flow satisfying all the constraints (demand/excess/capacity) exists if and only if admits a good orthogonal drawing preserving the input embedding. If a flow
exists, then we get a solution vector for the linear system by defining
for all . Together with the variables defined by conditions (a) – (c) we obtain a global admissible angle assignment which by definition satisfies:
The sum of angles around each vertex in is .

For every edge in , the angle assignment at the corners of and is consistent with respect to the two faces that are incident to .

The total assigned angle of every face is the angle sum required for polygons with that many corners. All angles are multiples of , i.e., the induced representation is orthogonal.
These conditions on an angle assignment are sufficient to construct a plane orthogonal representation that respects the input embedding [17]. In fact the orthogonal drawing can be computed in linear time. Figure 2(d) shows an orthogonal representation corresponding to the flow of Figure 2(c).
For the converse, if admits a good orthogonal drawing respecting the input embedding, then the angles at the degree two vertices readily imply a flow in the network satisfying the constraints. We thus obtain the following theorem.
Theorem 2.1.
Given an restricted plane graph with vertices, one can check in time whether admits a good orthogonal drawing preserving the input embedding, and construct such a drawing if it exists. Here, is the time to find maximum flows in multiplesource multiplesink directed planar graphs.
Since the maximum flow problem for a multiplesource and multiplesink directed planar graph can be solved in time [3], one can check whether a given restricted plane graph that admits a good orthogonal drawing preserving the input embedding in time. Note that we precisely know the excess and demand of each node in the flow network, and hence we are actually finding a feasible flow. There are faster algorithms in such cases; e.g., Klein et al. [12] gave an algorithm to find a feasible integral flow in time. Later, Mozes and WulffNilsen [15] improved the running time to .
3 Drawing Biconnected Outerplanar Graphs
In this section we give a polynomialtime algorithm to determine whether an arbitrary biconnected restricted outerplanar graph admits a good orthogonal drawing, and construct such a drawing if it exists. A graph is outerplanar if it admits a planar drawing with all its vertices on the outer face. Note that the good orthogonal drawing we produce is not necessarily an outerplanar embedding.
We first show that given an restricted planar graph , one can construct a corresponding graph with maximum degree three such that admits a good orthogonal drawing if and only if admits such a drawing.
Theorem 3.1.
Let be an restricted planar graph. For each vertex incident to two edges and two edges, replace with the vertex gadget, as illustrated in Figures 3(a)(b). The resulting graph admits a good orthogonal drawing if and only if admits a good orthogonal drawing.
Proof.
First consider that admits a good orthogonal drawing. Then for each vertex incident to two edges and two edges, we must have its edges drawn on a vertical line, e.g., see Figure 3(a). Therefore, it is straightforward to replace with a good drawing of the vertex gadget, as illustrated in Figure 3(c). Hence, must also have a good orthogonal drawing.
Consider now that has a good orthogonal drawing . We now show how to replace every vertex gadget with its corresponding vertex, which eventually yields a good orthogonal drawing of . Let be a drawing of a vertex gadget in . Observe that the gadget has two cycles (one attached to and the other to ) that force and to be drawn on opposite side of the path . We project the horizontal edges incident to and onto the drawing of the path , e.g., see Figure 3(d). Let and be the corresponding points. If and coincide, then we take that point as the location for vertex . Otherwise, without loss of generality, assume that has a higher coordinate than . Let and be the horizontal lines through and , respectively. Let be a horizontal line passing through a point below such that intersects segment and does not contain any vertex in . We scale down the drawing inside the region bounded by , and vertically such that the region bounded by and becomes empty. We now move the vertices and segments that lie on and to the left of , on the line . Finally, we extend the corresponding vertical segments. Since and now coincide, we can place the vertex at that location. ∎
Note that by Theorem 3.1, we can restrict our attention to the maximum degree three graphs. We first introduce some notation, and then describe the characterization for maximum degree three graphs (Theorem 3.2).
By a segment of , we denote a maximal path in such that all the edges on that path have the same orientation. Let be a biconnected restricted embedded outerplanar graph with , where is the maximum degree of . Let be an edge of . Then by we denote the orientation of in . Let be an inner face of . Note that is an embedded graph. Thus any edge of is an inner edge if it does not lie on the boundary of the outer face of , and all the remaining edges of are the outer edges. An inner edge of on the boundary of is called critical if the two edges preceding and following on the boundary of have the same orientation that is different from . An edge is critical (resp., critical) if it is a critical edge and (resp., ). For an inner face in , let and be the number of distinct edges of with vertical and horizontal orientations, respectively. By and we denote the number of critical and critical edges of .
Let be a rectangle, and let and be two points in the proper interior of and , respectively, as shown in Figures 4(a) and (b). Construct a rectangle , where and lie outside of the rectangle . Then the region consisting of the rectangles and is called a flag. A flag includes all the edges on its boundary except the edge . The rectangles and are called the banner and post, respectively. The edges and are called the borders of the flag.
3.1 Necessary and Sufficient Conditions
Throughout this section, denotes an arbitrary biconnected restricted embedded outerplanar graph with ; see Figure 4(c) for an example. We now prove the following theorem, which is the main result of this section.
Theorem 3.2.
Let be a biconnected restricted embedded outerplanar graph with maximum degree three. Then, admits a good planar orthogonal drawing if and only if the following three conditions hold.

For every inner face , the sequence of orientations of the edges in clockwise order contains as a subsequence.

For every inner face , if , then is even. Similarly, if , then is even.

Every vertex of has at most two edges of the same orientation.
It is straightforward to see that steps – can be tested in linear time.
3.1.1 Necessity
We first show that Conditions ()–() are necessary for to admit a good planar orthogonal drawing. We use the following two lemmas.
Lemma 3.1.
Let be a good orthogonal drawing of , and let be an inner edge of some face . Figure 4(d) illustrates an example. Since is an inner edge, there is another face that does not contain any edge of except . Let and be the two halfplanes determined by the straight line through . If is a critical edge in , then either both and lie in , or both lie in .
Proof.
Without loss of generality assume that . Since is a critical edge, and . If and lie in and , respectively, then one of and must lie interior to and the other must lie exterior to . Therefore, the path must create an edge crossing with , which contradicts that is a good orthogonal drawing. ∎
Let and denote the  and coordinates of a vertex . We now use Lemma 3.1 to prove the following.
Lemma 3.2.
Let be a good orthogonal drawing of . Let be an inner face in , and let and be two edges on (without loss of generality assume that is above ), where , and . Let be a path on the boundary of in counterclockwise order, e.g., see the path in Figure 4(e). If all the vertically oriented edges of are critical, then the number of such critical edges on
must be odd. This property holds symmetrically for the path
.Proof.
Consider a traversal of the edges of starting at . Let be a critical edge on , and let and be the edges preceding and following , respectively. By Lemma 3.1, and must lie on the same side of in . Therefore, if we traverse from left to right, then we have to traverse from right to left, and vice versa. In other words, every critical edge reverses the direction of traversal. Since we traverse and from opposite directions and all the vertically oriented edges of are critical, we need an odd number of critical edges on to complete the traversal. ∎
We are now ready to prove the necessity part of Theorem 3.2. () holds for every orthogonal polygon, and thus for the faces of an orthogonal drawing. If () does not hold, then without loss of generality assume that for some , and is odd. Let be a drawing of such that and are topmost and bottommost horizontal edges in . Then we can find two disjoint paths and by traversing counterclockwise and clockwise from to , respectively, as shown in Figure 4(e). Since is odd, either or must contain an even number of critical edges, which contradicts Lemma 3.2. If () does not hold at some vertex , then the drawing of its incident edges would contain edge overlapping.
3.1.2 Sufficiency
To prove the sufficiency we assume that satisfies –, and then construct a good orthogonal drawing of . The idea is to first draw an arbitrary inner face of , and then the other faces of by a depth first search on the faces of starting at .
Let be the vertices of in clockwise order. Let be a maximal path on such that all the edges on path (resp., ) have vertical (resp., horizontal) orientation. The maximality of ensures that and . An example of such a path in the face of Figure 5(a) is . Observe that and .
Lemma 3.3.
Given an inner face of that satisfies conditions –, and a drawing of two consecutive segments and of . One can find a good orthogonal drawing of that satisfies the following properties.

Lemma 3.1 holds for every critical edge in , i.e., the two edges preceding and following lie in the same side of .

is contained in a flag with borders and .

If is a critical edge, then the post of (if exists) is incident to . Similarly, if is a critical edge, then the post of (if exists) is incident to . (Note that since , both and cannot be critical).
We are now ready to describe the drawing of ; hence, completing the proof of Theorem 3.2. We first construct the drawing for some inner face of . We then draw the other inner faces of by a depth first search on the faces of , such that after adding a new inner face, the resulting drawing remains

a good orthogonal drawing, and

each critical edge respects Lemma 3.1.
Let be a drawing of the set of inner faces that we have already constructed. Let be an inner face of that has not been drawn yet, but has an edge in common with some face , where . Without loss of generality assume that in . Furthermore, since is outerplanar, cannot have any edge other than in common with . Let be a segment of that contains , and let be another segment of incident to . We now construct considering the following cases.
 Case 1: none of and is an end vertex of .

In this case none of the end vertices of the path formed by and belongs to . Since satisfies Condition (), the edges of that are incident to and must be horizontal, i.e., must be a critical edge of . Since is a good orthogonal drawing, there is enough space to create a flag with borders and such that the banner and post of do not create any edge crossing. Figure 5(c) illustrates such an example. By Lemma 3.3, we can draw inside maintaining Properties and . Thus the resulting drawing satisfies ()–().
 Case 2: exactly one of and is an end vertex of .

If (resp., ) is an end vertex of , then we choose such that it contains (resp., ). Therefore, none of the two end vertices of the path formed by and belongs to . Figure 5(d) illustrates such an example. Similar to Case 1, we now draw satisfying –.
 Case 3: both and are end vertices of .

Observe that in this case . Let be a path of . Since is a maximal set of edges with vertical orientation, we have . Thus is a critical edge of . We now create a flag with borders and such that the post of the flag is incident to . Note that since is critical, by Lemma 3.3, we do not require a flag with its post incident to . We now can draw inside maintaining and . Figure 5(e) illustrates such an example. It may initially appear from the figure that drawing of inside may overlap the boundary of , i.e., consider the Figure 5(e) with . However, by definition of a flag, does not contain the part of its boundary that overlaps , and hence drawing would not create any edge overlapping.
4 Proof of Lemma 3.3
In this section, we prove Lemma 3.3. We first show the following auxiliary lemma, which proves the first condition of Lemma 3.3.
Lemma 4.1.
If satisfies Conditions –, then we can find a good orthogonal drawing of such that Lemma 3.1 holds for every critical edge of .
Proof.
Our proof is constructive. In the following we first construct a drawing of , and then prove that is the required good orthogonal drawing.
4.1 Construction of
Since satisfies , must contain at least three vertices (recall the definition of from Section 3.1.2). We first draw the path maintaining edge orientations, as shown in Figure 6(a). Let the drawing be . We next draw . We draw starting at vertex of , and then complete the drawing of such that the position of coincides with its position in . The details of the construction is presented in Steps 1–3 given below.
Step 1: satisfying critical edges.
Recall that and . We now draw starting at in with monotonically increasing coordinate and maintaining the edge orientations. Furthermore, we ensure that for each vertical segment , the two horizontal segments incident to lie on the same side of , e.g., see Figure 6(b). Hence, Lemma 3.1 holds for every critical edge in . It is straightforward to draw without crossing any edge of . However, as shown in Figure 6(b), the position of in the drawing of may not coincide with its position in . Let the resulting drawing of be . Observe that respects the following property.

Lemma 3.1 holds for every critical edge in , i.e., the edges preceding and following lie on the same side of .
Step 2: satisfying critical edges.
For every segment in , let be the drawing of the subpath that starts at segment and ends at . Let be the segments of in clockwise order, where and , , denote the vertical and horizontal segments, respectively. For example, see Figure 6(c), where is shown in bold. We now modify in three phases.
Phase 1: fabricating.
For each from to , where is odd, we flip with respect to . For example, see Figures 6(d)(h). It is straightforward to compute such a flip avoiding edge crossings by adjusting the edge lengths as necessary. Consequently, if is an critical edge, then Lemma 3.1 holds for ; i.e., the edges preceding and following lie on the same side of . Observe that such vertical flips do not destroy Property (A).
We now consider , where is even. For each from to , where is even, if is an critical edge, then we first flip with respect to , and then flip with respect to . Consequently, if is an critical edge, then Lemma 3.1 holds for . Figure 7(a) illustrates an example.
Since we flip horizontally, it may initially appear that we are destroying Property (A) when is a critical edge. However, observe that we flip only if it is an critical edge. Since the maximum degree of is three, cannot be a critical edge. Therefore, Property (A) still holds.
While modifying , it is straightforward to ensure that the downward infinite ray starting at do not cross any segment except possibly . Furthermore, the infinite ray starting at towards right would intersect only . Let the resulting drawing of be . By the construction of , we can observe the following properties.

The downward infinite ray in starting at do not cross any segment, except possibly . The infinite ray starting at towards right intersects only .

Lemma 3.1 holds for every critical edge in , except possibly .
Phase 2: vertical adjustment.
Let be the angle interior to formed by segments and . If and (e.g., Figure 7(b)), then we find a noncritical vertical edge in . If there exists such an edge , then let be the segment that contains , and we flip with respect to such that holds, e.g., see Figures 7(b)–(c). We can adjust the length of the segments such that the property still holds. If does not exist, then we do not modify , i.e., still holds.
If and (e.g., Figure 7(d)), then we find a noncritical vertical edge and a noncritical horizontal edge in . If does not exist, then all horizontal edges are critical, and hence cannot be critical. Here we flip with respect to , as shown in Figures 7(d)–(e). Otherwise, if both and exist, then let and be the segments that contain and , respectively. We first flip with respect to such that holds. We then flip with respect to such that Property (B) holds. For example, see Figures 7(f)–(h). If does not exist, then we do not modify , i.e., still holds.
Note that if holds even after the above analysis, then all the vertical edges of are critical; i.e., now satisfies the following additional property.

If holds in , then all of its vertical edges are critical.
Phase 3: horizontal adjustment.
Consider the segment , and let and be its end vertices, where is closer to than in . If , e.g., Figures 8(a) and (c), then we find a noncritical horizontal edge in . If there exists such an edge , then let be the segment that contains , and we flip with respect to such that holds. We can adjust the length of the segments such that the property still holds. Figures 8(b) and (d) illustrate such modifications. Otherwise, does not exist, and holds. now satisfies the following additional property.

If holds in , then all of its horizontal edges, except possibly , are critical. If there exists a noncritical horizontal edge in , then .
Step 3: completing the cycle.
We now modify such that the position of in and the position of in coincide. We first check whether or not.
If , then we scale up the drawing of vertically and then extend the edge such that the position of in and coincide, as shown in Figures 8(e)–(f). By Property (B), we can perform these modifications avoiding edge crossings. The resulting drawing is , which still satisfies Property (C). Note that lies inside a flag with border and , where the post of the flag is degenerate.
Otherwise, . Then by Property (D), all the vertical edges of are critical. Since is of maximum degree three, all the horizontal edges are noncritical. By Property (E), . This scenario is illustrated in Figure 8(g). Let be a horizontal noncritical edge. We then flip the drawing with respect to , and then adjust the drawing such that the positions of in and coincide. An example is shown in Figures 8(g)–(i). The resulting drawing is , which still satisfies Property (C) and the condition that . Note that lies inside a flag with border and , where the post of the flag is incident to .
4.2 satisfies Lemma 4.1
We now show that is a good orthogonal drawing and Lemma 3.1 holds for each of its critical edges. By construction, is planar. To see that respects edge orientations, observe that the drawing obtained from Step respects edge orientations. Later, Steps – only modify the drawing by flipping some segments vertically and horizontally, which does not destroy the edge orientations. We now prove that Lemma 3.1 holds for every critical edge.
 Case 1: critical edge on .

Since satisfies Property (C), Lemma 3.1 holds for every critical edge on .
 Case 2: critical edge on .

In this case consists of only a single edge, i.e., . If the angle interior to at is equal to , e.g., see Figures 8(e)–(f), then Lemma 3.1 holds for . Otherwise, the angle is greater than , i.e., , as shown in Figure 8(i). According to Property (D), all the vertical edges on must be critical. Hence, . We show that this case cannot appear by proving that must be odd, i.e., violates Condition . Hence Lemma 3.1 must hold.
Let be a topmost and let and bottommost horizontal edge in . We then can find two disjoint paths and by traversing counterclockwise and clockwise from to , respectively. Since , by Lemma 3.2, and each must have odd number of critical edges. Since itself is a critical edge, the total number of critical edges; i.e., must be odd and hence violates Condition .
 Case 3: critical edge on .

By Property (C), Lemma 3.1 holds for every critical edge on , except possibly . Consider now the case when is critical. Let and be the end vertices of , where is closer to in . If : e.g., see Figure 8(e), then Lemma 3.1 holds.
Now consider the case when (i.e., Figures 8(f) and (i)). If , then by Property (D), all the vertical edges would be critical and thus we will not have any critical edge in . Hence we only need to consider the case when (i.e., Figure 8(f)). In the following we show that in such a scenario must violate Condition . Hence Lemma 3.1 must hold.
Since and , by Property (E), all the horizontal segments of , except possibly , are critical. Since is a critical edge, all the horizontal segments on are critical. Using an argument similar to Case 2 (i.e., by choosing a leftmost and a rightmost vertical edge and using Lemma 3.2), we can observe that the number of critical edges excluding is even. Since is critical, must be odd; i.e., violates Condition .
∎
We are now ready to prove Lemma 3.3.
Proof of Lemma 3.3.
Let be a drawing produced by Steps 1–3. Then by Lemma 4.1, is a good orthogonal drawing and Lemma 3.1 holds for every critical edge in . We now show that satisfies the remaining conditions of Lemma 3.3, i.e.,

is contained in a flag with borders and .

If is a critical edge, then the post of (if exists) is incident to . Similarly, if is a critical edge, then post of (if exists) is incident to .
The first property is implied by the construction of as follows. Steps – ensure that the drawing of lies inside the banner of some flag with borders and , whereas Step 3 creates the post of the flag, e.g., see Figure 8(i).
5 Conclusion
In this paper, we gave a polynomialtime algorithm to decide good orthogonal drawability of restricted plane graphs, and moreover, fully characterized restricted biconnected outerplanar graphs that admit good orthogonal drawings. If we relax the biconnectivity constraint, then our characterization no longer holds. For example, the restricted outerplanar graph of Figure 9(b) satisfies Conditions  of Theorem 3.2, but does not admit a good orthogonal drawing.
Observe that is constructed from two copies of the graph of Figure 9(a), where the vertices with label are identified. Since in any good orthogonal drawing of the vertex lies in some inner face, any orthogonal drawing of preserving edge orientations must contain edge crossing. Hence, a natural open question is to extend the characterization for arbitrary outerplanar graphs.
References
 [1] Md. Jawaherul Alam, S. G. Kobourov, and D. Mondal. Orthogonal layout with optimal face complexity. Comput. Geom., 63:40–52, 2017.
 [2] G. Di Battista, G. Liotta, and F. Vargiu. Spirality and optimal orthogonal drawings. SIAM J. Comput., 27:1764–1811, 1998.
 [3] G. Borradaile, P. N. Klein, S. Mozes, Y. Nussbaum, and C. WulffNilsen. Multiplesource multiplesink maximum flow in directed planar graphs in nearlinear time. SIAM J. Comput., 46(4):1280–1303, 2017.
 [4] S. Cornelsen and A. Karrenbauer. Accelerated bend minimization. J. Graph Algorithms Appl., 16(3):635–650, 2012.
 [5] G. Di Battista, E. Kim, G. Liotta, A. Lubiw, and S. Whitesides. The shape of orthogonal cycles in three dimensions. Discrete & Computational Geometry, 47(3):461–491, 2012.
 [6] E. Di Giacomo, G. Liotta, and M. Patrignani. Orthogonal 3D shapes of theta graphs. In Proceedings of the International Symposium on Graph Drawing (GD), volume 2528 of LNCS, pages 142–149. Springer, 2002.
 [7] W. Didimo, G. Liotta, and M. Patrignani. HVplanarity: Algorithms and complexity. J. Comput. Syst. Sci., 99:72–90, 2019.
 [8] S. Durocher, S. Felsner, S. Mehrabi, and D. Mondal. Drawing HVrestricted planar graphs. In proceedings of the 11th Latin American Symposium on Theoretical Informatics (LATIN), volume 8392 of LNCS, pages 156–167. Springer, 2014.
 [9] A. Garg and R. Tamassia. On the computational complexity of upward and rectilinear planarity testing. SIAM J. Comput., 31(2):601–625, 2001.
 [10] F. Hoffmann and K. Kriegel. Embedding rectilinear graphs in linear time. Information Processing Letters, 29(2):75–79, 1988.
 [11] G. Kant. Drawing planar graphs using the canonical ordering. Algorithmica, 16:4–32., 1996.
 [12] P. N. Klein, S. Mozes, and O. Weimann. Shortest paths in directed planar graphs with negative lengths: A linearspace time algorithm. ACM Trans. Algorithms, 6(2):30:1–30:18, 2010.
 [13] J. Maňuch, M. Patterson, S.H. Poon, and C. Thachuk. Complexity of finding nonplanar rectilinear drawings of graphs. In Ulrik Brandes and Sabine Cornelsen, editors, Proceedings of the 18th International Symposium on Graph Drawing (GD), volume 6502 of LNCS, pages 305–316. Springer, 2010.
 [14] K. Miura, H. Haga, and T. Nishizeki. Inner rectangular drawings of plane graphs. Int. J. Comput. Geometry Appl., 16(2–3):249–270, 2006.
 [15] S. Mozes and C. WulffNilsen. Shortest paths in planar graphs with real lengths in time. In Proceedings of the 18th Annual European Symposium on Algorithms (ESA), volume 6347 of LNCS, pages 206–217. Springer, 2010.
 [16] K. Nomura, S. Tayu, and S. Ueno. On the orthogonal drawing of outerplanar graphs. IEICE Trans. Fundamentals, E88A:1583–1588, 2005.
 [17] R. Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444, 1987.
 [18] G. Vijayan and A. Wigderson. Rectilinear graphs and their embeddings. SIAM J. Computing, 14(2):355–372, 1985.