Document

I.
II.
III.
Different situations when performing Block-Computation-Algorithm. ................ 2
1. path_node is the only one node on RBC ........................................................ 2
2. path_node is the first full node on RBC......................................................... 2
3. one of path_node’s neighbor is a full node .................................................... 2
4. both neighbors of path_node are full nodes ................................................... 2
(i.e. path_node is a gap between two contiguous full-nodes) ................................ 2
Different situations when performing Computation of RBC. ................................ 3
1. path_node is partial node on RBC with opp_bend is also partial. ................. 3
2. path_node is full node on RBC with opp_bend is partial. ............................. 3
3. path_node is partial node on RBC with opp_bend is full. ............................. 4
4. path_node is full node on RBC with opp_bend is also full. .......................... 4
Different situations when drawing out non-planar K33/K5 subgraphs. .............. 5
1. The returned-value of pt_test in code is -1, -2 or -3. ..................................... 5
2. The returned-value of pt_test in code is -4. ................................................... 5
3.
4.
The returned-value of pt_test in code is -5. ................................................... 6
The returned value of pt_test in code is -6. .................................................... 7
I.
Different situations when performing Block-Computation-Algorithm.
(path_node refers to currently processed node when traversing to a RBC)
1. path_node is the only one node on RBC
F
path_node
2.
Entire RBC path_node belongs to is embedded into new RBC
path_node is the first full node on RBC
na_full_end
nbr
F
path_node
F
path_node
3.
nbr
one of path_node’s neighbor is a full node
F
F
na_full_end
F
F
path_node
4.
F
F
path_node
both neighbors of path_node are full nodes
(i.e. path_node is a gap between two contiguous full-nodes)
F
F
na_full_end
nbr
nbr
F
F
F
F
na_full_end
F

na_full_end
nbr
F
path_node
F
na_full_end
F
path_node
When case 3 & case 4, check if the two ending node of contiguous full
nodes are the end nodes of RBC. If yes, the whole RBC is embedded into
new RBC.
II.
Different situations when performing Computation of RBC.
(path_node refers to currently processed node when traversing to a RBC)
1. path_node is partial node on RBC with opp_bend is also partial.
F
P
opp_bend
RBC_head
na_full_end
nbr
P
link_nbr
P
path_node(link_node)
P last_partial
Cut RBC from path_node to RBC_head and then traverse up from
RBC_head.
(last_partialpath_nodelink_nbr(nbr of lath_node) …opp_bend)
2.
path_node is full node on RBC with opp_bend is partial.
F
P
opp_bend
RBC_head
na_full_end
P
nbr
link_nbr
P
F
path_node
link_node
P last_partial
Cut RBC from nbr of path_node to RBC_head and then traverse up from
RBC_head.
(last_partiallink_nbr(nbr of lath_node) …opp_bend)
3.
path_node is partial node on RBC with opp_bend is full.
F
RBC_head
opp_bend
na_full_end
F
P
na_full_end
P
nbr
link_nbr
P
P
link_node
path_node(link_node)
P last_partial
Cut RBC from path_node to na_full_end[opp_bend] and then traverse up
from RBC_head.
(last_partialpath_nodelink_nbr(nbr of lath_node)
…na_full_end[opp_bend])
4.
path_node is full node on RBC with opp_bend is also full.
opp_bend
na_full_end
F
F
P
RBC_head
na_full_end
P
nbr
link_nbr
P
F
path_node
link_node
P last_partial
Cut RBC from nbr of path_node to na_full_end[opp_bend] and then
traverse up from RBC_head.
(last_partiallink_nbr(nbr of lath_node) …na_full_end[opp_bend])
III. Different situations when drawing out non-planar K33/K5 sub-graph.
1.
The returned-value of pt_test in code is -1, -2 or -3.
(Case 1.1 & 1.2 in 「PLANAR implementation- Handbook」)
An RBCi (RBC with head node i) is encountered when traversing back
edges during j iteration. After traversing all back edges, we found the two ends of
RBCi are not marked as full. Thus violate the property (e) of 「PLANAR
implementation- Handbook」).
m
K3,3
k
U
i
k
S
j
T
j
i
S
T
partial/empty
nodes
U
full nodes
2.
The returned-value of pt_test in code is -4.
A.
When connection RBC at i iteration, two terminal nodes (S and T)
have been identified when traversing a back edge (i-S back edge).
After traversing another back edge (i-T backedge), we found another
node T should also identified as terminal node. Thus violate the
property (c) of 「PLANAR implementation- Handbook」).
K3,3
k
P
i
k
S
U
T
w
i
U
terminal nodes
P
S
T
B.
When connection RBC at i iteration, an RBCp (RBC with head node p)
is traversed and part of it (S to T alone with its boundary) has been
merged into new RBC with two new ends, S and U. After traversing
another back edge (i-T backedge), we found another node T in
previous RBCp should also identified as terminal node. Thus violate
the property (c) of 「PLANAR implementation- Handbook」).
m
K3,3
k
i
P
i
k
S
U
T
U
P
S
T
terminal nodes
3.
The returned-value of pt_test in code is -5.
(Case 2.1 in 「PLANAR implementation- Handbook」)
When connection RBC at j iteration, an RBCi (RBC with head node i) is
traversed and part of it (S to T alone with its boundary) have been merged into
new RBC with two new end nodes, S and i. After traversing another back edge
(j-T backedge), we found another node T in previous RBCp should also identified
as terminal node. Thus violate the property (c) of 「PLANAR implementationHandbook」).
m
k
j
i
S
T
terminal nodes
4.
The returned value of pt_test in code is -6.
When connection RBC at j iteration, an RBCi (RBC with head node i) is
traversed and part of it (S to i alone with its boundary) has been merged into
new RBC with two new ends, S and i. After traversing another back edge
(j-T backedge), we found another node T in previous RBCi should also
identified as terminal node. Thus violate the property (c) of 「PLANAR
implementation- Handbook」).
n
K3,3
m
k
m
j
T
S
i
k
j
i
S
T
terminal nodes
n
K3,3
m
k
m
j
k
j
S
i
S
i
k
T
T
terminal nodes
n
K3,3
m
k
m
j
S
i
k
T
j
i
S
T
terminal nodes