our @vertex;
# $vertex[]{Text}
# $vertex[]{EdgeIds}[]
-# $vertex[]{Edges}[][0..1] = NAME
+# $vertex[]{Edges}[]{Regions}[0..1] = NAME
+# $vertex[]{Edges}[]{VIB}
+# $vertex[]{Edges}[]{EdgeId}
sub read_in () {
my $ccolour;
}
my %edgeid2vi;
# $edgeid2vi{EDGEID} = VI s.t. some $vertex[VI]{EdgeIds}[][J] eq EDGEID
+ my $cci = 0;
foreach my $cc ($g->connected_components) {
- print STDERR "CC:\n";
+ print STDERR "CC $cci:\n"; $cci++;
print STDERR " $_\n" foreach @$cc;
my %uniq;
foreach my $e (@$cc) {
}
push @vertex, $vertex;
}
- foreach my $vertex (@vertex) {
- $vertex->{Edges} = [];
- foreach my $eid (@{ $vertex->{EdgeIds} }) {
+ foreach my $via (0..$#vertex) {
+ my $vertexa = $vertex[$via];
+ $vertexa->{Edges} = [];
+ foreach my $eid (@{ $vertexa->{EdgeIds} }) {
$eid =~ m/ # (\d+)$/ or confess;
my ($ra, $adjia) = ($`, $1);
- my ($rb, $adjib) = edge_id_to_other_id($ra, $adjia);
- my $vi = $edgeid2vi{"$rb # $adjib"};
- my $vertex2 = $vertex[$vi];
- confess "$rb # $adjib $vi" unless defined $vi and defined $vertex2;
- my ($r0,$r1) = sort region_cmp ($ra,$rb);
- push @{ $vertex->{Edges} }, [ $r0, $r1 ];
+ my $adjsa = $region{$ra}{Adj};
+ my $adjib = ($adjia + 1) % @$adjsa;
+ my $vib = $edgeid2vi{"$ra # $adjib"};
+ print STDERR "VIA=$via | $ra # $adjia | # $adjib VIB=$vib\n";
+ my $vertexb = $vertex[$vib];
+ confess "# $adjib $vib" unless defined $vib and defined $vertexb;
+ next unless $via <= $vib;
+ my $einfo = {
+ VIB => $vib,
+ EdgeId => $eid,
+ };
+ push @{ $vertexa->{Edges} }, $einfo;
}
}
}
fontsize=8;
];
END
- 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";
- next;
- }
- o "\"$r0\" -- \"$r1n\" [fontsize=8; label=\"".
- (join '/', @{ $e->{T} }).
+ foreach my $via (0..$#vertex) {
+ my $vertexa = $vertex[$via];
+ foreach my $ei (@{ $vertexa->{Edges} }) {
+ my $vib = $ei->{VIB};
+ #if ($r1 eq 'NZ' || $r1 eq 'L') {
+ # $r1n = "_$r1 $r0";
+ # next;
+ #}
+ o "\"$via\" -- \"$vib\" [fontsize=8; label=\"".
+ $ei->{EdgeId}.
"\"];\n";
}
}