52 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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 *);
 |