chiark / gitweb /
pass $rr and $why from for_each_pos
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 28 Feb 2019 20:23:36 +0000 (20:23 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 28 Feb 2019 20:23:36 +0000 (20:23 +0000)
generate-board

index c467b4403c2ce1301c2cd11e4afbde5662451d28..7047e642c530ea8d87ae21b1a5dda2b87de88635 100755 (executable)
@@ -146,14 +146,14 @@ sub calculate_centres () {
 sub for_each_pos ($) {
   my ($f) = @_;
   my $call = sub {
-    my ($pr) = @_;
+    my ($pr,$rr,$why) = @_;
     return unless defined $$pr;
-    $f->($pr);
+    $f->($pr,$rr,$why);
   };
   foreach my $rr (values %region) {
-    $call->( \ $rr->{Centre} );
+    $call->( \ $rr->{Centre}, $rr, $rr->{Name}." C" );
     foreach my $vertex (@{ $rr->{Polygon} }) {
-      $call->( \ $vertex->{Pos} );
+      $call->( \ $vertex->{Pos}, $rr, $rr->{Name}." | ".$vertex->{Adjoins} );
     }
   }
 }
@@ -185,7 +185,7 @@ sub transform_coordinates () {
   # xxx rotation is not happening
   print STDERR "lims ",prvec($lims[0])," .. ",prvec($lims[1]),"\n";
   for_each_pos(sub {
-    my ($pr) = @_;
+    my ($pr, $rr, $why) = @_;
     my $y = Math::GSL::Vector->new(2);
     gsl_blas_dgemv($CblasNoTrans,
                   1.0, $transform->raw,
@@ -221,7 +221,7 @@ sub write_face_edges() {
   o("5 setlinewidth\n");
   foreach my $rr (values %region) {
     next if $rr->{Special};
-    o("% $rr->{Name}\n");
+    o("% $rr->{Name} ",prvec($rr->{Centre}),"\n");
     # xxx setmiter?
     o("  newpath\n");
     my $xto = 'moveto';