ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/data.h
Revision: 2.1
Committed: Fri Aug 2 18:47:25 2024 UTC (8 months, 4 weeks ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
feat(gensdaymtx,epw2wea,genssky): Taoning added new gensdaymtx and updated others

File Contents

# User Rev Content
1 greg 2.1 /* RCSid $Id: data.h,v 2.9 2024/03/12 16:54:51 greg Exp $ */
2     /*
3     * Header for data file loading and computation routines.
4     */
5     #ifndef _RAD_DATA_H_
6     #define _RAD_DATA_H_
7     #ifdef __cplusplus
8     extern "C" {
9     #endif
10    
11     #define MAXDDIM 6 /* maximum data dimensions */
12    
13     #define DATATYPE float /* single precision to save space */
14     #define DATATY 'f' /* format for DATATYPE */
15     #define SPECTY 'c' /* format for SCOLR */
16    
17     typedef struct datarray {
18     struct datarray *next; /* next array in list */
19     char *name; /* name of our data */
20     short type; /* DATATY, SPECTY, RED, GRN or BLU */
21     short nd; /* number of dimensions */
22     union {
23     DATATYPE *d; /* float data */
24     COLR *c; /* RGBE data */
25     uby8 *s; /* spectral data */
26     void *p; /* generic pointer */
27     } arr; /* the data */
28     struct dadim { /* put this last */
29     DATATYPE *p; /* point locations */
30     DATATYPE org, siz; /* coordinate domain */
31     int ne; /* number of elements */
32     } dim[MAXDDIM]; /* dimension specifications */
33     } DATARRAY; /* a data array */
34    
35     extern DATARRAY *getdata(char *dname);
36     extern DATARRAY *getpict(char *pname);
37     extern DATARRAY *getspec(char *sname);
38     extern void freedata(DATARRAY *dta);
39     extern double datavalue(DATARRAY *dp, double *pt);
40     /* release datavector() pointer with free() not freedata() */
41     extern DATARRAY *datavector(DATARRAY *dp, double *pt);
42    
43     #ifdef __cplusplus
44     }
45     #endif
46     #endif /* _RAD_DATA_H_ */