ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/func.h
Revision: 2.4
Committed: Sat Jun 7 00:54:58 2003 UTC (20 years, 10 months ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 2.3: +12 -9 lines
Log Message:
Instrumented headers against multiple inclusion and for use from C++.
Removed NOPROTO sections.

File Contents

# Content
1 /* RCSid $Id: func.h,v 2.3 2003/02/25 02:47:22 greg Exp $ */
2 /*
3 * Header file for modifiers using function files.
4 *
5 * Include after ray.h
6 */
7 #ifndef _RAD_FUNC_H_
8 #define _RAD_FUNC_H_
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13
14 #include "copyright.h"
15
16 #include "calcomp.h"
17
18 #define MAXEXPR 9 /* maximum expressions in modifier */
19
20 typedef struct {
21 EPNODE *ep[MAXEXPR+1]; /* NULL-terminated expression list */
22 char *ctx; /* context (from file name) */
23 XF *f, *b; /* forward and backward transforms */
24 } MFUNC; /* material function */
25
26 extern XF unitxf; /* identity transform */
27 extern XF funcxf; /* current transform */
28
29
30 extern MFUNC *getfunc(OBJREC *m, int ff, unsigned int ef, int dofwd);
31 extern void freefunc(OBJREC *m);
32 extern int setfunc(OBJREC *m, RAY *r);
33 extern void loadfunc(char *fname);
34
35
36 #ifdef __cplusplus
37 }
38 #endif
39 #endif /* _RAD_FUNC_H_ */
40