BRL-CAD
Collaboration diagram for Plot/Draw:

Files

file  marker.c
 
file  plot3.c
 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.
 
file  scale.c
 scale geometry points.
 
file  symbol.c
 
file  tplot.c
 
This routine is designed to simplify the creation of

X, Y plots for user.

 
file  vectfont.c
 
file  vector.c
 

Macros

#define putsi(a)   putc(a, plotfp); putc((a>>8), plotfp)
 
#define TIC   100
 
#define REF_WIDTH   0.857143
 
#define NUM_DISTANCE   250
 
#define LAB_LNGTH   860
 

Functions

void tp_setup (void)
 Once-only setup routine Used by libplot3/symbol.c, so it can't be static. DEPRECATED: libplot3 has been merged into libbn, so this no longer needs to be public. More...
 
void pd_3 (register FILE *plotfp, double x, double y, double z, char c)
 
void pdv_3 (register FILE *plotfp, const fastf_t *pt, char c)
 
void pd (register FILE *plotfp, double x, double y, char c)
 
void pl_3 (register FILE *plotfp, int x, int y, int z, char c)
 
int pl_getOutputMode (void)
 
void pl_setOutputMode (int mode)
 
void pl_point (register FILE *plotfp, int x, int y)
 plot a point More...
 
void pl_line (register FILE *plotfp, int px1, int py1, int px2, int py2)
 
void pl_linmod (register FILE *plotfp, const char *s)
 
void pl_move (register FILE *plotfp, int x, int y)
 
void pl_cont (register FILE *plotfp, int x, int y)
 
void pl_label (register FILE *plotfp, const char *s)
 
void pl_space (register FILE *plotfp, int px1, int py1, int px2, int py2)
 
void pl_erase (register FILE *plotfp)
 
void pl_circle (register FILE *plotfp, int x, int y, int r)
 
void pl_arc (register FILE *plotfp, int xc, int yc, int px1, int py1, int px2, int py2)
 
void pl_box (register FILE *plotfp, int px1, int py1, int px2, int py2)
 
void pl_color (register FILE *plotfp, int r, int g, int b)
 
void pl_flush (register FILE *plotfp)
 
void pl_3space (register FILE *plotfp, int px1, int py1, int pz1, int px2, int py2, int pz2)
 
void pl_3point (register FILE *plotfp, int x, int y, int z)
 
void pl_3move (register FILE *plotfp, int x, int y, int z)
 
void pl_3cont (register FILE *plotfp, int x, int y, int z)
 
void pl_3line (register FILE *plotfp, int px1, int py1, int pz1, int px2, int py2, int pz2)
 
void pl_3box (register FILE *plotfp, int px1, int py1, int pz1, int px2, int py2, int pz2)
 
void pd_point (register FILE *plotfp, double x, double y)
 
void pd_line (register FILE *plotfp, double px1, double py1, double px2, double py2)
 
void pd_move (register FILE *plotfp, double x, double y)
 
void pd_cont (register FILE *plotfp, double x, double y)
 
void pd_space (register FILE *plotfp, double px1, double py1, double px2, double py2)
 
void pd_circle (register FILE *plotfp, double x, double y, double r)
 
void pd_arc (register FILE *plotfp, double xc, double yc, double px1, double py1, double px2, double py2)
 
void pd_box (register FILE *plotfp, double px1, double py1, double px2, double py2)
 
void pdv_3space (register FILE *plotfp, const fastf_t *min, const fastf_t *max)
 
void pd_3space (register FILE *plotfp, double px1, double py1, double pz1, double px2, double py2, double pz2)
 
void pdv_3point (register FILE *plotfp, const fastf_t *pt)
 
void pd_3point (register FILE *plotfp, double x, double y, double z)
 
void pdv_3move (register FILE *plotfp, const fastf_t *pt)
 
void pd_3move (register FILE *plotfp, double x, double y, double z)
 
void pdv_3cont (register FILE *plotfp, const fastf_t *pt)
 
void pd_3cont (register FILE *plotfp, double x, double y, double z)
 
void pdv_3line (register FILE *plotfp, const fastf_t *a, const fastf_t *b)
 
void pd_3line (register FILE *plotfp, double px1, double py1, double pz1, double px2, double py2, double pz2)
 
void pdv_3box (register FILE *plotfp, const fastf_t *a, const fastf_t *b)
 
void pd_3box (register FILE *plotfp, double px1, double py1, double pz1, double px2, double py2, double pz2)
 
void pdv_3ray (FILE *fp, const fastf_t *pt, const fastf_t *dir, double t)
 
void tp_scale (int *idata, int elements, register int mode, int length, int *odata, double *min, double *dx)
 
 This routine is intended to take an array of

data points as input (either integer, floating, or double), and scale it to fit in a space of LENGTH units. More...

 
void PL_FORTRAN (fscale, FSCALE)
 
void tp_3symbol (FILE *fp, char *string, fastf_t *origin, fastf_t *rot, double scale)
 
void tp_2symbol (FILE *fp, char *string, double x, double y, double scale, double theta)
 
void PL_FORTRAN (f2symb, F2SYMB)
 
void tp_sep (float x, float *coef, int *ex)
 tp_sep() divides a floating point number into a coefficient and an exponent. Works in base ten. More...
 
double tp_ipow (double x, int n)
 tp_ipow() raises a floating point number to a positive integer power. XXX Horribly inefficient! More...
 
void tp_fixsc (float *x, int npts, float size, float *xs, float *xmin, float *xmax, float *dx)
 
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 tp_ftoa (float x, char *s)
 This routine converts a floating point number into a string of ascii characters of the form "sX.XXXesXX". The string is null terminated. More...
 
void PL_FORTRAN (fplot, FPLOT)
 
void tp_3vector (FILE *plotfp, fastf_t *from, fastf_t *to, double fromheadfract, double toheadfract)
 Draw a vector between points "from" and "to", with the option of having an arrowhead on either or both ends. More...
 
void PL_FORTRAN (f3vect, F3VECT)
 

Detailed Description

Macro Definition Documentation

#define putsi (   a)    putc(a, plotfp); putc((a>>8), plotfp)

Definition at line 79 of file plot3.c.

Referenced by pl_3(), pl_3line(), pl_3space(), pl_arc(), pl_circle(), pl_cont(), pl_line(), pl_move(), pl_point(), and pl_space().

#define TIC   100

Definition at line 60 of file tplot.c.

Referenced by tp_plot().

#define REF_WIDTH   0.857143

Definition at line 61 of file tplot.c.

#define NUM_DISTANCE   250

Definition at line 62 of file tplot.c.

Referenced by tp_plot().

#define LAB_LNGTH   860

Definition at line 63 of file tplot.c.

Referenced by tp_plot().

Function Documentation

void tp_setup ( void  )

Once-only setup routine Used by libplot3/symbol.c, so it can't be static. DEPRECATED: libplot3 has been merged into libbn, so this no longer needs to be public.

Terminal Independent Graphics Display Package. Mike Muuss July 31, 1978

This routine is used to plot a string of ASCII symbols on the plot being generated, using a built-in set of fonts drawn as vector lists.

Internally, the basic font resides in a 10x10 unit square.

Externally, each character can be thought to occupy one square plotting unit; the 'scale' parameter allows this to be changed as desired, although scale factors less than 10.0 are unlikely to be legible.

The vector font table here was provided courtesy of Dr. Bruce Henrikson and Dr. Stephen Wolff, US Army Ballistic Research Laboratory, Summer of 1978. They had developed it for their remote Houston Instruments pen plotter package for the GE Tymeshare system.

Definition at line 1083 of file vectfont.c.

References NUM_SYMBOLS.

Referenced by tp_getchar().

void pd_3 ( register FILE *  plotfp,
double  x,
double  y,
double  z,
char  c 
)

Definition at line 83 of file plot3.c.

References bu_cv_htond(), and out.

Referenced by pd_3cont(), pd_3move(), and pd_3point().

Here is the call graph for this function:

void pdv_3 ( register FILE *  plotfp,
const fastf_t pt,
char  c 
)

Definition at line 107 of file plot3.c.

References bu_cv_htond(), out, and V3ARGS.

Referenced by pdv_3cont(), pdv_3move(), and pdv_3point().

Here is the call graph for this function:

void pd ( register FILE *  plotfp,
double  x,
double  y,
char  c 
)

Definition at line 127 of file plot3.c.

References bu_cv_htond(), and out.

Referenced by bu_sort(), bu_vls_vprintf(), pd_cont(), pd_move(), and pd_point().

Here is the call graph for this function:

void pl_3 ( register FILE *  plotfp,
int  x,
int  y,
int  z,
char  c 
)

Definition at line 150 of file plot3.c.

References putsi.

Referenced by pl_3cont(), pl_3move(), and pl_3point().

int pl_getOutputMode ( void  )

Definition at line 167 of file plot3.c.

void pl_setOutputMode ( int  mode)

Definition at line 172 of file plot3.c.

Referenced by test_tp_2list(), test_tp_2mlist(), test_tp_3list(), and test_tp_i2list().

void pl_point ( register FILE *  plotfp,
int  x,
int  y 
)

plot a point

Definition at line 181 of file plot3.c.

References putsi.

void pl_line ( register FILE *  plotfp,
int  px1,
int  py1,
int  px2,
int  py2 
)

Definition at line 193 of file plot3.c.

References putsi.

Referenced by dl_plot(), plot_drawVList(), and tp_plot().

void pl_linmod ( register FILE *  plotfp,
const char *  s 
)

Definition at line 207 of file plot3.c.

Referenced by dl_plot(), and plot_setLineAttr().

void pl_move ( register FILE *  plotfp,
int  x,
int  y 
)

Definition at line 220 of file plot3.c.

References putsi.

Referenced by pl_box(), plot_drawLine2D(), plot_drawString2D(), tp_i2list(), and tp_plot().

void pl_cont ( register FILE *  plotfp,
int  x,
int  y 
)

Definition at line 232 of file plot3.c.

References putsi.

Referenced by pl_box(), plot_drawLine2D(), tp_i2list(), and tp_plot().

void pl_label ( register FILE *  plotfp,
const char *  s 
)

Definition at line 244 of file plot3.c.

Referenced by nmg_pl_v(), plot_drawString2D(), and plot_neighborhood().

void pl_space ( register FILE *  plotfp,
int  px1,
int  py1,
int  px2,
int  py2 
)

Definition at line 257 of file plot3.c.

References putsi.

Referenced by dl_plot(), and plot_open().

void pl_erase ( register FILE *  plotfp)

Definition at line 271 of file plot3.c.

Referenced by dl_plot(), nmg_rt_isect_plfu(), pleu(), and plot_drawEnd().

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

Definition at line 280 of file plot3.c.

References putsi.

void pl_arc ( register FILE *  plotfp,
int  xc,
int  yc,
int  px1,
int  py1,
int  px2,
int  py2 
)

Definition at line 293 of file plot3.c.

References putsi.

void pl_box ( register FILE *  plotfp,
int  px1,
int  py1,
int  px2,
int  py2 
)

Definition at line 309 of file plot3.c.

References pl_cont(), and pl_move().

Here is the call graph for this function:

void pl_flush ( register FILE *  plotfp)

Definition at line 338 of file plot3.c.

Referenced by plot_drawEnd().

void pl_3space ( register FILE *  plotfp,
int  px1,
int  py1,
int  pz1,
int  px2,
int  py2,
int  pz2 
)

Definition at line 350 of file plot3.c.

References putsi.

Referenced by dl_plot(), and plot_open().

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

Definition at line 366 of file plot3.c.

References pl_3().

Here is the call graph for this function:

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

Definition at line 372 of file plot3.c.

References pl_3().

Referenced by pl_3box().

Here is the call graph for this function:

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

Definition at line 378 of file plot3.c.

References pl_3().

Referenced by pl_3box().

Here is the call graph for this function:

void pl_3line ( register FILE *  plotfp,
int  px1,
int  py1,
int  pz1,
int  px2,
int  py2,
int  pz2 
)

Definition at line 384 of file plot3.c.

References putsi.

Referenced by dl_plot(), and plot_drawVList().

void pl_3box ( register FILE *  plotfp,
int  px1,
int  py1,
int  pz1,
int  px2,
int  py2,
int  pz2 
)

Definition at line 400 of file plot3.c.

References pl_3cont(), and pl_3move().

Here is the call graph for this function:

void pd_point ( register FILE *  plotfp,
double  x,
double  y 
)

Definition at line 431 of file plot3.c.

References pd().

Here is the call graph for this function:

void pd_line ( register FILE *  plotfp,
double  px1,
double  py1,
double  px2,
double  py2 
)

Definition at line 437 of file plot3.c.

References bu_cv_htond(), and out.

Here is the call graph for this function:

void pd_move ( register FILE *  plotfp,
double  x,
double  y 
)

Definition at line 463 of file plot3.c.

References pd().

Referenced by pd_box(), PL_FORTRAN(), and tp_2list().

Here is the call graph for this function:

void pd_cont ( register FILE *  plotfp,
double  x,
double  y 
)

Definition at line 469 of file plot3.c.

References pd().

Referenced by pd_box(), PL_FORTRAN(), and tp_2list().

Here is the call graph for this function:

void pd_space ( register FILE *  plotfp,
double  px1,
double  py1,
double  px2,
double  py2 
)

Definition at line 475 of file plot3.c.

References bu_cv_htond(), and out.

Here is the call graph for this function:

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

Definition at line 499 of file plot3.c.

References bu_cv_htond(), and out.

Here is the call graph for this function:

void pd_arc ( register FILE *  plotfp,
double  xc,
double  yc,
double  px1,
double  py1,
double  px2,
double  py2 
)

Definition at line 522 of file plot3.c.

References bu_cv_htond(), and out.

Here is the call graph for this function:

void pd_box ( register FILE *  plotfp,
double  px1,
double  py1,
double  px2,
double  py2 
)

Definition at line 548 of file plot3.c.

References pd_cont(), and pd_move().

Here is the call graph for this function:

void pdv_3space ( register FILE *  plotfp,
const fastf_t min,
const fastf_t max 
)

Definition at line 560 of file plot3.c.

References bu_cv_htond(), out, and V3ARGS.

Referenced by brep_plot_file(), rt_cut_it(), rt_plot_all_bboxes(), rt_plot_all_solids(), and rt_plot_cell().

Here is the call graph for this function:

void pd_3space ( register FILE *  plotfp,
double  px1,
double  py1,
double  pz1,
double  px2,
double  py2,
double  pz2 
)

Definition at line 580 of file plot3.c.

References bu_cv_htond(), and out.

Referenced by dl_plot(), nmg_rt_isect_plfu(), and pleu().

Here is the call graph for this function:

void pdv_3point ( register FILE *  plotfp,
const fastf_t pt 
)

Definition at line 606 of file plot3.c.

References pdv_3().

Referenced by nmg_pl_v().

Here is the call graph for this function:

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

Definition at line 612 of file plot3.c.

References pd_3().

Here is the call graph for this function:

void pdv_3move ( register FILE *  plotfp,
const fastf_t pt 
)

Definition at line 618 of file plot3.c.

References pdv_3().

Referenced by isect_ray_dsp_bb(), isect_ray_triangle(), nmg_pl_hitmiss_list(), nmg_pl_v(), pdv_3ray(), plot_cell_top(), plot_chull(), plot_face(), plot_neighborhood(), plot_obr(), prj_render(), project_point(), rt_3move_raydist(), rt_nurb_plot_cnurb(), rt_nurb_plot_snurb(), rt_vlist_to_uplot(), tp_3axis(), tp_3symbol(), and tp_3vector().

Here is the call graph for this function:

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

Definition at line 624 of file plot3.c.

References pd_3().

Referenced by main(), pd_3box(), pdv_3box(), PL_FORTRAN(), plot_rpp(), and tp_3list().

Here is the call graph for this function:

void pdv_3cont ( register FILE *  plotfp,
const fastf_t pt 
)

Definition at line 630 of file plot3.c.

References pdv_3().

Referenced by isect_ray_dsp_bb(), isect_ray_triangle(), nmg_isect_line2_face2pNEW(), nmg_pl_hitmiss_list(), pdv_3ray(), plot_cell_top(), plot_chull(), plot_face(), plot_neighborhood(), plot_obr(), prj_render(), project_point(), rt_3cont_raydist(), rt_nurb_plot_cnurb(), rt_nurb_plot_snurb(), rt_vlist_to_uplot(), tp_3axis(), tp_3symbol(), and tp_3vector().

Here is the call graph for this function:

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

Definition at line 636 of file plot3.c.

References pd_3().

Referenced by main(), pd_3box(), pdv_3box(), PL_FORTRAN(), plot_rpp(), and tp_3list().

Here is the call graph for this function:

void pdv_3line ( register FILE *  plotfp,
const fastf_t a,
const fastf_t b 
)

Definition at line 642 of file plot3.c.

References bu_cv_htond(), out, and V3ARGS.

Referenced by background_light(), compute_normal_at_gridpoint(), exposed_air(), hit(), isect_ray_triangle(), main(), nmg_face_lu_plot(), nmg_pl_e(), nmg_pl_eu(), nmg_plot_fu(), nmg_plot_lu_ray(), nmg_plot_open_edges(), nmg_plot_ray_face(), nmg_rt_isect_plfu(), overlap(), pl_ray(), pleu(), plot_neighborhood(), plot_seg(), rr_render(), rt_dsp_norm(), shade_inputs(), toyota_render(), and tp_3vector().

Here is the call graph for this function:

void pd_3line ( register FILE *  plotfp,
double  px1,
double  py1,
double  pz1,
double  px2,
double  py2,
double  pz2 
)

Definition at line 662 of file plot3.c.

References bu_cv_htond(), and out.

Referenced by rt_plot_cut().

Here is the call graph for this function:

void pdv_3box ( register FILE *  plotfp,
const fastf_t a,
const fastf_t b 
)

Definition at line 688 of file plot3.c.

References pd_3cont(), pd_3move(), X, Y, and Z.

Referenced by rt_plot_all_bboxes(), rt_plot_cell(), and rt_plot_cut().

Here is the call graph for this function:

void pd_3box ( register FILE *  plotfp,
double  px1,
double  py1,
double  pz1,
double  px2,
double  py2,
double  pz2 
)

Definition at line 715 of file plot3.c.

References pd_3cont(), and pd_3move().

Here is the call graph for this function:

void pdv_3ray ( FILE *  fp,
const fastf_t pt,
const fastf_t dir,
double  t 
)

Draw a ray

Definition at line 745 of file plot3.c.

References pdv_3cont(), and pdv_3move().

Referenced by nmg_isect_line2_face2pNEW().

Here is the call graph for this function:

void tp_scale ( int *  idata,
int  elements,
register int  mode,
int  length,
int *  odata,
double *  min,
double *  dx 
)

 This routine is intended to take an array of

data points as input (either integer, floating, or double), and scale it to fit in a space of LENGTH units.

An output array is returned which contains the scaled information stored in 16-bit integers. The input and output arrays may overlap, as the input will never occupy more space than the output. Also output are the minimum value encountered (MIN), and a delta factor showing the increase in value each XXXX. This DX factor is rounded to 1, 2, 4, 5, 8, or 10 to produce nicer looking axes.

 @param[in] idata   This pointer contains the address
                    of the input array to be scaled.
                    Actual type of array is determined
                    by MODE parameter.

 @param[in] elements        Number of elements in IDATA to be used.

 @param[in] mode            Specifies type of data that IDATA points
                    to;  should be one of:
                            'd' - double precision
                            'f' - float (single precision)
                            'i' - integer

 @param[in] length          Contains the length (in 1/1000ths of an
                    inch) of the region in which the data is
                    to be scaled into.  Note that the actual
                    amount of space needed may be this value
                    rounded up to the next inch.

 @param[out] odata  This pointer contains the address of the
                    output array, which will always be of
                    integer type.

 @param[out] min            This pointer contains the address of the
                    location for minimum point found to be
                    placed in.

 @param dx          This pointer addresses the delta value
                    of the data which corresponds to the width
                    of EACH tick.
                    This implies that:
                     -#     This is exactly the number to divide
                            raw data by to scale it to this scale
                            (ex:  2 graphs with one scale factor)
                     -#     When this value is fed to the AXIS
                            routine, it must be multiplied
                            by 1000.0 first (to specify increment
                            between one INCH ticks).

The fact that this routine returns variables of type DOUBLE has important implications for FORTRAN users. These variables must be declared of type DOUBLE PRECISION to reserve enough space.

Definition at line 98 of file scale.c.

Referenced by PL_FORTRAN().

void PL_FORTRAN ( fscale  ,
FSCALE   
)

Definition at line 196 of file scale.c.

References tp_scale().

Here is the call graph for this function:

void tp_3symbol ( FILE *  fp,
char *  string,
fastf_t origin,
fastf_t rot,
double  scale 
)

Definition at line 51 of file symbol.c.

References bn_mat_mul(), pdv_3cont(), pdv_3move(), tp_getchar(), and VSET.

Referenced by tp_2symbol(), tp_3axis(), and tp_3marker().

Here is the call graph for this function:

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

Definition at line 123 of file symbol.c.

References bn_mat_angles(), tp_3symbol(), and VSET.

Referenced by PL_FORTRAN(), tp_2marker(), and tp_plot().

Here is the call graph for this function:

void PL_FORTRAN ( f2symb  ,
F2SYMB   
)

Definition at line 143 of file symbol.c.

References bu_strlcpy, and tp_2symbol().

Here is the call graph for this function:

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

tp_sep() divides a floating point number into a coefficient and an exponent. Works in base ten.

Definition at line 72 of file tplot.c.

Referenced by tp_fixsc(), and tp_ftoa().

double tp_ipow ( double  x,
int  n 
)

tp_ipow() raises a floating point number to a positive integer power. XXX Horribly inefficient!

Definition at line 123 of file tplot.c.

Referenced by tp_fixsc().

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

tp_fixsc is a scaling routine intended to be used in conjunction with plotting routines. What tp_fixsc does is scale the user supplied data so that it fits on a specified axis and has 'nice' numbers for labels.

Calling sequence

tp_fixsc(x, npts, size, xs, xmin, xmax, dx) where

Parameters
x[]the data array to be scaled
nptsthe number of elements in x[]
sizethe length into which x[] is supposed to be fitted (in inches)
xsthe returned scale factor to integer space
xminthe new minimum value for the data array (a returned value)
xmaxthe new maximum value for the data array (a returned value)
dxthe value in data units between tic marks (a returned value)

Definition at line 154 of file tplot.c.

References delta, tp_ipow(), and tp_sep().

Referenced by tp_plot().

Here is the call graph for this function:

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 
)
Parameters
fpfile pointer
xtitletitle for the x axis
ytitletitle for the y axis
xpis the x page point desired to be (0, 0) for plot
ypis the y page point desired to be (0, 0) for plot
xlis the length of the x axis
ylis the length of the y axis
nis the number of points
cscaleis the character scale factor
xthe x data
ythe y data

Definition at line 224 of file tplot.c.

References LAB_LNGTH, NUM_DISTANCE, pl_cont(), pl_line(), pl_move(), TIC, tp_2symbol(), tp_fixsc(), and tp_i2list().

Referenced by PL_FORTRAN().

Here is the call graph for this function:

void tp_ftoa ( float  x,
char *  s 
)

This routine converts a floating point number into a string of ascii characters of the form "sX.XXXesXX". The string is null terminated.

Definition at line 353 of file tplot.c.

References tp_sep().

Here is the call graph for this function:

void PL_FORTRAN ( fplot  ,
FPLOT   
)

FORTRAN Interface Entry

Definition at line 432 of file tplot.c.

References tp_plot().

Here is the call graph for this function:

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

Draw a vector between points "from" and "to", with the option of having an arrowhead on either or both ends.

The fromheadfract and toheadfract values indicate the length of the arrowheads relative to the length of the vector to-from. A typical value is 0.1, making the head 10% of the size of the vector. The sign of the "fract" values indicates the pointing direction. Positive points towards the "to" point, negative points towards "from". Upon return, the virtual pen is left at the "to" position.

Definition at line 47 of file vector.c.

References bn_vec_ortho(), pdv_3cont(), pdv_3line(), pdv_3move(), SMALL, and ZERO.

Referenced by PL_FORTRAN().

Here is the call graph for this function:

void PL_FORTRAN ( f3vect  ,
F3VECT   
)

Definition at line 99 of file vector.c.

References tp_3vector(), and VSET.

Here is the call graph for this function: