#!/usr/local/bin/perl

# 
# b.pl: GNUPLOT Table 形式からポリゴンデータへの変換
# 
#     [1999/07/29] OSHIRO Naoki.
# 
#     $Log:$
#

# tbl -> dat

$version="";
while (<>) {
    if (/^Surface/) {$version="3.5"; last};
    if (/^#Surface/) {$version="3.7"; last};
}
if ($version eq "") {
    print STDERR "not GNUPLOT Table data\n";
    exit;
}
    
$x=0;
while (<>) {
    if (/^#?IsoCurve (\d+), (\d+) points/) {
	($y,$xmax)=($1,$2);
	$x=0;
    } elsif (/^#/) {
	next;
    } elsif ($version eq "3.7" && /^(.+) (.+) (.+) i/) {
	$p{$x,$y}="$1 $2 $3";
	$x++;
    } elsif ($version eq "3.5" && /^i x=(.+) y=(.+) z=(.+)/) {
	$p{$x,$y}="$1 $2 $3";
	$x++;
    }
}

$ymax=$y;

for ($y=0; $y<$ymax-1; $y++) {
    for ($x=0; $x<$xmax-1; $x++) {
	print "$p{$x,$y}\n";
	print "$p{$x+1,$y}\n";
	print "$p{$x+1,$y+1}\n";
	print "$p{$x,$y+1}\n";
    print "\n";
    }
}
