This is h3D.h in view mode; [Download] [Up]
#ifndef _THREED_H_ /* only include once */
#define _THREED_H_
#include "hippo.h"
#define MAXPSLINES 1200
/*
* Structure defining 3D workarea.
*/
#define maxTicks 20
typedef struct threeD_s
{
float matrix[16];
float cosTheta, sinTheta, cosPhi, sinPhi;
float thetaSave[16], phiSave[16], distSave[16];
int thetaIsSaved, phiIsSaved, distIsSaved;
float cube[3][8], xTicks[3][2 * maxTicks], yTicks[3][2 *
maxTicks], zTicks[3][4 * maxTicks];
int nXTicks, nYTicks, nZTicks;
char xLabels[maxTicks][10], yLabels[maxTicks][10],
zLabels[maxTicks][10];
float boundingBox[4], limits[6];
float maxval[3], minval[3];
int tupleX, tupleY, tupleZ;
int preferredFace;
int reCalculateCube, reCalculateLegoPoints2D,
reCalculateLegoPoints3D, reCalculateFill,
reCalculateScatterPoints;
float *legoPoints[3], *legoResults[3];
int nLegoPoints;
int nScatterPoints;
float *scatterResults;
float *cubeResults[2];
float cubeU[8], cubeV[8];
float *xTickResults[2], *yTickResults[2], *zTickResults[2];
float xTickU[2 * maxTicks], xTickV[2 * maxTicks];
float yTickU[2 * maxTicks], yTickV[2 * maxTicks];
float zTickU[4 * maxTicks], zTickV[4 * maxTicks];
float *cArray;
char *oArray;
char *plotCharBuffer;
struct block {
float *xData;
float *yData;
float maxZ;
float minZ;
int nearCorner;
} *blockBank, **blockPointer;
int numBlocks;
} threeD_t;
/*
* External C Functions
*/
int h3D_init3D(display disp);
void h3D_setNearFace(display disp);
void h3D_setDirty(display disp);
void h3D_resetAngles(display disp);
int h3D_checkAllocLego(display disp);
int h3D_checkAllocScatterResults(display disp, int nCoords);
void h3D_checkBinScale(display disp);
void h3D_checkPointScale(display disp, int nCoords);
void h3D_transformCube(display disp);
void h3D_transformLego(display disp);
void h3D_transformWireFrame(display disp);
void h3D_transformMesh(display disp);
int h3D_myCompare(const struct block ** ptr1, const struct block ** ptr2);
void h3D_render3D(display disp, int n, float *x, float *y, float *z, float **results);
void h3D_render2D(display disp, int n, float *x, float *y, float *z, float **results);
void h3D_renderXYShow(display disp, float *coords);
void h3D_renderXYPS(display disp, float *coords);
void h3D_reScaleMatrix(display disp);
void h3D_newTheta(display disp);
void h3D_newPhi(display disp);
void h3D_newDist(display disp);
#endif /* end of ifndef _THREED_H_ */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.