# $region{NAME}{Adj}[]{Dikes}
# $region{NAME}{Adj}[]{L}
-our %edges;
-# $edges{EARLIER}{LATER}{Dikes}
-# $edges{EARLIER}{LATER}{L}[]
+our %adj;
+# $adj{EARLIER}{LATER}{Dikes}
+# $adj{EARLIER}{LATER}{L}[]
sub read_in () {
my $ccolour;
}
}
-sub edges () {
+sub adjacencies () {
foreach my $ra (sort keys %region) {
foreach my $adja (@{ $region{$ra}{Adj} }) {
my $rb = $adja->{Name};
($a eq 'NZ') <=> ($b eq 'NZ') or
$a cmp $b
} ($ra,$rb);
- push @{ $edges{$r0}{$r1}{L} }, $adja->{L};
- my $e = $edges{$r0}{$r1};
+ push @{ $adj{$r0}{$r1}{L} }, $adja->{L};
+ my $e = $adj{$r0}{$r1};
$e->{Dikes} //= $adja->{Dikes};
confess "$r0 - $r1 | @{ $e->{L} } | $e->{Dikes} $adja->{Dikes} ?"
unless $e->{Dikes} == $adja->{Dikes};
}
}
my $ndikes = 0;
- foreach my $r0 (sort keys %edges) {
- foreach my $r1 (sort keys %{ $edges{$r0} }) {
- my $e = $edges{$r0}{$r1};
+ foreach my $r0 (sort keys %adj) {
+ foreach my $r1 (sort keys %{ $adj{$r0} }) {
+ my $e = $adj{$r0}{$r1};
confess "$r0 / $r1 : @{ $e->{L} } ?" unless @{ $e->{L} } == 2;
$ndikes += $e->{Dikes};
}
print STDERR "total $ndikes dikes\n";
}
+sub dual () {
+ # We want to turn the graph from a graph on the regions, to
+ # one where the nodes are the vertices of region boundaries.
+ #
+ # Each adjacency in
+}
+
sub o { print @_ or die $!; }
sub output_dot () {
fixedsize=true;
];
END
- foreach my $r0 (sort keys %edges) {
- foreach my $r1 (sort keys %{ $edges{$r0} }) {
- my $e = $edges{$r0}{$r1};
+ foreach my $r0 (sort keys %adj) {
+ foreach my $r1 (sort keys %{ $adj{$r0} }) {
+ my $e = $adj{$r0}{$r1};
my $r1n = $r1;
if ($r1 eq 'NZ' || $r1 eq 'L') {
$r1n = "_$r1 $r0";
read_in();
resolve_arefs();
-edges();
+adjacencies();
+dual();
output_dot();
# Local variables: