2025-04-27 07:49:33 -04:00

52 lines
1.8 KiB
C

/*
** Copyright 1992, Silicon Graphics, Inc.
** All Rights Reserved.
**
** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
** the contents of this file may not be disclosed to third parties, copied or
** duplicated in any form, in whole or in part, without the prior written
** permission of Silicon Graphics, Inc.
**
** RESTRICTED RIGHTS LEGEND:
** Use, duplication or disclosure by the Government is subject to restrictions
** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
** rights reserved under the Copyright Laws of the United States.
*/
typedef struct _slopeRec {
float dx, dy;
} slopeRec;
typedef struct _interceptRec {
float b;
float bDx;
} interceptRec;
typedef struct _vertexRec {
float x, y, z;
} vertexRec;
typedef struct _hVertexRec {
vertexRec v;
float hx, hy, hz, hw;
} hVertexRec;
typedef struct _diagEqnRec {
slopeRec slope;
interceptRec intercept;
long (*Inequality)(float, float, slopeRec *, interceptRec *);
} diagEqnRec;
extern void ArrangeComponent(float *, float *, float *, float *);
extern void GetSlope(slopeRec *, vertexRec *, vertexRec *);
extern void GetIntercept(interceptRec *, vertexRec *, slopeRec *);
extern long LessThan(float, float, slopeRec *, interceptRec *);
extern long MoreThan(float, float, slopeRec *, interceptRec *);
extern void SetHVertex(hVertexRec *, float, float, float, float);
extern void MakeDiag(diagEqnRec *, vertexRec *, vertexRec *, vertexRec *);
extern float SideLength(vertexRec *, vertexRec *);
extern float TriangleArea(vertexRec *, vertexRec *, vertexRec *);