--- ray/src/common/face.h 1991/11/12 16:54:27 2.1 +++ ray/src/common/face.h 2003/06/27 06:53:21 2.6 @@ -1,22 +1,32 @@ -/* Copyright (c) 1986 Regents of the University of California */ - -/* SCCSid "$SunId$ LBL" */ - +/* RCSid $Id: face.h,v 2.6 2003/06/27 06:53:21 greg Exp $ */ /* * face.h - header for routines using polygonal faces. - * - * 8/30/85 */ +#ifndef _RAD_FACE_H_ +#define _RAD_FACE_H_ +#ifdef __cplusplus +extern "C" { +#endif #define VERTEX(f,n) ((f)->va + 3*(n)) typedef struct { /* a polygonal face */ FVECT norm; /* the plane's unit normal */ - FLOAT offset; /* plane equation: DOT(norm, v) == offset */ - FLOAT area; /* area of face */ - FLOAT *va; /* vertex array (o->oargs.farg) */ + RREAL offset; /* plane equation: DOT(norm, v) == offset */ + RREAL area; /* area of face */ + RREAL *va; /* vertex array (o->oargs.farg) */ short nv; /* # of vertices */ short ax; /* axis closest to normal */ } FACE; -extern FACE *getface(); + +extern FACE *getface(OBJREC *o); +extern void freeface(OBJREC *o); +extern int inface(FVECT p, FACE *f); + + +#ifdef __cplusplus +} +#endif +#endif /* _RAD_FACE_H_ */ +