my %chrpolys;
# $chrs{$chr}[$poly] = $poly
# $poly->{E} = [ "012345012345", ... ]
+ # $poly->{Holes} = $poly2
while (<DATA>) {
next unless m/\S/;
chomp;
my $demo = '';
my $democols = 6;
foreach my $chr (sort keys %chrpolys) {
+
my $polys = $chrpolys{$chr};
+ $_->{Holes} = [] foreach @$polys;
+
my $mod = chrmodname $chr;
p "module $mod () {\n";
foreach my $poly (@$polys) {
p " polygon(";
+ my $holes = $poly->{Holes};
my (@points, @vecs);
p_edgelist(\@points, \@vecs, $poly->{E});
+ foreach my $hole (@$holes) {
+ p_edgelist(\@points, \@vecs, $hole->{E});
+ }
p "points=[".(join ",",@points)."],";
+ if (@$holes) {
+ p ",paths=[".(join ",",
+ map { "[".(join ",",@$_)."]" }
+ @vecs)."],";
+ }
p "convexity=4);\n";
}
p "}\n";