--- ray/src/common/otypes.h 2003/03/11 19:29:04 2.10 +++ ray/src/common/otypes.h 2003/11/21 07:15:29 2.14 @@ -1,15 +1,28 @@ -/* RCSid $Id: otypes.h,v 2.10 2003/03/11 19:29:04 greg Exp $ */ +/* RCSid $Id: otypes.h,v 2.14 2003/11/21 07:15:29 greg Exp $ */ /* * otypes.h - defines for object types. */ +#ifndef _RAD_OTYPES_H_ +#define _RAD_OTYPES_H_ +#ifdef __cplusplus +extern "C" { +#endif -#include "copyright.h" - typedef struct { char *funame; /* function name */ int flags; /* type flags */ +#ifdef FUN_ARGLIST + int (*funp)(FUN_ARGLIST); /* pointer to function */ +#else int (*funp)(); /* pointer to function */ +#endif } FUN; + +#ifdef FUN_ARGLIST +extern int o_default(FUN_ARGLIST); +#else +extern int o_default(); +#endif /* object types in decreasing frequency */ #define OBJ_FACE 0 /* polygon */ #define OBJ_CONE 1 /* cone */ @@ -97,8 +110,6 @@ extern FUN ofun[]; /* our type list */ #define hastext(t) (ofun[t].flags & T_E) #define isflat(t) ((t)==OBJ_FACE || (t)==OBJ_RING) -extern int o_default(); - #define ALIASKEY "alias" /* alias keyword */ #define ALIASMOD "inherit" /* inherit target modifier */ @@ -154,3 +165,9 @@ extern int o_default(); { "prism1", T_M|T_F|T_LV, o_default }, \ { "prism2", T_M|T_F|T_LV, o_default }, \ } + + +#ifdef __cplusplus +} +#endif +#endif /* _RAD_OTYPES_H_ */