Name

libplot3 — graphics interface subroutines

Synopsis

void fsfuncpl_3box(fp,  
 x0,  
 y0,  
 z0,  
 x1,  
 y1,  
 z1); 
FILE *fp;

int x0;

int y0;

int z0;

int x1;

int y1;

int z1;
 
void fsfuncpl_3cont(fp,  
 x,  
 y,  
 z); 
FILE *fp;

int x;

int y;

int z;
 
void fsfuncpl_3line(fp,  
 x0,  
 y0,  
 z0,  
 x1,  
 y1,  
 z1); 
FILE *fp;

int x0;

int y0;

int z0;

int x1;

int y1;

int z1;
 
void fsfuncpl_3move(fp,  
 x,  
 y,  
 z); 
FILE *fp;

int x;

int y;

int z;
 
void fsfuncpl_3point(fp,  
 x,  
 y,  
 z); 
FILE *fp;

int x;

int y;

int z;
 
void fsfuncpl_3space(fp,  
 x0,  
 y0,  
 z0,  
 x1,  
 y1,  
 z1); 
FILE *fp;

int x0;

int y0;

int z0;

int x1;

int y1;

int z1;
 
void fsfuncpl_arc(fp,  
 xc,  
 yc,  
 x0,  
 y0,  
 x1,  
 y1); 
FILE *fp;

int xc;

int yc;

int x0;

int y0;

int x1;

int y1;
 
void fsfuncpl_box(fp,  
 x0,  
 y0,  
 x1,  
 y1); 
FILE *fp;

int x0;

int y0;

int x1;

int y1;
 
fsfuncpl_circle(fp,  
 x,  
 y,  
 r); 
FILE *fp;

int x;

int y;

int r;
 
void fsfuncpl_color(fp,  
 r,  
 g,  
 b); 
FILE *fp;

int r;

int g;

int b;
 
void fsfuncpl_cont(fp,  
 x,  
 y); 
FILE *fp;

int x;

int y;
 
void fsfuncpl_erase(fp); 
FILE *fp;
 
void fsfuncpl_label(fp,  
 s); 
FILE *fp;

const char *s;
 
void fsfuncpl_line(fp,  
 x0,  
 y0,  
 x1,  
 y1); 
FILE *fp;

int x0;

int y0;

int x1;

int y1;
 
void fsfuncpl_linmod(fp,  
 s); 
FILE *fp;

const char *s;
 
void fsfuncpl_move(fp,  
 x,  
 y); 
FILE *fp;

int x;

int y;
 
void fsfuncpl_point(fp,  
 x,  
 y); 
FILE *fp;

int x;

int y;
 
void fsfuncpl_space(fp,  
 x0,  
 y0,  
 x1,  
 y1); 
FILE *fp;

int x0;

int y0;

int x1;

int y1;
 

DESCRIPTION

These subroutines generate graphic output commands for processing with the plot(1) plotting filters. They are slightly more general than those in libplot as these take a file pointer. They also include the BRL 3-D extensions to the plot intermediate code.

Pl_space or pl_3space must be used before any of the graphic primitives to declare the amount of space necessary. See plot3(5).

Pl_box or pl_3box draws a box between the two given opposite points. The ''pen'' will be left at the second point.

Pl_circle draws a circle of radius r with center at the point (x, y). Note that circle and arc cannot be transformed in three space if one is using a filter to do that.

Pl_arc draws an arc of a circle with center at the point (x, y) between the points (x0, y0) and (x1, y1).

String arguments to pl_label and pl_linmod are terminated by nulls and do not contain new-lines.

There are also 2-D and 3_D double-precision versions, with arguments identical to their counterparts above. The naming conventions are to change the prefix to "pd"; examples are thus pd_point and pd_3point. Vector versions for 3_D (also double-precision) are prefixed "pdv", as in pdv_3point.

See plot3(5) and plot(5) for a description of the effect of the remaining functions.

FILES

/usr/brlcad/lib/libplot3.a produces output for plot(1G) filters

WARNINGS

In order to compile a program containing these functions in file.c it is necessary to use ``cc file.c -lplot3''.

Color specification and three-dimensional primitives are BRL extensions to the "unix plot" language that are not generally found on other systems.

SEE ALSO

plot(1), pl-fb(1), plot3(5), plot(5)

AUTHOR

BRL-CAD Team

COPYRIGHT

This software is Copyright (c) 1989-2020 by the United States Government as represented by U.S. Army Research Laboratory.

BUG REPORTS

Reports of bugs or problems should be submitted via electronic mail to