/* draw_postscript.c  for run6.c */
#include "run6.h"
/**********************************************************************
 * draw_postscript: Creates a PostScript printable file for Vector mode
 **********************************************************************/
void draw_postscript(scene_td scene,
                     long *poly_size,
                     xyzw_td **face_ptr,
                     long num_polys)
{
  /* loop counters and temporary variables */
  int   debug=0;
  int   j, n, v1;
  float x,y,z,w;
  float x_old, y_old, x_new, y_new;
  float scale = 300.0;                /* different from fill scale */
  float thick = 0.5;

  for (j=0; j<num_polys; j++)
  {
    if (face_ptr[j]==NULL) continue;  /* a backface */
    for (n=0; n<=poly_size[j]; n++)
    {
      v1 = (n!=poly_size[j]) ? n : 0;
      x = face_ptr[j][v1].x;
      y = face_ptr[j][v1].y;
      z = face_ptr[j][v1].z;
      w = face_ptr[j][v1].w;
      if (debug>1) printf("draw_postscript %d,%d x=%g, y=%g z=%g w=%g \n",
                           j, v1, x, y, z, w);
      if (n == 0)
      {
        x_old = scale*(x+1.0);
        y_old = scale*(y+1.0);
      }
      else
      {
        x_new = scale*(x+1.0);
        y_new = scale*(y+1.0);
        draw_post2(x_old, y_old, x_new, y_new, thick); 
        x_old = x_new;
        y_old = y_new;
      }
    }
  }
} /* end draw_postscript */



