BRL-CAD
Loading...
Searching...
No Matches

The basic UNIX-plot routines. More...

Collaboration diagram for Plotting:

Files

file  plot3.h
 
file  tig.h
 

Macros

#define pl_getOutputMode   PL_ADD_PREFIX(pl_getOutputMode)
 
#define PLOT3_EXPORT
 
#define PL_OUTPUT_MODE_BINARY   0
 
#define PL_OUTPUT_MODE_TEXT   1
 
#define PLOT_PREFIX_STR   plot3_
 
#define PL_CONCAT2(a, b)   a ## b
 
#define PL_CONCAT(a, b)   PL_CONCAT2(a,b)
 
#define PL_ADD_PREFIX(b)   PL_CONCAT(PLOT_PREFIX_STR,b)
 
#define pd_3box   PL_ADD_PREFIX(pd_3box)
 
#define pd_3cont   PL_ADD_PREFIX(pd_3cont)
 
#define pd_3line   PL_ADD_PREFIX(pd_3line)
 
#define pd_3move   PL_ADD_PREFIX(pd_3move)
 
#define pd_3point   PL_ADD_PREFIX(pd_3point)
 
#define pd_3space   PL_ADD_PREFIX(pd_3space)
 
#define pd_arc   PL_ADD_PREFIX(pd_arc)
 
#define pd_box   PL_ADD_PREFIX(pd_box)
 
#define pd_circle   PL_ADD_PREFIX(pd_circle)
 
#define pd_cont   PL_ADD_PREFIX(pd_cont)
 
#define pd_line   PL_ADD_PREFIX(pd_line)
 
#define pd_move   PL_ADD_PREFIX(pd_move)
 
#define pd_point   PL_ADD_PREFIX(pd_point)
 
#define pd_space   PL_ADD_PREFIX(pd_space)
 
#define pdv_3box   PL_ADD_PREFIX(pdv_3box)
 
#define pdv_3cont   PL_ADD_PREFIX(pdv_3cont)
 
#define pdv_3line   PL_ADD_PREFIX(pdv_3line)
 
#define pdv_3move   PL_ADD_PREFIX(pdv_3move)
 
#define pdv_3point   PL_ADD_PREFIX(pdv_3point)
 
#define pdv_3ray   PL_ADD_PREFIX(pdv_3ray)
 
#define pdv_3space   PL_ADD_PREFIX(pdv_3space)
 
#define pl_3box   PL_ADD_PREFIX(pl_3box)
 
#define pl_3cont   PL_ADD_PREFIX(pl_3cont)
 
#define pl_3line   PL_ADD_PREFIX(pl_3line)
 
#define pl_3move   PL_ADD_PREFIX(pl_3move)
 
#define pl_3point   PL_ADD_PREFIX(pl_3point)
 
#define pl_3space   PL_ADD_PREFIX(pl_3space)
 
#define pl_arc   PL_ADD_PREFIX(pl_arc)
 
#define pl_box   PL_ADD_PREFIX(pl_box)
 
#define pl_circle   PL_ADD_PREFIX(pl_circle)
 
#define pl_color   PL_ADD_PREFIX(pl_color)
 
#define pl_color_buc   PL_ADD_PREFIX(pl_color_buc)
 
#define pl_cont   PL_ADD_PREFIX(pl_cont)
 
#define pl_erase   PL_ADD_PREFIX(pl_erase)
 
#define pl_flush   PL_ADD_PREFIX(pl_flush)
 
#define pl_label   PL_ADD_PREFIX(pl_label)
 
#define pl_line   PL_ADD_PREFIX(pl_line)
 
#define pl_linmod   PL_ADD_PREFIX(pl_linmod)
 
#define pl_move   PL_ADD_PREFIX(pl_move)
 
#define pl_point   PL_ADD_PREFIX(pl_point)
 
#define pl_setOutputMode   PL_ADD_PREFIX(pl_setOutputMode)
 
#define pl_space   PL_ADD_PREFIX(pl_space)
 
#define plot3_invalid   PL_ADD_PREFIX(plot3_invalid)
 
#define PL_FORTRAN(lc, uc)   BU_FORTRAN(lc, uc)
 

Functions

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
 

Variables

void floatx
 
void float floaty
 
void float float int * n
 
void float float floatz
 
void float float int * np
 
void float float int int * flag
 
void float float int int int * mark
 
void float float int int int int * interval
 
void float float int int int int floatsize
 
void int * c
 
void int float float floatscale
 
void floatinput
 
void float int int floatcscale
 
void float int int float floattheta
 
void float int int float float int * digits
 
void int * elements
 
void int charmode
 
void int char int * length
 
void int char int int odata []
 
void int char int int doublemin
 
void int char int int double doubledx
 
void charstring
 
void int * xp
 
void int int * yp
 
void int int int * xl
 
void int int int int * yl
 
void int int int int charxtitle
 
void int int int int char charytitle
 
void char float float float float float int * ccw
 
void char float float float float float int int * ndigits
 
void char float float float float float int int floatlabel_start
 
void char float float float float float int int float floatlabel_incr
 
void char float float float float float int int float float floattick_separation
 
void char float float float float float int int float float float floatchar_width
 
void floatfx
 
void float floatfy
 
void float float floatfz
 
void float float float floattx
 
void float float float float floatty
 
void float float float float float floattz
 
void float float float float float float floatfl
 
void float float float float float float float floattl
 

Detailed Description

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:

  1. These all take a stdio file pointer, and can thus be used to create multiple plot files simultaneously.
  2. There are 3-D versions of most commands.
  3. There are IEEE floating point versions of the commands.
  4. The names have been changed.

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.

2d 3d 2df 3df
space s S w W
move m M o O
cont n N q Q
point p P x X
line l L v V
arc a r
label t
color C
Definition dvec.h:74
void move(pt2d_t a, const double *b)
Definition dvec.h:809
void float float int * n
Definition tig.h:74
void int * c
Definition tig.h:139
void float * x
Definition tig.h:72
@ X
Definition vmath.h:401
@ W
Definition vmath.h:404

The calling sequence is the same as the original Bell Labs routines, with the exception of the pl_ prefix on the name.

NOTE: from libbv's perspective, plot3.h is a stand-alone header that does not use any other library functionality. To use this header without libbv, define PLOT3_IMPLEMENTATION before including the plot3.h header. The PLOT_PREFIX_STR mechanism below also can be used to allow PLOT3_IMPLEMENTATION to be included multiple times without conflict. (

Todo:
  • check if we can use inline instead of static to achieve a similar result...)

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:

https://plan9.io/sources/plan9/sys/src/cmd/plot/libplot/

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.

Macro Definition Documentation

◆ pl_getOutputMode

PLOT3_EXPORT int pl_getOutputMode   PL_ADD_PREFIX(pl_getOutputMode)

Definition at line 153 of file plot3.h.

◆ PLOT3_EXPORT

#define PLOT3_EXPORT

Definition at line 102 of file plot3.h.

◆ PL_OUTPUT_MODE_BINARY

#define PL_OUTPUT_MODE_BINARY   0

Definition at line 107 of file plot3.h.

◆ PL_OUTPUT_MODE_TEXT

#define PL_OUTPUT_MODE_TEXT   1

Definition at line 108 of file plot3.h.

◆ PLOT_PREFIX_STR

#define PLOT_PREFIX_STR   plot3_

Definition at line 111 of file plot3.h.

◆ PL_CONCAT2

#define PL_CONCAT2 (   a,
 
)    a ## b

Definition at line 113 of file plot3.h.

◆ PL_CONCAT

#define PL_CONCAT (   a,
 
)    PL_CONCAT2(a,b)

Definition at line 114 of file plot3.h.

◆ PL_ADD_PREFIX

#define PL_ADD_PREFIX (   b)    PL_CONCAT(PLOT_PREFIX_STR,b)

Definition at line 115 of file plot3.h.

◆ pd_3box

#define pd_3box   PL_ADD_PREFIX(pd_3box)

Definition at line 118 of file plot3.h.

◆ pd_3cont

#define pd_3cont   PL_ADD_PREFIX(pd_3cont)

Definition at line 119 of file plot3.h.

◆ pd_3line

#define pd_3line   PL_ADD_PREFIX(pd_3line)

Definition at line 120 of file plot3.h.

◆ pd_3move

#define pd_3move   PL_ADD_PREFIX(pd_3move)

Definition at line 121 of file plot3.h.

◆ pd_3point

#define pd_3point   PL_ADD_PREFIX(pd_3point)

Definition at line 122 of file plot3.h.

◆ pd_3space

#define pd_3space   PL_ADD_PREFIX(pd_3space)

Definition at line 123 of file plot3.h.

◆ pd_arc

#define pd_arc   PL_ADD_PREFIX(pd_arc)

Definition at line 124 of file plot3.h.

◆ pd_box

#define pd_box   PL_ADD_PREFIX(pd_box)

Definition at line 125 of file plot3.h.

◆ pd_circle

#define pd_circle   PL_ADD_PREFIX(pd_circle)

Definition at line 126 of file plot3.h.

◆ pd_cont

#define pd_cont   PL_ADD_PREFIX(pd_cont)

Definition at line 127 of file plot3.h.

◆ pd_line

#define pd_line   PL_ADD_PREFIX(pd_line)

Definition at line 128 of file plot3.h.

◆ pd_move

#define pd_move   PL_ADD_PREFIX(pd_move)

Definition at line 129 of file plot3.h.

◆ pd_point

#define pd_point   PL_ADD_PREFIX(pd_point)

Definition at line 130 of file plot3.h.

◆ pd_space

#define pd_space   PL_ADD_PREFIX(pd_space)

Definition at line 131 of file plot3.h.

◆ pdv_3box

#define pdv_3box   PL_ADD_PREFIX(pdv_3box)

Definition at line 132 of file plot3.h.

◆ pdv_3cont

#define pdv_3cont   PL_ADD_PREFIX(pdv_3cont)

Definition at line 133 of file plot3.h.

◆ pdv_3line

#define pdv_3line   PL_ADD_PREFIX(pdv_3line)

Definition at line 134 of file plot3.h.

◆ pdv_3move

#define pdv_3move   PL_ADD_PREFIX(pdv_3move)

Definition at line 135 of file plot3.h.

◆ pdv_3point

#define pdv_3point   PL_ADD_PREFIX(pdv_3point)

Definition at line 136 of file plot3.h.

◆ pdv_3ray

#define pdv_3ray   PL_ADD_PREFIX(pdv_3ray)

Definition at line 137 of file plot3.h.

◆ pdv_3space

#define pdv_3space   PL_ADD_PREFIX(pdv_3space)

Definition at line 138 of file plot3.h.

◆ pl_3box

#define pl_3box   PL_ADD_PREFIX(pl_3box)

Definition at line 139 of file plot3.h.

◆ pl_3cont

#define pl_3cont   PL_ADD_PREFIX(pl_3cont)

Definition at line 140 of file plot3.h.

◆ pl_3line

#define pl_3line   PL_ADD_PREFIX(pl_3line)

Definition at line 141 of file plot3.h.

◆ pl_3move

#define pl_3move   PL_ADD_PREFIX(pl_3move)

Definition at line 142 of file plot3.h.

◆ pl_3point

#define pl_3point   PL_ADD_PREFIX(pl_3point)

Definition at line 143 of file plot3.h.

◆ pl_3space

#define pl_3space   PL_ADD_PREFIX(pl_3space)

Definition at line 144 of file plot3.h.

◆ pl_arc

#define pl_arc   PL_ADD_PREFIX(pl_arc)

Definition at line 145 of file plot3.h.

◆ pl_box

#define pl_box   PL_ADD_PREFIX(pl_box)

Definition at line 146 of file plot3.h.

◆ pl_circle

#define pl_circle   PL_ADD_PREFIX(pl_circle)

Definition at line 147 of file plot3.h.

◆ pl_color

#define pl_color   PL_ADD_PREFIX(pl_color)

Definition at line 148 of file plot3.h.

◆ pl_color_buc

#define pl_color_buc   PL_ADD_PREFIX(pl_color_buc)

Definition at line 149 of file plot3.h.

◆ pl_cont

#define pl_cont   PL_ADD_PREFIX(pl_cont)

Definition at line 150 of file plot3.h.

◆ pl_erase

#define pl_erase   PL_ADD_PREFIX(pl_erase)

Definition at line 151 of file plot3.h.

◆ pl_flush

#define pl_flush   PL_ADD_PREFIX(pl_flush)

Definition at line 152 of file plot3.h.

◆ pl_label

#define pl_label   PL_ADD_PREFIX(pl_label)

Definition at line 154 of file plot3.h.

◆ pl_line

#define pl_line   PL_ADD_PREFIX(pl_line)

Definition at line 155 of file plot3.h.

◆ pl_linmod

#define pl_linmod   PL_ADD_PREFIX(pl_linmod)

Definition at line 156 of file plot3.h.

◆ pl_move

#define pl_move   PL_ADD_PREFIX(pl_move)

Definition at line 157 of file plot3.h.

◆ pl_point

#define pl_point   PL_ADD_PREFIX(pl_point)

Definition at line 158 of file plot3.h.

◆ pl_setOutputMode

#define pl_setOutputMode   PL_ADD_PREFIX(pl_setOutputMode)

Definition at line 159 of file plot3.h.

◆ pl_space

#define pl_space   PL_ADD_PREFIX(pl_space)

Definition at line 160 of file plot3.h.

◆ plot3_invalid

#define plot3_invalid   PL_ADD_PREFIX(plot3_invalid)

Definition at line 161 of file plot3.h.

◆ PL_FORTRAN

#define PL_FORTRAN (   lc,
  uc 
)    BU_FORTRAN(lc, uc)

Definition at line 45 of file tig.h.

Function Documentation

◆ pl_setOutputMode()

PLOT3_EXPORT void pl_setOutputMode ( int  mode)
extern

◆ pl_point()

PLOT3_EXPORT void pl_point ( FILE *  plotfp,
int  x,
int  y 
)
extern

◆ pl_line()

PLOT3_EXPORT void pl_line ( FILE *  plotfp,
int  fx,
int  fy,
int  tx,
int  ty 
)
extern

◆ pl_linmod()

PLOT3_EXPORT void pl_linmod ( FILE *  plotfp,
const char s 
)
extern

◆ pl_move()

PLOT3_EXPORT void pl_move ( FILE *  plotfp,
int  x,
int  y 
)
extern

◆ pl_cont()

PLOT3_EXPORT void pl_cont ( FILE *  plotfp,
int  x,
int  y 
)
extern

◆ pl_label()

PLOT3_EXPORT void pl_label ( FILE *  plotfp,
const char s 
)
extern

◆ pl_space()

PLOT3_EXPORT void pl_space ( FILE *  plotfp,
int  x_1,
int  y_1,
int  x_2,
int  y_2 
)
extern

◆ pl_erase()

PLOT3_EXPORT void pl_erase ( FILE *  plotfp)
extern

◆ pl_circle()

PLOT3_EXPORT void pl_circle ( FILE *  plotfp,
int  x,
int  y,
int  r 
)
extern

◆ pl_arc()

PLOT3_EXPORT void pl_arc ( FILE *  plotfp,
int  xc,
int  yc,
int  x_1,
int  y_1,
int  x_2,
int  y_2 
)
extern

◆ pl_box()

PLOT3_EXPORT void pl_box ( FILE *  plotfp,
int  x_1,
int  y_1,
int  x_2,
int  y_2 
)
extern

◆ pl_color()

PLOT3_EXPORT void pl_color ( FILE *  plotfp,
int  r,
int  g,
int  b 
)
extern

◆ pl_color_buc()

PLOT3_EXPORT void pl_color_buc ( FILE *  plotfp,
struct bu_color c 
)
extern

◆ pl_flush()

PLOT3_EXPORT void pl_flush ( FILE *  plotfp)
extern

◆ pl_3space()

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 
)
extern

◆ pl_3point()

PLOT3_EXPORT void pl_3point ( FILE *  plotfp,
int  x,
int  y,
int  z 
)
extern

◆ pl_3move()

PLOT3_EXPORT void pl_3move ( FILE *  plotfp,
int  x,
int  y,
int  z 
)
extern

◆ pl_3cont()

PLOT3_EXPORT void pl_3cont ( FILE *  plotfp,
int  x,
int  y,
int  z 
)
extern

◆ pl_3line()

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 
)
extern

◆ pl_3box()

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 
)
extern

◆ pd_point()

PLOT3_EXPORT void pd_point ( FILE *  plotfp,
double  x,
double  y 
)
extern

◆ pd_line()

PLOT3_EXPORT void pd_line ( FILE *  plotfp,
double  fx,
double  fy,
double  tx,
double  ty 
)
extern

◆ pd_move()

PLOT3_EXPORT void pd_move ( FILE *  plotfp,
double  x,
double  y 
)
extern

◆ pd_cont()

PLOT3_EXPORT void pd_cont ( FILE *  plotfp,
double  x,
double  y 
)
extern

◆ pd_space()

PLOT3_EXPORT void pd_space ( FILE *  plotfp,
double  x_1,
double  y_1,
double  x_2,
double  y_2 
)
extern

◆ pd_circle()

PLOT3_EXPORT void pd_circle ( FILE *  plotfp,
double  x,
double  y,
double  r 
)
extern

◆ pd_arc()

PLOT3_EXPORT void pd_arc ( FILE *  plotfp,
double  xc,
double  yc,
double  x_1,
double  y_1,
double  x_2,
double  y_2 
)
extern

◆ pd_box()

PLOT3_EXPORT void pd_box ( FILE *  plotfp,
double  x_1,
double  y_1,
double  x_2,
double  y_2 
)
extern

◆ pd_3space()

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 
)
extern

◆ pd_3point()

PLOT3_EXPORT void pd_3point ( FILE *  plotfp,
double  x,
double  y,
double  z 
)
extern

◆ pd_3move()

PLOT3_EXPORT void pd_3move ( FILE *  plotfp,
double  x,
double  y,
double  z 
)
extern

◆ pd_3cont()

PLOT3_EXPORT void pd_3cont ( FILE *  plotfp,
double  x,
double  y,
double  z 
)
extern

◆ pd_3line()

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 
)
extern

◆ pd_3box()

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 
)
extern

◆ pdv_3ray()

PLOT3_EXPORT void pdv_3ray ( FILE *  fp,
const point_t  pt,
const vect_t  dir,
double  t 
)
extern

◆ plot3_invalid()

PLOT3_EXPORT int plot3_invalid ( FILE *  fp,
int  mode 
)
extern

◆ tp_i2list()

void tp_i2list ( FILE *  fp,
int *  x,
int *  y,
int  npoints 
)
extern

Take a set of x, y coordinates, and plot them as a polyline, i.e., connect them with line segments. For markers, use tp_mlist(), below. This "C" interface expects arrays of INTs.

◆ tp_2list()

void tp_2list ( FILE *  fp,
double x,
double y,
int  npoints 
)
extern

Take a set of x, y coordinates, and plot them as a polyline, i.e., connect them with line segments. For markers, use tp_mlist(), below. This "C" interface expects arrays of DOUBLES.

NOTE: tp_2list() and tp_3list() are good candidates to become intrinsic parts of plot3.c, for efficiency reasons.

Originally written in August 04, 1978

◆ BU_FORTRAN() [1/11]

void BU_FORTRAN ( f2list  ,
F2LIST   
)
extern

◆ tp_3list()

void tp_3list ( FILE *  fp,
double x,
double y,
double z,
int  npoints 
)
extern

NOTE: tp_2list() and tp_3list() are good candidates to become intrinsic parts of plot3.c, for efficiency reasons.

Originally written in August 04, 1978

◆ BU_FORTRAN() [2/11]

void BU_FORTRAN ( f3list  ,
F3LIST   
)
extern

◆ tp_2mlist()

void tp_2mlist ( FILE *  fp,
double x,
double y,
int  npoints,
int  flag,
int  mark,
int  interval,
double  size 
)
extern

Take a set of x, y coordinates and plots them, with a combination of connecting lines and/or place markers. It is important to note that the arrays are arrays of doubles, and express UNIX-plot coordinates in the current pl_space().

tp_scale(TIG) may be called first to optionally re-scale the data.

The 'mark' character to be used for marking points off can be any printing ASCII character, or 001 to 005 for the special marker characters.

In addition, the value of the 'flag' variable determines the type of line to be drawn, as follows:

  • 0 Draw nothing (rather silly)
  • 1 Marks only, no connecting lines. Suggested interval=1.
  • 2 Draw connecting lines only.
  • 3 Draw line and marks

◆ BU_FORTRAN() [3/11]

void BU_FORTRAN ( f2mlst  ,
F2MLST   
)
extern

This FORTRAN interface expects arrays of REALs (single precision).

◆ tp_2marker()

void tp_2marker ( FILE *  fp,
int  c,
double  x,
double  y,
double  scale 
)
extern

◆ BU_FORTRAN() [4/11]

void BU_FORTRAN ( f2mark  ,
F2MARK   
)
extern

◆ tp_3marker()

void tp_3marker ( FILE *  fp,
int  c,
double  x,
double  y,
double  z,
double  scale 
)
extern

◆ BU_FORTRAN() [5/11]

void BU_FORTRAN ( f3mark  ,
F3MARK   
)
extern

◆ tp_2number()

void tp_2number ( FILE *  fp,
double  input,
int  x,
int  y,
int  cscale,
double  theta,
int  digits 
)
extern

◆ BU_FORTRAN() [6/11]

void BU_FORTRAN ( f2numb  ,
F2NUMB   
)
extern

◆ tp_scale()

void tp_scale ( int  idata[],
int  elements,
int  mode,
int  length,
int  odata[],
double min,
double dx 
)
extern

◆ BU_FORTRAN() [7/11]

void BU_FORTRAN ( fscale  ,
FSCALE   
)
extern

◆ tp_2symbol()

void tp_2symbol ( FILE *  fp,
char string,
double  x,
double  y,
double  scale,
double  theta 
)
extern

◆ BU_FORTRAN() [8/11]

void BU_FORTRAN ( f2symb  ,
F2SYMB   
)
extern

◆ tp_plot()

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 
)
extern

◆ BU_FORTRAN() [9/11]

void BU_FORTRAN ( fplot  ,
FPLOT   
)
extern

◆ tp_ftoa()

void tp_ftoa ( float  x,
char s 
)
extern

◆ tp_fixsc()

void tp_fixsc ( float x,
int  npts,
float  size,
float xs,
float xmin,
float xmax,
float dx 
)
extern

◆ tp_sep()

void tp_sep ( float  x,
float coef,
int *  ex 
)
extern

◆ tp_ipow()

double tp_ipow ( double  x,
int  n 
)
extern

◆ tp_3axis()

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

◆ BU_FORTRAN() [10/11]

void BU_FORTRAN ( f3axis  ,
F3AXIS   
)
extern

◆ tp_3symbol()

void tp_3symbol ( FILE *  fp,
char string,
point_t  origin,
mat_t  rot,
double  scale 
)
extern

◆ tp_3vector()

void tp_3vector ( FILE *  plotfp,
point_t  from,
point_t  to,
double  fromheadfract,
double  toheadfract 
)
extern

◆ BU_FORTRAN() [11/11]

void BU_FORTRAN ( f3vect  ,
F3VECT   
)
extern

Variable Documentation

◆ x

Definition at line 72 of file tig.h.

Referenced by mat2d_pt2d_mul().

◆ y

Definition at line 73 of file tig.h.

Referenced by mat2d_pt2d_mul().

◆ n

void int int int int char char float float int * n

Definition at line 74 of file tig.h.

◆ z

Definition at line 90 of file tig.h.

◆ np

void float float int* np

Definition at line 128 of file tig.h.

◆ flag

void float float int int* flag

Definition at line 129 of file tig.h.

◆ mark

void float float int int int* mark

Definition at line 130 of file tig.h.

◆ interval

void float float int int int int* interval

Definition at line 131 of file tig.h.

◆ size

void float float int int int int float* size

Definition at line 132 of file tig.h.

Referenced by PooledObject< T >::operator new().

◆ c

void int * c

Definition at line 139 of file tig.h.

Referenced by mat2d_inverse(), and mat2d_pt2d_mul().

◆ scale

Definition at line 142 of file tig.h.

Referenced by mat2d_inverse().

◆ input

void float* input

Definition at line 163 of file tig.h.

◆ cscale

void int int int int char char float float int float * cscale

Definition at line 166 of file tig.h.

◆ theta

Definition at line 167 of file tig.h.

◆ digits

void float int int float float int* digits

Definition at line 168 of file tig.h.

◆ elements

void int* elements

Definition at line 178 of file tig.h.

◆ mode

void int char* mode

Definition at line 179 of file tig.h.

◆ length

Definition at line 180 of file tig.h.

◆ odata

void int char int int odata[]

Definition at line 181 of file tig.h.

◆ min

void int char int int double* min

Definition at line 182 of file tig.h.

Referenced by BBNode::GetBBox(), BRNode::GetBBox(), and BBNode::GetBBox().

◆ dx

void int char int int double double* dx

Definition at line 183 of file tig.h.

◆ string

void char * string

Definition at line 191 of file tig.h.

◆ xp

void int* xp

Definition at line 208 of file tig.h.

◆ yp

void int int* yp

Definition at line 209 of file tig.h.

◆ xl

void int int int* xl

Definition at line 210 of file tig.h.

◆ yl

void int int int int* yl

Definition at line 211 of file tig.h.

◆ xtitle

void int int int int char* xtitle

Definition at line 212 of file tig.h.

◆ ytitle

void int int int int char char* ytitle

Definition at line 213 of file tig.h.

◆ ccw

Definition at line 265 of file tig.h.

◆ ndigits

void char float float float float float int int* ndigits

Definition at line 266 of file tig.h.

◆ label_start

void char float float float float float int int float* label_start

Definition at line 267 of file tig.h.

◆ label_incr

void char float float float float float int int float float* label_incr

Definition at line 268 of file tig.h.

◆ tick_separation

void char float float float float float int int float float float* tick_separation

Definition at line 269 of file tig.h.

◆ char_width

Definition at line 270 of file tig.h.

◆ fx

void float* fx

Definition at line 282 of file tig.h.

◆ fy

Definition at line 283 of file tig.h.

◆ fz

Definition at line 284 of file tig.h.

◆ tx

Definition at line 285 of file tig.h.

◆ ty

Definition at line 286 of file tig.h.

◆ tz

Definition at line 287 of file tig.h.

◆ fl

Definition at line 288 of file tig.h.

◆ tl

Definition at line 289 of file tig.h.