Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.8 KiB

  1. /**************************************************************************
  2. * *
  3. * Copyright (C) 1989, Silicon Graphics, Inc. *
  4. * *
  5. * These coded instructions, statements, and computer programs contain *
  6. * unpublished proprietary information of Silicon Graphics, Inc., and *
  7. * are protected by Federal copyright law. They may not be disclosed *
  8. * to third parties or copied or duplicated in any form, in whole or *
  9. * in part, without the prior written consent of Silicon Graphics, Inc. *
  10. * *
  11. **************************************************************************/
  12. #ifndef TRIANGULATE_H
  13. #define TRIANGULATE_H
  14. #include <setjmp.h>
  15. /* triangulate.h */
  16. enum updown {none, up, down};
  17. struct GLUtriangulatorObj {
  18. short minit;
  19. short in_poly;
  20. int doingTriangles;
  21. struct Pool *vpool;
  22. long s;
  23. long t;
  24. float maxarea;
  25. enum updown *dirs;
  26. void **ptrlist;
  27. jmp_buf in_env;
  28. GLenum looptype;
  29. short init;
  30. long nloops;
  31. long size;
  32. long *limits;
  33. long limitcount;
  34. long newlimitcount;
  35. long phead;
  36. long ptail;
  37. long psize;
  38. long vcount;
  39. long lastedge;
  40. long vdatalast;
  41. long vdatatop;
  42. struct Vert *head;
  43. struct Vert **parray;
  44. struct Ray *raylist;
  45. struct Pool *raypool;
  46. struct Vert **vdata;
  47. struct Vert *vtop;
  48. struct Vert *vbottom;
  49. struct Vert *vlast;
  50. struct Vert *saved[2];
  51. short saveCount;
  52. short reverse;
  53. int tritype;
  54. GLboolean currentEdgeFlag;
  55. GLUtessBeginProc begin;
  56. GLUtessVertexProc vertex;
  57. GLUtessEndProc end;
  58. GLUtessErrorProc error;
  59. GLUtessEdgeFlagProc edgeflag;
  60. GLboolean inBegin;
  61. };
  62. extern void __gl_in_error(GLUtriangulatorObj *, GLenum);
  63. extern void __gl_cleanup(GLUtriangulatorObj *);
  64. #endif