BEGIN { unshift @INC, qw(.); }
+require 'misc-data.pl';
+
use Parse;
our $facesf;
# $region{NAME}{Adj}[]{Ends}[]{VxName}
# $region{NAME}{Adj}[]{Ends}[]{Pos}
# $region{NAME}{Polygon}{Pos}
+ # $region{NAME}{Special}
#
# also incidentally
# $region{NAME}{Adj}[]{Ends}[]{Adjoins}
}
}
$process_rr->();
+
+ $region{$_}{Special} = 1 foreach qw(NZ L);
+}
+
+#----- geometry mangling -----
+
+sub calculate_centres () {
+ # Sets
+ # $region{NAME}{Centre}
+ foreach my $rr (values %region) {
+ next if $rr->{Special};
+ my $poly = $rr->{Polygon};
+ my $sum = Math::GSL::Vector->new(2);
+ $sum += $_->{Pos} foreach @$poly;
+ $rr->{Centre} = $sum * (1.0 / @$poly);
+ }
+ # my $cnortn =
}
#----- main program -----
parse_input_graph();
prep_region_rmap();
read_faces();
+calculate_centres();
print Dumper(\%region);