X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=blobdiff_plain;f=library.pl;h=d95f61932a55aa69f12e9b93786e3e7a806aaeb8;hp=cb7a59b42f0689cd1984c28676c27be11a4923cf;hb=cb6eb4221e7a5ac6963a1e9c32d0aa25061be353;hpb=8dd86f878d8fd02ebcda87454065e3bb18d13432 diff --git a/library.pl b/library.pl index cb7a59b..d95f619 100644 --- a/library.pl +++ b/library.pl @@ -3,21 +3,34 @@ sub run ($) { $!=0; system($_[0]); die "$! $?" if $! or $?; } +sub initdata_process_prime() { + my ($i,$fmt); + open P, "$prime" or die $!; + $!=0; $_=

; m/^(\d+) (\d+) .*/ or die "$_ ? $!"; + ($dim,$nvertices)= ($1,$2); + $!=0; $_=

; m/^(\%.*)\n/ or die "$_ ? $!"; + $fmt= $1; + for ($i=0; $i<$nvertices; $i++) { + $!=0; defined($_=

) or die "$prime $!"; + m/^\s*(\S+)\s*(\S+)\s*(.*)/ or die "$_ ?"; + initdata_prime_point_callback($1,$2,$3,$fmt); + } +} + sub make_initdata () { open I, "$initdata" or die "$initdata $!"; open B, ">$output.new" or die "$output.new $!"; - $_= ; - m/^(\d+) .*/ or die "$_ ?"; - - $dim= $1; - - for ($i=0; $i<$dim; $i++) { - for (;;) { - $!=0; defined($_= ) or die "$initdata $!"; - last if m/\S/; + for ($i=0; $i<$nvertices; $i++) { + for ($k=0; $k<3; $k++) { + for (;;) { + $!=0; defined($_= ) or die "$initdata $!"; + last if m/\S/; + } + $vertex[$k]= $_; } - print B pack "d", $_ or die $!; + initdata_return_vertex_transform(); + print B pack "d3", @vertex or die $!; } close B or die $!;