#----- geometry mangling -----
+sub adj_ends ($) {
+ my ($adj) = @_;
+ map { $_->{Pos} } @{ $adj->{Ends} };
+}
+
sub calculate_centres () {
# Sets
# $region{NAME}{Centre}
my $sum = Math::GSL::Vector->new(2);
my $wsum = 0;
foreach my $adj (@{ $rr->{Adj} }) {
- my @ends = map { $_->{Pos} } @{ $adj->{Ends} };
+ my @ends = adj_ends($adj);
my $w = ($ends[1] - $ends[0])->norm();
$sum += $w * $_ foreach @ends;
$wsum += $w;
sub afsluitdijk() {
my ($adj) = grep { $_->{Name} eq 'NZ' } @{ $region{'ZZ'}{Adj} };
my $dash = 20;
- my (@pos) = map { $_->{Pos} } @{ $adj->{Ends} };
+ my (@pos) = adj_ends($adj);
my $mid = 0.5 * ($pos[0] + $pos[1]);
my $r = 0.5 * ($pos[1] - $pos[0])->norm();
o(sprintf <<'END', facepscolour('sea'), psvec($mid), $r);