ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/meta/primout.c
Revision: 1.1
Committed: Sat Feb 22 02:07:26 2003 UTC (21 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad3R5
Log Message:
Changes and check-in for 3.5 release
Includes new source files and modifications not recorded for many years
See ray/doc/notes/ReleaseNotes for notes between 3.1 and 3.5 release

File Contents

# Content
1 #ifndef lint
2 static const char RCSid[] = "$Id$";
3 #endif
4 /*
5 * Routines for primitive output
6 *
7 * 1/10/85
8 */
9
10
11 #include "meta.h"
12
13
14 FILE *pout = NULL; /* the primitive output stream */
15
16
17 plseg(a0, xstart, ystart, xend, yend) /* plot line segment */
18
19 int a0, xstart, ystart, xend, yend;
20
21 {
22 PRIMITIVE p;
23 int reverse;
24
25 if (xstart < xend) {
26 p.xy[XMN] = xstart;
27 p.xy[XMX] = xend;
28 reverse = FALSE;
29 } else {
30 p.xy[XMN] = xend;
31 p.xy[XMX] = xstart;
32 reverse = TRUE;
33 }
34
35 if (ystart < yend) {
36 p.xy[YMN] = ystart;
37 p.xy[YMX] = yend;
38 } else {
39 p.xy[YMN] = yend;
40 p.xy[YMX] = ystart;
41 reverse = ystart > yend && !reverse;
42 }
43
44 p.com = PLSEG;
45 p.arg0 = (reverse << 6) | a0;
46 p.args = NULL;
47
48 writep(&p, pout);
49
50 }
51
52
53
54
55
56
57 pprim(co, a0, xmin, ymin, xmax, ymax, s) /* print primitive */
58
59 int co, a0, xmin, ymin, xmax, ymax;
60 char *s;
61
62 {
63 PRIMITIVE p;
64
65 p.com = co;
66 p.arg0 = a0;
67 p.xy[XMN] = xmin;
68 p.xy[YMN] = ymin;
69 p.xy[XMX] = xmax;
70 p.xy[YMX] = ymax;
71 p.args = s;
72
73 writep(&p, pout);
74
75 }
76
77
78
79
80 pglob(co, a0, s) /* print global */
81
82 int co, a0;
83 char *s;
84
85 {
86 PRIMITIVE p;
87
88 p.com = co;
89 p.arg0 = a0;
90 p.xy[XMN] = p.xy[YMN] = p.xy[XMX] = p.xy[YMX] = -1;
91 p.args = s;
92
93 writep(&p, pout);
94
95 }