ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/Development/ray/src/common/data.h
Revision: 2.2
Committed: Wed Dec 17 18:55:28 2025 UTC (2 days, 14 hours ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 2.1: +2 -2 lines
Log Message:
refactor: Changed use of uby8 to COLRV where appropriate

File Contents

# User Rev Content
1 greg 2.2 /* RCSid $Id: data.h,v 2.1 2024/08/02 18:47:25 greg Exp $ */
2 greg 2.1 /*
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 greg 2.2 COLRV *s; /* spectral data */
26 greg 2.1 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_ */