#include <types.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "//Include/database.h"

main(int argc, char *argv[])

{
   ULONG i,j,k,xticks,yticks,numvert,numpoly,tempb,tempc,tempd,tempe;
   FLOAT x,y,tempa;
   FILE *fp;
   
   if(argc != 2) {
      printf("\nUSAGE plane <output file name>\nRun and enter x-num squares and y-num squares and hit return.\n Will generate unit plane.\n\n");
      return(0);
   }
   if((fp=fopen(argv[1],"w"))!=NULL) {
      scanf("%u %u",&xticks,&yticks);
      numvert = (xticks+1)*(yticks+1);
      numpoly = xticks*yticks;
      printf("\nWriting file \"%s\" ...",argv[1]);
      fwrite((void *)&numvert,sizeof(ULONG),1,fp);
      fwrite((void *)&numpoly,sizeof(ULONG),1,fp);
      y =  1.0;
      for(i=0;i<(yticks+1);i++) {
	 x = -1.0;
	 for(j=0;j<(xticks+1);j++) {
	    fwrite((void *)&x,sizeof(FLOAT),1,fp);
	    fwrite((void *)&y,sizeof(FLOAT),1,fp);
	    tempa = 0.0;
	    fwrite((void *)&tempa,sizeof(FLOAT),1,fp);
	    tempa = 1.0;
	    fwrite((void *)&tempa,sizeof(FLOAT),1,fp);
	    x += 2.0/(FLOAT)xticks;
	 }
	 y -= 2.0/(FLOAT)yticks;
      }
      for(i=0;i<yticks;i++) {
	 for(j=0;j<xticks;j++) {
	    tempb = i*(xticks+1)+j;
	    tempc = tempb+1;
	    tempd = tempb+xticks+1;
	    tempe = tempd+1;
	    fwrite((void *)&tempb,sizeof(ULONG),1,fp);
	    fwrite((void *)&tempc,sizeof(ULONG),1,fp);
	    fwrite((void *)&tempe,sizeof(ULONG),1,fp);
	    fwrite((void *)&tempd,sizeof(ULONG),1,fp);
            tempb = NOVERT;
	    for(k=4;k<MAXPOLYVERT;k++)
	       fwrite((void *)&tempb,sizeof(ULONG),1,fp);      
	 }
      }      
      fclose(fp);
      printf(" Done\n\n");
   }
   else 
      printf("\nCould not open output file !\n\n");      
}
