ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/func.h
Revision: 2.10
Committed: Wed May 20 12:58:31 2015 UTC (9 years ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad5R0, rad5R1, rad5R3, HEAD
Changes since 2.9: +2 -1 lines
Log Message:
Added appropriate setting of ray parameters for bin rcontrib evaluation

File Contents

# User Rev Content
1 greg 2.10 /* RCSid $Id: func.h,v 2.9 2012/06/09 07:16:47 greg Exp $ */
2 greg 2.1 /*
3     * Header file for modifiers using function files.
4 greg 2.2 *
5     * Include after ray.h
6     */
7 schorsch 2.4 #ifndef _RAD_FUNC_H_
8     #define _RAD_FUNC_H_
9 schorsch 2.6
10 greg 2.8 #include "calcomp.h"
11 schorsch 2.6
12 schorsch 2.4 #ifdef __cplusplus
13     extern "C" {
14     #endif
15 greg 2.1
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 greg 2.9 XF *fxp, *bxp; /* forward and backward transforms */
22 greg 2.1 } MFUNC; /* material function */
23    
24     extern XF unitxf; /* identity transform */
25     extern XF funcxf; /* current transform */
26    
27 greg 2.9 extern void initfunc(void);
28 greg 2.10 extern void set_eparams(char *prms);
29 greg 2.8 extern MFUNC *getfunc(OBJREC *m, int ff, unsigned int ef, int dofwd);
30 greg 2.2 extern void freefunc(OBJREC *m);
31     extern int setfunc(OBJREC *m, RAY *r);
32 greg 2.9 extern int worldfunc(char *ctx, RAY *r);
33 greg 2.2 extern void loadfunc(char *fname);
34    
35 schorsch 2.7 /* defined in noise3.c */
36 greg 2.8 extern void setnoisefuncs(void);
37 schorsch 2.7
38     /* defined in fprism.c */
39 greg 2.8 extern void setprismfuncs(void);
40 schorsch 2.7
41 schorsch 2.4
42     #ifdef __cplusplus
43     }
44 greg 2.2 #endif
45 schorsch 2.4 #endif /* _RAD_FUNC_H_ */
46