| 1 | 
greg | 
1.1 | 
/* Copyright (c) 1986 Regents of the University of California */ | 
| 2 | 
  | 
  | 
 | 
| 3 | 
  | 
  | 
/* SCCSid "$SunId$ LBL" */ | 
| 4 | 
  | 
  | 
 | 
| 5 | 
  | 
  | 
/* | 
| 6 | 
  | 
  | 
 *  face.h - header for routines using polygonal faces. | 
| 7 | 
  | 
  | 
 * | 
| 8 | 
  | 
  | 
 *     8/30/85 | 
| 9 | 
  | 
  | 
 */ | 
| 10 | 
  | 
  | 
 | 
| 11 | 
  | 
  | 
#define  VERTEX(f,n)    ((f)->va + 3*(n)) | 
| 12 | 
  | 
  | 
 | 
| 13 | 
  | 
  | 
typedef struct {        /* a polygonal face */ | 
| 14 | 
  | 
  | 
        FVECT  norm;            /* the plane's unit normal */ | 
| 15 | 
greg | 
1.2 | 
        double  offset;         /* plane equation:  DOT(norm, v) == offset */ | 
| 16 | 
greg | 
1.1 | 
        double  area;           /* area of face */ | 
| 17 | 
  | 
  | 
        double  *va;            /* vertex array (o->oargs.farg) */ | 
| 18 | 
  | 
  | 
        short  nv;              /* # of vertices */ | 
| 19 | 
  | 
  | 
        short  ax;              /* axis closest to normal */ | 
| 20 | 
  | 
  | 
} FACE; | 
| 21 | 
  | 
  | 
 | 
| 22 | 
  | 
  | 
extern FACE  *getface(); |