home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d2xx
/
d222
/
plplot.lha
/
Plplot
/
src
/
source.zoo
/
plbox3.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-05-15
|
4KB
|
113 lines
/* Draws axes and axis labels for 3-d plots */
#include "plplot.h"
void plbox3(xopt,xlabel,xtick,nsubx,yopt,ylabel,ytick,nsuby,
zopt,zlabel,ztick,nsubz)
char *xopt, *xlabel, *yopt, *ylabel, *zopt, *zlabel;
int nsubx, nsuby, nsubz;
float xtick, ytick, ztick;
{
float dx,dy,tx,ty,ux,uy;
float xmin,xmax,ymin,ymax,zmin,zmax,zscale;
float cxx,cxy,cyx,cyy,cyz;
int ln;
int level;
glev(&level);
if (level < 3) fatal("Please set up window before calling PLBOX3");
gw3wc(&cxx,&cxy,&cyx,&cyy,&cyz);
gdom(&xmin,&xmax,&ymin,&ymax);
grange(&zscale,&zmin,&zmax);
if (cxx >= 0.0 && cxy <= 0.0) {
ln=strpos(xopt,'N') != -1 || strpos(xopt,'n') != -1;
tx=w3wcx(xmin,ymin,zmin);
ty=w3wcy(xmin,ymin,zmin);
ux=w3wcx(xmax,ymin,zmin);
uy=w3wcy(xmax,ymin,zmin);
plxybx(xopt,xlabel,tx,ty,ux,uy,xmin,xmax,xtick,nsubx,0);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,1,dx,dy,ux,uy,
w3wcy(xmax,ymin,zmax),zmin,zmax,ztick,nsubz);
tx=w3wcx(xmin,ymax,zmin);
ty=w3wcy(xmin,ymax,zmin);
ux=w3wcx(xmin,ymin,zmin);
uy=w3wcy(xmin,ymin,zmin);
plxybx(yopt,ylabel,tx,ty,ux,uy,ymax,ymin,ytick,nsuby,ln);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,0,dx,dy,tx,ty,
w3wcy(xmin,ymax,zmax),zmin,zmax,ztick,nsubz);
}
else if (cxx <= 0.0 && cxy <= 0.0) {
ln=strpos(yopt,'N') != -1 || strpos(yopt,'n') != -1;
tx=w3wcx(xmin,ymax,zmin);
ty=w3wcy(xmin,ymax,zmin);
ux=w3wcx(xmin,ymin,zmin);
uy=w3wcy(xmin,ymin,zmin);
plxybx(yopt,ylabel,tx,ty,ux,uy,ymax,ymin,ytick,nsuby,0);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,1,dx,dy,ux,uy,
w3wcy(xmin,ymin,zmax),zmin,zmax,ztick,nsubz);
tx=w3wcx(xmax,ymax,zmin);
ty=w3wcy(xmax,ymax,zmin);
ux=w3wcx(xmin,ymax,zmin);
uy=w3wcy(xmin,ymax,zmin);
plxybx(xopt,xlabel,tx,ty,ux,uy,xmax,xmin,xtick,nsubx,ln);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,0,dx,dy,tx,ty,
w3wcy(xmax,ymax,zmax),zmin,zmax,ztick,nsubz);
}
else if (cxx <= 0.0 && cxy >= 0.0) {
ln=strpos(xopt,'N') != -1 || strpos(xopt,'n') != -1;
tx=w3wcx(xmax,ymax,zmin);
ty=w3wcy(xmax,ymax,zmin);
ux=w3wcx(xmin,ymax,zmin);
uy=w3wcy(xmin,ymax,zmin);
plxybx(xopt,xlabel,tx,ty,ux,uy,xmax,xmin,xtick,nsubx,0);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,1,dx,dy,ux,uy,
w3wcy(xmin,ymax,zmax),zmin,zmax,ztick,nsubz);
tx=w3wcx(xmax,ymin,zmin);
ty=w3wcy(xmax,ymin,zmin);
ux=w3wcx(xmax,ymax,zmin);
uy=w3wcy(xmax,ymax,zmin);
plxybx(yopt,ylabel,tx,ty,ux,uy,ymin,ymax,ytick,nsuby,ln);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,0,dx,dy,tx,ty,
w3wcy(xmax,ymin,zmax),zmin,zmax,ztick,nsubz);
}
else if (cxx >= 0.0 && cxy >= 0.0) {
ln=strpos(yopt,'N') != -1 || strpos(yopt,'n') != -1;
tx=w3wcx(xmax,ymin,zmin);
ty=w3wcy(xmax,ymin,zmin);
ux=w3wcx(xmax,ymax,zmin);
uy=w3wcy(xmax,ymax,zmin);
plxybx(yopt,ylabel,tx,ty,ux,uy,ymin,ymax,ytick,nsuby,0);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,1,dx,dy,ux,uy,
w3wcy(xmax,ymax,zmax),zmin,zmax,ztick,nsubz);
tx=w3wcx(xmin,ymin,zmin);
ty=w3wcy(xmin,ymin,zmin);
ux=w3wcx(xmax,ymin,zmin);
uy=w3wcy(xmax,ymin,zmin);
plxybx(xopt,xlabel,tx,ty,ux,uy,xmin,xmax,xtick,nsubx,ln);
dx = ux - tx;
dy = uy - ty;
plzbx(zopt,zlabel,0,dx,dy,tx,ty,
w3wcy(xmin,ymin,zmax),zmin,zmax,ztick,nsubz);
}
}