This is triangle.h in view mode; [Download] [Up]
/* * triangle.h * * Copyright (C) 1989, 1991, Craig E. Kolb * All rights reserved. * * This software may be freely copied, modified, and redistributed * provided that this copyright notice is preserved on all copies. * * You may not distribute this software, in whole or in part, as part of * any commercial product without the express consent of the authors. * * There is no warranty or other guarantee of fitness of this software * for any purpose. It is provided solely "as is". * * $Id$ * * $Log$ */ #ifndef TRIANGLE_H #define TRIANGLE_H #define FLATTRI 0 #define PHONGTRI 1 #define ObjTriangleCreate(t,a,b,c,d,e,f,g,h,i) ObjCreate( \ (ObjRef)TriangleCreate(t,a,b,c,d,e,f,g,h,i), TriangleMethods()) /* * Triangle */ typedef struct { Vector nrm, /* triangle normal */ p[3], /* vertices */ e[3], /* "edge" vectors (scaled) */ *vnorm, /* Array of vertex normals */ *dpdu, *dpdv; /* U and V direction vectors */ Float d, /* plane constant */ b[3]; /* Array of barycentric coordinates */ Vec2d *uv; /* Array of UV coordinates of vertices */ char index, /* Flag used for shading/intersection test. */ type; /* type (to detect if phong or flat) */ } Triangle; extern Triangle *TriangleCreate(); extern int TriangleIntersect(), TriangleNormal(); extern void TriangleBounds(), TriangleUV(), TriangleStats(); extern Methods *TriangleMethods(); char *TriangleName(); #endif /* TRIANGLE_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.