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

Comparing ray/src/hd/rhdriver.h (file contents):
Revision 3.6 by gregl, Mon Dec 8 18:51:15 1997 UTC vs.
Revision 3.13 by gwlarson, Thu May 14 13:06:32 1998 UTC

# Line 10 | Line 10
10  
11   extern struct driver {
12          char    *name;          /* holodeck name or title */
13 <        VIEW    v;              /* preferred view parameters */
14 <        int     hres, vres;     /* device resolution */
13 >        VIEW    v;              /* base view parameters */
14 >        int     hres, vres;     /* base view resolution */
15          int     ifd;            /* input file descriptor (for select) */
16   } odev;                 /* our open device */
17  
18 <                        /* dev_input() return flags */
19 < #define DEV_SHUTDOWN    01      /* user shutdown request */
20 < #define DEV_NEWVIEW     02      /* view change (new view in odev.v) */
21 < #define DEV_NEWSIZE     04      /* device resolution change */
22 < #define DEV_WAIT        010     /* pause computation and wait for input */
23 < #define DEV_RESUME      020     /* resume after pause */
24 < #define DEV_REDRAW      040     /* redraw from server */
25 < #define DEV_PUTVIEW     0100    /* print out current view */
18 > extern int      imm_mode;       /* bundles are being delivered immediately */
19  
20 +                                /* user commands */
21 + #define DC_SETVIEW      0               /* set the base view */
22 + #define DC_GETVIEW      1               /* print the current base view */
23 + #define DC_LASTVIEW     2               /* restore previous view */
24 + #define DC_PAUSE        3               /* pause the current calculation */
25 + #define DC_RESUME       4               /* resume the calculation */
26 + #define DC_REDRAW       5               /* redraw from server */
27 + #define DC_KILL         6               /* kill rtrace process(es) */
28 + #define DC_RESTART      7               /* restart rtrace process(es) */
29 + #define DC_CLOBBER      8               /* clobber holodeck file */
30 + #define DC_QUIT         9               /* quit the program */
31  
32 + #define DC_NCMDS        10              /* number of commands */
33 +
34 +                                /* dev_input() returns flags from above */
35 + #define DFL(dc)         (1<<(dc))
36 +
37 + #define CTRL(c)         ((c)-'@')
38 +                                /* commands entered in display window */
39 + #define DV_INIT         {'\0','v','l','p','\r',CTRL('L'),'K','R','C','q'}
40 +                                /* commands entered on stdin */
41 + #define DC_INIT         {"VIEW=","where","last","pause","resume","redraw",\
42 +                                "kill","restart","clobber","quit"}
43 +
44 +
45   /************************************************************************
46   * Driver routines (all are required):
47  
# Line 34 | Line 51 | dev_open(nm)           : prepare the device
51   char    *nm;            : appropriate title bar annotation
52  
53   Sets fields of odev structure and prepares the display for i/o.
54 < The view type, horizontal and vertical view angles and other default
55 < parameters in odev.v should also be assigned.
54 > The base view type, horizontal and vertical view angles and other
55 > default parameters in odev.v should also be assigned.
56  
57  
58 < void
59 < dev_view(nv)            : set display view parameters
58 > int
59 > dev_view(nv)            : set base view parameters
60   VIEW    *nv;            : the new view
61  
62 < Updates the display for the given view change.
62 > Updates the display for the given base view change.
63   Look for nv==&odev.v when making view current after dev_input()
64 < returns DEV_NEWVIEW flag.
64 > returns DEV_NEWVIEW flag.  Return 1 on success, or 0 if the
65 > new view would conflict with device requirements.  In the latter
66 > case, reset parameters in nv to make it more agreeable, calling
67 > error(COMMAND, "appropriate user warning").
68  
69  
70   void
71 + dev_clear()             : clear device memory
72 +
73 + Clear the device memory in preparation for fresh data.  Clearing
74 + the screen is optional.
75 +
76 +
77 + void
78   dev_value(c, p, v)      : register new point of light
79   COLR    c;              : pixel color (RGBE)
80   FVECT   p;              : world intersection point
81   FVECT   v;              : ray direction vector
82  
83 < Add the given color point to the display output queue.
83 > Add the given color point to the display output queue.  If imm_mode is
84 > non-zero, then values are being sent in rapid succession.
85  
86  
87   int
# Line 68 | Line 96 | dev_input()            : process pending display input
96  
97   Called when odev struct file descriptor shows input is ready.
98   Returns flags indicating actions to take in the control process.
99 < If the DEV_NEWVIEW or DEV_NEWSIZE flag is returned, the odev
99 > If the DC_VIEW or DC_RESIZE flag is returned, the odev
100   structure must be updated beforehand.
101  
102  
103 + VIEW *
104 + dev_auxview(n, hv)      : return nth auxiliary view
105 + int     n;              : auxiliary view number
106 + int     hv[2];          : returned horiz. and vert. image resolution
107 +
108 + Return the nth auxiliary view associated with the current base view.
109 + The hv entries are assigned the horizontal and vertical view resolution,
110 + respectively.  Function returns NULL if there are no more auxiliary
111 + views.  The zeroeth auxiliary view is the base view itself.
112 +
113 +
114   void
115   dev_close()             : close the display
116  
# Line 80 | Line 119 | Set odev.v.type=0 and odev.hres=odev.vres=0 when done.
119  
120  
121   ************************************************************************/
122 +
123 +
124 + extern VIEW     *dev_auxview();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines