o= >$@.tmp && mv -f $@.tmp $@
-map.dot: parse-input-graph input-graph
+map.plag: parse-input-graph input-graph
./$^ $o
-map.ps: map.dot
- neato -Tps $^ $o
+#map.ps: map.dot
+# neato -Tps $^ $o
use Carp;
use Data::Dumper;
use Graph;
+use List::MoreUtils qw(any);
our %region;
# $region{NAME}{Colour}
my $va = "$ra # $adjia";
# $va is the vertex at the anticlockwise end
# of edge no.$adjia of region $ra
- next if ($rb eq 'L' or $rb eq 'NZ') and
- ($ra eq 'L' or $ra eq 'NZ');
+ my $ra_outside = ($ra eq 'L' or $ra eq 'NZ');
+ my $rb_outside = ($rb eq 'L' or $rb eq 'NZ');
+ next if $ra_outside and $rb_outside;
# $rb is the region on the other side of that edge
my $vb = "$rb # $adjibc";
# $vb is the vertex at the *clockwise* end
my $vertex = {
EdgeIds => $cc,
Text => (join "\n", @$cc),
+ Outside => (any { m{^(?:L|NZ) \# \d+$} } @$cc),
};
foreach my $e (@$cc) {
$edgeid2vi{$e} = scalar @vertex;
foreach my $via (0..$#vertex) {
my $vertexa = $vertex[$via];
o("$via\n");
+ o(" :outside\n") if $vertexa->{Outside};
foreach my $ei (@{ $vertexa->{Edges} }) {
my $vib = $ei->{VIB};
o(" $vib\n");