Leaked source code of windows server 2003
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.

57 lines
1.8 KiB

  1. #ifndef __gluarctess_h_
  2. #define __gluarctess_h_
  3. /**************************************************************************
  4. * *
  5. * Copyright (C) 1992, Silicon Graphics, Inc. *
  6. * *
  7. * These coded instructions, statements, and computer programs contain *
  8. * unpublished proprietary information of Silicon Graphics, Inc., and *
  9. * are protected by Federal copyright law. They may not be disclosed *
  10. * to third parties or copied or duplicated in any form, in whole or *
  11. * in part, without the prior written consent of Silicon Graphics, Inc. *
  12. * *
  13. **************************************************************************/
  14. /*
  15. * arctess.h - $Revision: 1.1 $
  16. */
  17. #include "defines.h"
  18. #include "types.h"
  19. #include "arc.h"
  20. class BezierArc;
  21. class Pool;
  22. class TrimVertexPool;
  23. class ArcTessellator {
  24. public:
  25. ArcTessellator( TrimVertexPool&, Pool& );
  26. ~ArcTessellator( void );
  27. void bezier( Arc *, REAL, REAL, REAL, REAL );
  28. void pwl( Arc *, REAL, REAL, REAL, REAL, REAL );
  29. void pwl_left( Arc *, REAL, REAL, REAL, REAL );
  30. void pwl_right( Arc *, REAL, REAL, REAL, REAL );
  31. void pwl_top( Arc *, REAL, REAL, REAL, REAL );
  32. void pwl_bottom( Arc *, REAL, REAL, REAL, REAL );
  33. void tessellateLinear( Arc *, REAL, REAL, int );
  34. void tessellateNonlinear( Arc *, REAL, REAL, int );
  35. private:
  36. //mf
  37. #ifdef NT
  38. static REAL gl_Bernstein[][MAXORDER][MAXORDER];
  39. #else
  40. static const REAL gl_Bernstein[][MAXORDER][MAXORDER];
  41. #endif
  42. Pool& pwlarcpool;
  43. TrimVertexPool& trimvertexpool;
  44. #ifdef NT
  45. static void trim_power_coeffs( BezierArc *, REAL *, int );
  46. #else
  47. static void trim_power_coeffs( BezierArc *, REAL[MAXORDER], int );
  48. #endif
  49. };
  50. #endif /* __gluarctess_h_ */