windows-nt/Source/XPSP1/NT/multimedia/opengl/glu/libtri/triangul.h

73 lines
1.8 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/**************************************************************************
* *
* Copyright (C) 1989, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
#ifndef TRIANGULATE_H
#define TRIANGULATE_H
#include <setjmp.h>
/* triangulate.h */
enum updown {none, up, down};
struct GLUtriangulatorObj {
short minit;
short in_poly;
int doingTriangles;
struct Pool *vpool;
long s;
long t;
float maxarea;
enum updown *dirs;
void **ptrlist;
jmp_buf in_env;
GLenum looptype;
short init;
long nloops;
long size;
long *limits;
long limitcount;
long newlimitcount;
long phead;
long ptail;
long psize;
long vcount;
long lastedge;
long vdatalast;
long vdatatop;
struct Vert *head;
struct Vert **parray;
struct Ray *raylist;
struct Pool *raypool;
struct Vert **vdata;
struct Vert *vtop;
struct Vert *vbottom;
struct Vert *vlast;
struct Vert *saved[2];
short saveCount;
short reverse;
int tritype;
GLboolean currentEdgeFlag;
GLUtessBeginProc begin;
GLUtessVertexProc vertex;
GLUtessEndProc end;
GLUtessErrorProc error;
GLUtessEdgeFlagProc edgeflag;
GLboolean inBegin;
};
extern void __gl_in_error(GLUtriangulatorObj *, GLenum);
extern void __gl_cleanup(GLUtriangulatorObj *);
#endif