BRL-CAD
plot3.c File Reference

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. More...

#include "common.h"
#include <stdio.h>
#include "bu/cv.h"
#include "vmath.h"
#include "plot3.h"
Include dependency graph for plot3.c:

Go to the source code of this file.

Macros

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

Functions

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)
 

Detailed Description

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
circle c i
arc a r
linmod f
erase e
color C
flush F
bd gh jk uyz
ABDEGHIJKRTUYZ

Definition in file plot3.c.