ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhdisp.h
(Generate patch)

Comparing ray/src/hd/rhdisp.h (file contents):
Revision 3.2 by gregl, Mon Nov 3 18:33:12 1997 UTC vs.
Revision 3.16 by schorsch, Thu Jan 1 11:21:55 2004 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1997 Silicon Graphics, Inc. */
2 <
3 < /* SCCSid "$SunId$ SGI" */
4 <
1 > /* RCSid: $Id$ */
2   /*
3   * Header for holodeck display drivers.
7 * Include after "rholo.h".
4   */
5 + #ifndef _RAD_RHDISP_H_
6 + #define _RAD_RHDISP_H_
7  
8 + #include "color.h"
9 +
10 + #ifdef __cplusplus
11 + extern "C" {
12 + #endif
13 +
14                                  /* display requests */
15 < #define DR_BUNDLE       1               /* bundle request */
15 > #define DR_NOOP         0               /* to release from vain DR_ATTEN */
16 > #define DR_BUNDLE       1               /* lone bundle request */
17   #define DR_ATTEN        2               /* request for attention */
18   #define DR_SHUTDOWN     3               /* shutdown request */
19   #define DR_NEWSET       4               /* new bundle set */
20   #define DR_ADDSET       5               /* add to current set */
21 < #define DR_DELSET       6               /* delete from current set */
21 > #define DR_ADJSET       6               /* adjust set quantities */
22 > #define DR_DELSET       7               /* delete from current set */
23 > #define DR_KILL         8               /* kill rtrace process(es) */
24 > #define DR_RESTART      9               /* restart rtrace */
25 > #define DR_CLOBBER      10              /* clobber holodeck */
26 > #define DR_VIEWPOINT    11              /* set desired eye position */
27  
28                                  /* server responses */
29 < #define DS_BUNDLE       1               /* computed bundle */
30 < #define DS_ACKNOW       2               /* acknowledge request for attention */
31 < #define DS_SHUTDOWN     3               /* end process and close connection */
32 < #define DS_ADDHOLO      4               /* register new holodeck */
33 < #define DS_STARTIMM     5               /* begin immediate bundle set */
34 < #define DS_ENDIMM       6               /* end immediate bundle set */
29 > #define DS_BUNDLE       32              /* computed bundle */
30 > #define DS_ACKNOW       33              /* acknowledge request for attention */
31 > #define DS_SHUTDOWN     34              /* end process and close connection */
32 > #define DS_ADDHOLO      35              /* register new holodeck */
33 > #define DS_STARTIMM     36              /* begin immediate bundle set */
34 > #define DS_ENDIMM       37              /* end immediate bundle set */
35 > #define DS_OUTSECT      38              /* render from outside sections */
36 > #define DS_EYESEP       39              /* eye separation distance */
37  
38   /*
39   * Normally, the server channel has priority, with the display process
# Line 33 | Line 45
45   * Priority returns to normal after the following request.
46   */
47  
48 + #ifndef BIGREQSIZ
49 + #define BIGREQSIZ       512             /* big request size (bytes) */
50 + #endif
51 +
52   typedef struct {
53 <        int2    type;           /* message type */
54 <        int4    nbytes;         /* number of additional bytes */
53 >        int16   type;           /* message type */
54 >        int32   nbytes;         /* number of additional bytes */
55   } MSGHEAD;              /* message head */
56  
57 <        /* display request message bodies */
57 > /*
58 > * The display process is started with three arguments.  The first argument
59 > * is the short name of the holodeck file, appropriate for window naming, etc.
60 > * The second and third arguments are the file descriptor numbers assigned to
61 > * the server's standard output and input, respectively.  The stdin and stdout
62 > * of the display process are used for normal communication with the server,
63 > * and are connected to pipes going each way.  It is entirely appropriate
64 > * for the display process to borrow the server's stdin and stdout for reading
65 > * and writing user commands from the list in rhdriver.h.  If standard input
66 > * is not available for reading, then a descriptor of -1 will be passed.
67 > * The standard output will always be available for writing, though it
68 > * may go to /dev/null.
69 > */
70  
43                        /* DR_BUNDLE */
44 #define BUNDLE_REQ      PACKHEAD
45                        /* DR_ATTEN */
46 /* no body */
47                        /* DR_SHUTDOWN */
48 /* no body */
49                        /* DR_NEWSET */
50 /* body is nbytes/sizeof(BUNDLE_REQ) BUNDLE_REQ bodies */
51                        /* DR_ADDSET */
52 /* body is nbytes/sizeof(PACKHEAD) BUNDLE_REQ bodies */
53                        /* DR_DELSET */
54 /* body is nbytes/sizeof(PACKHEAD) BUNDLE_REQ bodies */
71  
72 <        /* server response message bodies */
72 >        /* rhdisp.c */
73 > extern void serv_request(int type, int nbytes, char *p);
74 > extern int serv_result(void);
75 >        /* rhdisp2.c */
76 > extern int beam_sync(int all);
77 > extern void beam_init(int fresh);
78 > //extern int16 * beam_view(VIEW *vn, int hr, int vr);
79 >        /* rhdisp2.c, rhdisp3.c */
80 > extern void gridlines(void (*f)(FVECT wp[2]));
81 >        /* rhd_ctab.c */
82 > extern int new_ctab(int ncolors);
83 > extern int get_pixel(BYTE rgb[3], void (*set_pixel)(int h, int r, int g, int b));
84  
85 <                        /* DS_BUNDLE */
86 < #define BUNDLE_RES      PACKHEAD        /* followed by nr RAYVAL structs */
87 <                        /* DS_ACKNOW */
88 < /* no body */
89 <                        /* DS_SHUTDOWN */
90 < /* no body */
64 <                        /* DS_ADDHOLO */
65 < #define HOLO_RES        HDGRID
66 <                        /* DS_STARTIMM */
67 < /* no body */
68 <                        /* DS_ENDIMM */
69 < /* no body */
85 >
86 > #ifdef __cplusplus
87 > }
88 > #endif
89 > #endif /* _RAD_RHDISP_H_ */
90 >

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines