ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rholo.h
Revision: 3.3
Committed: Mon Nov 10 18:05:07 1997 UTC (26 years, 4 months ago) by gregl
Content type: text/plain
Branch: MAIN
Changes since 3.2: +17 -15 lines
Log Message:
took out VIEW type and changed packray() macro to packra()

File Contents

# User Rev Content
1 gregl 3.1 /* Copyright (c) 1997 Silicon Graphics, Inc. */
2    
3     /* SCCSid "$SunId$ SGI" */
4    
5 gregl 3.3 /* Copyright (c) 1997 Silicon Graphics, Inc. */
6    
7     /* SCCSid "$SunId$ SGI" */
8    
9 gregl 3.1 /*
10     * Header file for rholo program
11     */
12    
13     #include "holo.h"
14     #include "vars.h"
15    
16     #ifndef RPACKSIZ
17     #define RPACKSIZ 21 /* good packet size */
18     #endif
19    
20     typedef struct packet {
21     int2 hd; /* holodeck section (first) */
22     int4 bi; /* beam index (second) */
23     int4 nr; /* number of rays (third) */
24     RAYVAL ra[RPACKSIZ]; /* ray values (fourth) */
25     float *offset; /* offset array if !vbool(OBSTRUCTIONS) */
26     struct packet *next; /* next in packet list */
27     } PACKET; /* a beam packet */
28    
29     typedef struct {
30     int2 hd; /* holodeck section (first) */
31     int4 bi; /* beam index (second) */
32     int4 nr; /* number of rays (third) */
33     } PACKHEAD; /* followed by ray values */
34    
35     #define packsiz(nr) (sizeof(PACKHEAD)+(nr)*sizeof(RAYVAL))
36 gregl 3.3 #define packra(p) ((RAYVAL *)((p)+1))
37 gregl 3.1
38     /* input variables */
39     #define RENDER 0 /* rendering options */
40 gregl 3.3 #define SECTION 1 /* holodeck section boundaries */
41     #define OCTREE 2 /* octree file name */
42     #define RIF 3 /* rad input file */
43     #define EXPOSURE 4 /* section exposure value */
44     #define TIME 5 /* maximum rendering time */
45     #define DISKSPACE 6 /* how much disk space to use */
46     #define CACHE 7 /* amount of memory to use as cache */
47     #define GRID 8 /* target grid size */
48     #define OBSTRUCTIONS 9 /* shall we track obstructions? */
49     #define OCCUPANCY 10 /* expected occupancy probability */
50     #define REPORT 11 /* report interval and error file */
51 gregl 3.1
52 gregl 3.3 #define NRHVARS 12 /* number of variables */
53 gregl 3.1
54     #define RHVINIT { \
55     {"render", 3, 0, NULL, catvalues}, \
56     {"section", 3, 0, NULL, NULL}, \
57     {"OCTREE", 3, 0, NULL, onevalue}, \
58     {"RIF", 3, 0, NULL, onevalue}, \
59     {"EXPOSURE", 3, 0, NULL, fltvalue}, \
60     {"TIME", 2, 0, NULL, fltvalue}, \
61     {"DISKSPACE", 3, 0, NULL, fltvalue}, \
62     {"CACHE", 2, 0, NULL, fltvalue}, \
63     {"GRID", 2, 0, NULL, fltvalue}, \
64     {"OBSTRUCTIONS",3, 0, NULL, boolvalue}, \
65     {"OCCUPANCY", 3, 0, NULL, onevalue}, \
66     {"REPORT", 3, 0, NULL, onevalue}, \
67     }
68    
69 gregl 3.2 /* bundle set requests */
70     #define BS_NEW 0 /* replace current set with new one */
71     #define BS_ADD 1 /* add to current set */
72     #define BS_DEL 2 /* delete from current set */
73    
74 gregl 3.1 extern char *progname; /* our program name */
75     extern char *hdkfile; /* holodeck file name */
76     extern char froot[]; /* root file name */
77    
78     extern int nowarn; /* turn warnings off? */
79    
80     extern double expval; /* global exposure value */
81    
82     extern int ncprocs; /* number of compute processes */
83    
84     extern time_t starttime; /* time we got started */
85     extern time_t endtime; /* time we should end by */
86     extern time_t reporttime; /* time for next report */
87    
88     extern int rtargc; /* rtrace command */
89     extern char *rtargv[];
90    
91     extern PACKET *do_packets(), *get_packets(), *flush_queue();