--- ray/src/gen/genrev.c 2003/08/04 22:37:53 2.6 +++ ray/src/gen/genrev.c 2008/10/11 04:39:34 2.10 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: genrev.c,v 2.6 2003/08/04 22:37:53 greg Exp $"; +static const char RCSid[] = "$Id: genrev.c,v 2.10 2008/10/11 04:39:34 greg Exp $"; #endif /* * genrev.c - program to generate functions of rotation about z @@ -15,6 +15,9 @@ static const char RCSid[] = "$Id: genrev.c,v 2.6 2003/ #include #include #include + +#include "rterror.h" +#include "resolu.h" #include "calcomp.h" #define ZNAME "Z`SYS`" /* z function name */ @@ -29,9 +32,8 @@ static const char RCSid[] = "$Id: genrev.c,v 2.6 2003/ #define UP 04 #define DOWN 010 -void quit(), eputs(), wputs(); - +void computen(nzp, nrp, z0, r0, z1, r1) /* compute normal */ double *nzp, *nrp, z0, r0, z1, r1; { @@ -45,43 +47,6 @@ double *nzp, *nrp, z0, r0, z1, r1; } -void -eputs(msg) -char *msg; -{ - fputs(msg, stderr); -} - - -void -wputs(msg) -char *msg; -{ - eputs(msg); -} - - -void -quit(code) -int code; -{ - exit(code); -} - - -printhead(ac, av) /* print command header */ -register int ac; -register char **av; -{ - putchar('#'); - while (ac--) { - putchar(' '); - fputs(*av++, stdout); - } - putchar('\n'); -} - - double l_hermite(char *nm) { @@ -121,6 +86,7 @@ l_bspline(char *nm) } +int main(argc, argv) int argc; char *argv[]; @@ -160,7 +126,8 @@ char *argv[]; goto userror; modname = smooth ? "Phong" : argv[1]; - printhead(argc, argv); + fputs("# ", stdout); + printargs(argc, argv, stdout); eclock = 0; lastnz = lastnr = 0.0; @@ -196,13 +163,13 @@ char *argv[]; printf("0\n4\n"); if (orient&(UP|DOWN)) { t = (nextnz - lastnz)/(z - lastz); - printf("\t%15.9g\t%15.9g\n", + printf("\t%18.12g\t%18.12g\n", t, lastnz - t*lastz); } else printf("\t0\t%d\n", orient&IN ? 1 : -1); if (orient&(OUT|IN)) { t = (nextnr - lastnr)/(r - lastr); - printf("\t%15.9g\t%15.9g\n", + printf("\t%18.12g\t%18.12g\n", t, lastnr - t*lastr); } else printf("\t0\t%d\n", orient&UP ? 1 : -1); @@ -212,23 +179,23 @@ char *argv[]; orient&DOWN ? "tube" : "cylinder", argv[2], i); printf("0\n0\n7\n"); - printf("\t0\t0\t%15.9g\n", lastz); - printf("\t0\t0\t%15.9g\n", z); - printf("\t%15.9g\n", r); + printf("\t0\t0\t%18.12g\n", lastz); + printf("\t0\t0\t%18.12g\n", z); + printf("\t%18.12g\n", r); } else if (!(orient&(UP|DOWN))) { printf("\n%s ring %s.%d\n", modname, argv[2], i); printf("0\n0\n8\n"); - printf("\t0\t0\t%15.9g\n", z); - printf("\t0\t0\t%15.9g\n", orient&IN ? 1.0 : -1.0); - printf("\t%15.9g\t%15.9g\n", lastr, r); + printf("\t0\t0\t%18.12g\n", z); + printf("\t0\t0\t%18.12g\n", orient&IN ? 1.0 : -1.0); + printf("\t%18.12g\t%18.12g\n", lastr, r); } else { printf("\n%s %s %s.%d\n", modname, orient&DOWN ? "cup" : "cone", argv[2], i); printf("0\n0\n8\n"); - printf("\t0\t0\t%15.9g\n", lastz); - printf("\t0\t0\t%15.9g\n", z); - printf("\t%15.9g\t%15.9g\n", lastr, r); + printf("\t0\t0\t%18.12g\n", lastz); + printf("\t0\t0\t%18.12g\n", z); + printf("\t%18.12g\t%18.12g\n", lastr, r); } endfor: lastz = z; lastr = r; @@ -236,13 +203,13 @@ char *argv[]; lastnz = nz; lastnr = nr; nz = nextnz; nr = nextnr; } - quit(0); + return 0; userror: fprintf(stderr, "Usage: %s material name z(t) r(t) nseg [-e expr] [-f file] [-s]\n", argv[0]); - quit(1); + return 1; }