Revision: | 2.6 |
Committed: | Fri Jun 27 06:53:21 2003 UTC (21 years, 4 months ago) by greg |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad3R7P2, rad3R7P1, rad4R2, rad4R1, rad4R0, rad3R6, rad3R6P1, rad3R8, rad3R9, rad4R2P1, rad5R3, HEAD |
Changes since 2.5: | +1 -3 lines |
Log Message: | Broke standard.h into rtio.h, rterror.h, rtmath.h, and rtmisc.h |
# | Content |
---|---|
1 | /* RCSid $Id: face.h,v 2.5 2003/06/26 00:58:09 schorsch Exp $ */ |
2 | /* |
3 | * face.h - header for routines using polygonal faces. |
4 | */ |
5 | #ifndef _RAD_FACE_H_ |
6 | #define _RAD_FACE_H_ |
7 | #ifdef __cplusplus |
8 | extern "C" { |
9 | #endif |
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 | RREAL offset; /* plane equation: DOT(norm, v) == offset */ |
16 | RREAL area; /* area of face */ |
17 | RREAL *va; /* vertex array (o->oargs.farg) */ |
18 | short nv; /* # of vertices */ |
19 | short ax; /* axis closest to normal */ |
20 | } FACE; |
21 | |
22 | |
23 | extern FACE *getface(OBJREC *o); |
24 | extern void freeface(OBJREC *o); |
25 | extern int inface(FVECT p, FACE *f); |
26 | |
27 | |
28 | #ifdef __cplusplus |
29 | } |
30 | #endif |
31 | #endif /* _RAD_FACE_H_ */ |
32 |