|
PLOT3_EXPORT void | pl_setOutputMode (int mode) |
|
PLOT3_EXPORT void | pl_point (FILE *plotfp, int x, int y) |
|
PLOT3_EXPORT void | pl_line (FILE *plotfp, int fx, int fy, int tx, int ty) |
|
PLOT3_EXPORT void | pl_linmod (FILE *plotfp, const char *s) |
|
PLOT3_EXPORT void | pl_move (FILE *plotfp, int x, int y) |
|
PLOT3_EXPORT void | pl_cont (FILE *plotfp, int x, int y) |
|
PLOT3_EXPORT void | pl_label (FILE *plotfp, const char *s) |
|
PLOT3_EXPORT void | pl_space (FILE *plotfp, int x_1, int y_1, int x_2, int y_2) |
|
PLOT3_EXPORT void | pl_erase (FILE *plotfp) |
|
PLOT3_EXPORT void | pl_circle (FILE *plotfp, int x, int y, int r) |
|
PLOT3_EXPORT void | pl_arc (FILE *plotfp, int xc, int yc, int x_1, int y_1, int x_2, int y_2) |
|
PLOT3_EXPORT void | pl_box (FILE *plotfp, int x_1, int y_1, int x_2, int y_2) |
|
PLOT3_EXPORT void | pl_color (FILE *plotfp, int r, int g, int b) |
|
PLOT3_EXPORT void | pl_color_buc (FILE *plotfp, struct bu_color *c) |
|
PLOT3_EXPORT void | pl_flush (FILE *plotfp) |
|
PLOT3_EXPORT void | pl_3space (FILE *plotfp, int x_1, int y_1, int z_1, int x_2, int y_2, int z_2) |
|
PLOT3_EXPORT void | pl_3point (FILE *plotfp, int x, int y, int z) |
|
PLOT3_EXPORT void | pl_3move (FILE *plotfp, int x, int y, int z) |
|
PLOT3_EXPORT void | pl_3cont (FILE *plotfp, int x, int y, int z) |
|
PLOT3_EXPORT void | pl_3line (FILE *plotfp, int x_1, int y_1, int z_1, int x_2, int y_2, int z_2) |
|
PLOT3_EXPORT void | pl_3box (FILE *plotfp, int x_1, int y_1, int z_1, int x_2, int y_2, int z_2) |
|
PLOT3_EXPORT void | pd_point (FILE *plotfp, double x, double y) |
|
PLOT3_EXPORT void | pd_line (FILE *plotfp, double fx, double fy, double tx, double ty) |
|
PLOT3_EXPORT void | pd_move (FILE *plotfp, double x, double y) |
|
PLOT3_EXPORT void | pd_cont (FILE *plotfp, double x, double y) |
|
PLOT3_EXPORT void | pd_space (FILE *plotfp, double x_1, double y_1, double x_2, double y_2) |
|
PLOT3_EXPORT void | pd_circle (FILE *plotfp, double x, double y, double r) |
|
PLOT3_EXPORT void | pd_arc (FILE *plotfp, double xc, double yc, double x_1, double y_1, double x_2, double y_2) |
|
PLOT3_EXPORT void | pd_box (FILE *plotfp, double x_1, double y_1, double x_2, double y_2) |
|
PLOT3_EXPORT void | pd_3space (FILE *plotfp, double x_1, double y_1, double z_1, double x_2, double y_2, double z_2) |
|
PLOT3_EXPORT void | pd_3point (FILE *plotfp, double x, double y, double z) |
|
PLOT3_EXPORT void | pd_3move (FILE *plotfp, double x, double y, double z) |
|
PLOT3_EXPORT void | pd_3cont (FILE *plotfp, double x, double y, double z) |
|
PLOT3_EXPORT void | pd_3line (FILE *plotfp, double x_1, double y_1, double z_1, double x_2, double y_2, double z_2) |
|
PLOT3_EXPORT void | pd_3box (FILE *plotfp, double x_1, double y_1, double z_1, double x_2, double y_2, double z_2) |
|
PLOT3_EXPORT void | pdv_3ray (FILE *fp, const point_t pt, const vect_t dir, double t) |
|
PLOT3_EXPORT int | plot3_invalid (FILE *fp, int mode) |
|
void | tp_i2list (FILE *fp, int *x, int *y, int npoints) |
|
void | tp_2list (FILE *fp, double *x, double *y, int npoints) |
|
void | BU_FORTRAN (f2list, F2LIST)(FILE **fpp |
|
void | tp_3list (FILE *fp, double *x, double *y, double *z, int npoints) |
|
void | BU_FORTRAN (f3list, F3LIST)(FILE **fpp |
|
void | tp_2mlist (FILE *fp, double *x, double *y, int npoints, int flag, int mark, int interval, double size) |
|
void | BU_FORTRAN (f2mlst, F2MLST)(FILE **fp |
|
void | tp_2marker (FILE *fp, int c, double x, double y, double scale) |
|
void | BU_FORTRAN (f2mark, F2MARK)(FILE **fp |
|
void | tp_3marker (FILE *fp, int c, double x, double y, double z, double scale) |
|
void | BU_FORTRAN (f3mark, F3MARK)(FILE **fp |
|
void | tp_2number (FILE *fp, double input, int x, int y, int cscale, double theta, int digits) |
|
void | BU_FORTRAN (f2numb, F2NUMB)(FILE **fp |
|
void | tp_scale (int idata[], int elements, int mode, int length, int odata[], double *min, double *dx) |
|
void | BU_FORTRAN (fscale, FSCALE)(int idata[] |
|
void | tp_2symbol (FILE *fp, char *string, double x, double y, double scale, double theta) |
|
void | BU_FORTRAN (f2symb, F2SYMB)(FILE **fp |
|
void | tp_plot (FILE *fp, int xp, int yp, int xl, int yl, char xtitle[], char ytitle[], float x[], float y[], int n, double cscale) |
|
void | BU_FORTRAN (fplot, FPLOT)(FILE **fp |
|
void | tp_ftoa (float x, char *s) |
|
void | tp_fixsc (float *x, int npts, float size, float *xs, float *xmin, float *xmax, float *dx) |
|
void | tp_sep (float x, float *coef, int *ex) |
|
double | tp_ipow (double x, int n) |
|
void | tp_3axis (FILE *fp, char *string, point_t origin, mat_t rot, double length, int ccw, int ndigits, double label_start, double label_incr, double tick_separation, double char_width) |
|
void | BU_FORTRAN (f3axis, F3AXIS)(FILE **fp |
|
void | tp_3symbol (FILE *fp, char *string, point_t origin, mat_t rot, double scale) |
|
void | tp_3vector (FILE *plotfp, point_t from, point_t to, double fromheadfract, double toheadfract) |
|
void | BU_FORTRAN (f3vect, F3VECT)(FILE **fp |
|
The basic UNIX-plot routines.
A public-domain UNIX plot library, for 2-D and 3-D plotting in 16-bit VAX signed integer spaces, or 64-bit IEEE floating point.
These routines generate "UNIX plot" output (with the addition of 3-D commands). They behave almost exactly like the regular libplot routines, except:
The 3-D extensions are those of Doug Gwyn, from his System V extensions.
These are the ascii command letters allocated to various actions. Care has been taken to consistently match lowercase and uppercase letters.
The calling sequence is the same as the original Bell Labs routines, with the exception of the pl_ prefix on the name.
Of interest: the Plan 9 sources (recently MIT licensed) appear to be related to the original code that would have formed the conceptual basis for these routines:
Don't know if there would be any improvements that could be retrofitted onto this version, but might be worth looking. In particular, curious if the spline routine might be useful...
The following routines are taken from the BRL TIG-PACK (Terminal Independent Plotting Package). These routines create plots by using the pl_() and pd_() routines declared in plot3.h.
void tp_3axis |
( |
FILE * |
fp, |
|
|
char * |
string, |
|
|
point_t |
origin, |
|
|
mat_t |
rot, |
|
|
double |
length, |
|
|
int |
ccw, |
|
|
int |
ndigits, |
|
|
double |
label_start, |
|
|
double |
label_incr, |
|
|
double |
tick_separation, |
|
|
double |
char_width |
|
) |
| |
|
extern |
This routine is used to generate an axis for a graph. It draws an axis with a linear scale, places tic marks every inch, labels the tics, and uses the supplied title for the axis.
The strategy behind this routine is to split the axis into SEGMENTS, which run from one tick to the next. The origin of the first segment (x, y), the origin of the bottom of the first tick (xbott, ybott), and the origin of the first tick label (xnum, ynum) are computed along with the delta x and delta y (xincr, yincr) which describes the interval to the start of the next tick.
Originally written on August 01, 1978