ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/func.h
Revision: 2.11
Committed: Tue Oct 29 00:36:54 2024 UTC (6 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 2.10: +3 -3 lines
Log Message:
feat(rxcontrib): First compiled version of rxcontrib tool to test new C++ classes

File Contents

# Content
1 /* RCSid $Id: func.h,v 2.10 2015/05/20 12:58:31 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
10 #include "calcomp.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #define MAXEXPR 9 /* maximum expressions in modifier */
17
18 typedef struct {
19 EPNODE *ep[MAXEXPR+1]; /* NULL-terminated expression list */
20 char *ctx; /* context (from file name) */
21 XF *fxp, *bxp; /* forward and backward transforms */
22 } MFUNC; /* material function */
23
24 extern XF unitxf; /* identity transform */
25 extern XF funcxf; /* current transform */
26
27 extern void initfunc(void);
28 extern void set_eparams(const char *prms);
29 extern MFUNC *getfunc(OBJREC *m, int ff, unsigned int ef, int dofwd);
30 extern void freefunc(OBJREC *m);
31 extern int setfunc(OBJREC *m, RAY *r);
32 extern int worldfunc(const char *ctx, RAY *r);
33 extern void loadfunc(char *fname);
34
35 /* defined in noise3.c */
36 extern void setnoisefuncs(void);
37
38 /* defined in fprism.c */
39 extern void setprismfuncs(void);
40
41
42 #ifdef __cplusplus
43 }
44 #endif
45 #endif /* _RAD_FUNC_H_ */
46