home *** CD-ROM | disk | FTP | other *** search
/ Between Heaven & Hell 2 / BetweenHeavenHell.cdr / 500 / 470 / rccl005 < prev    next >
Text File  |  1987-03-02  |  2KB  |  85 lines

  1. #include "../h/rccl.h"
  2.  
  3.  
  4. main()
  5. {
  6.     static TRSF t0 = {"T0", NULL,1.,0.,0.,0.,1.,0.,0.,0.,1.,0.,0.,0.};
  7.     static TRSF t1 = {"T1", NULL,1.,0.,0.,0.,1.,0.,0.,0.,1.,1.,1.,1.};
  8.     static TRSF t2 = {"T2", NULL,1.,0.,0.,0.,1.,0.,0.,0.,1.,2.,2.,2.};
  9.     static TRSF t3 = {"T3", NULL,1.,0.,0.,0.,1.,0.,0.,0.,1.,3.,3.,3.};
  10.     static TRSF t4 = {"T4", NULL,1.,0.,0.,0.,1.,0.,0.,0.,1.,4.,4.,4.};
  11.     char *gensym();
  12.     int fd = makedb("big");
  13.  
  14.     savetr(&t2, fd);
  15.     savetr(&t1, fd);
  16.     savetr(&t0, fd);
  17.     savetr(&t0, fd);
  18.     savetr(&t1, fd);
  19.     dumpdb(fd, NO);
  20.     t0.p.x = t0.p.y = t0.p.z = -1.;
  21.     gettr(&t0, fd);
  22.     printf("%f %f %f\n", t0.p.x, t0.p.y, t0.p.z);
  23.     gettr(&t3, fd);
  24.     savetr(&t3, fd);
  25.     gettr(&t3, fd);
  26.     printf("%f %f %f\n", t3.p.x, t3.p.y, t3.p.z);
  27.     dumpdb(fd, YES);
  28.     remtr((&t2)->name, fd);
  29.     dumpdb(fd, YES);
  30.     remtr((&t2)->name, fd);
  31.     savetr(&t2, fd);
  32.     dumpdb(fd, NO);
  33.     remtr((&t0)->name, fd);
  34.     remtr((&t1)->name, fd);
  35.     remtr((&t2)->name, fd);
  36.     remtr((&t3)->name, fd);
  37.     dumpdb(fd, YES);
  38.     savetr(&t3, fd);
  39.     savetr(&t2, fd);
  40.     savetr(&t1, fd);
  41.     savetr(&t0, fd);
  42.     savetr(&t3, fd);
  43.     dumpdb(fd, YES);
  44.     remtr((&t3)->name, fd);
  45.     remtr((&t2)->name, fd);
  46.     remtr((&t1)->name, fd);
  47.     remtr((&t0)->name, fd);
  48.     dumpdb(fd, YES);
  49.  
  50.     for (; ; ) {
  51.         t0.name = gensym();
  52.         t0.p.x += 1.;
  53.         printf("%s\n", t0.name);
  54.         if (savetr(&t0, fd) < 0) {
  55.             break;
  56.         }
  57.     }
  58. }
  59.  
  60. char *gensym()   /*::*/
  61. {
  62.     char *strsave(), *sprintf(), *strcpy(), *strcat();
  63.     static int n = 0;
  64.     static char root[] = "_TEMP", str[10], name[15];
  65.  
  66.     n++;
  67.  (void) sprintf(str, "%d", n);
  68.     return(strsave(strcat(strcpy(name,root), str)));
  69. }
  70.  
  71.  
  72.  
  73. #undef malloc
  74. char *strsave(s) /*::*/
  75. char *s;
  76. {
  77.     char *p, *malloc(), *strcpy();
  78.  
  79.     if ((p = malloc((unsigned)strlen(s) + 1)) == NULL) {
  80.         exit(99);
  81.     }
  82.  (void) strcpy(p, s);
  83.     return(p);
  84. }
  85.