4 ($prime,$zinput,$options,$output) = @ARGV;
5 $output =~ s/^\-o// or die "$output ?";
6 die if $prime =~ m/^\-/;
7 die if $zinput =~ m/^\-/;
9 die unless $options =~ m/^\-([gTa])$/;
12 $gnuplot= "$output.gnuplot.tmp";
13 $initdata= "$output.initdata.tmp";
15 open G, ">$gnuplot" or die $!;
17 open Z, "$zinput" or die "$zinput $!";
19 sub pg ($$) { printf G "%s(u,v) = %s\n", @_ or die $!; }
21 $!=0; defined($_= <Z>) or die "$zinput $!";
26 } elsif ($ztype eq 'T') {
27 next unless m/^splot\s+([^,]+),([^,]+),([^,]+)\s*$/;
28 pg('x',$1); pg('y',$2); pg('z',$3);
33 printf G "set print \"-\"\n" or die $!;
35 sub initdata_prime_point_callback ($$$$) {
36 my ($u,$v,$comment,$floatformat) = @_; # SGT's coordinates
37 for ($k=0; $k<3; $k++) {
38 printf(G "print %s( $floatformat, $floatformat ) ;%s\n",
39 qw(x y z)[$k], $u, $v, $comment)
44 sub initdata_return_vertex_transform () {
48 initdata_process_prime();
52 run("gnuplot $gnuplot >$initdata");