Back to index

radiance  4R0+20100331
primout.c
Go to the documentation of this file.
00001 #ifndef lint
00002 static const char    RCSid[] = "$Id: primout.c,v 1.2 2003/11/15 02:13:37 schorsch Exp $";
00003 #endif
00004 /*
00005  *  Routines for primitive output
00006  *
00007  *      1/10/85
00008  */
00009 
00010 
00011 #include  "meta.h"
00012 
00013 
00014 FILE  *pout = NULL;         /* the primitive output stream */
00015 
00016 
00017 void
00018 plseg(        /* plot line segment */
00019        int    a0,
00020        int xstart,
00021        int ystart,
00022        int xend,
00023        int yend
00024 )
00025 
00026 {
00027     PRIMITIVE p;
00028     int              reverse;
00029 
00030     if (xstart < xend) {
00031        p.xy[XMN] = xstart;
00032        p.xy[XMX] = xend;
00033        reverse = FALSE;
00034     } else {
00035        p.xy[XMN] = xend;
00036        p.xy[XMX] = xstart;
00037        reverse = TRUE;
00038     }
00039 
00040     if (ystart < yend) {
00041        p.xy[YMN] = ystart;
00042         p.xy[YMX] = yend;
00043     } else {
00044        p.xy[YMN] = yend;
00045        p.xy[YMX] = ystart;
00046        reverse = ystart > yend && !reverse;
00047     }
00048 
00049     p.com = PLSEG;
00050     p.arg0 = (reverse << 6) | a0;
00051     p.args = NULL;
00052 
00053     writep(&p, pout);
00054 }
00055 
00056 
00057 void
00058 pprim( /* print primitive */
00059        int    co,
00060        int a0,
00061        int xmin,
00062        int ymin,
00063        int xmax,
00064        int ymax,
00065        char   *s
00066 )
00067 
00068 {
00069     PRIMITIVE p;
00070 
00071     p.com = co;
00072     p.arg0 = a0;
00073     p.xy[XMN] = xmin;
00074     p.xy[YMN] = ymin;
00075     p.xy[XMX] = xmax;
00076     p.xy[YMX] = ymax;
00077     p.args = s;
00078 
00079     writep(&p, pout);
00080 
00081 }
00082 
00083 
00084 
00085 void
00086 pglob(               /* print global */
00087        int  co,
00088        int  a0,
00089        char  *s
00090 )
00091 {
00092     PRIMITIVE  p;
00093     
00094     p.com = co;
00095     p.arg0 = a0;
00096     p.xy[XMN] = p.xy[YMN] = p.xy[XMX] = p.xy[YMX] = -1;
00097     p.args = s;
00098 
00099     writep(&p, pout);
00100 
00101 }