Clone of mesa.
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.

curve.h 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. ** License Applicability. Except to the extent portions of this file are
  3. ** made subject to an alternative license as permitted in the SGI Free
  4. ** Software License B, Version 1.1 (the "License"), the contents of this
  5. ** file are subject only to the provisions of the License. You may not use
  6. ** this file except in compliance with the License. You may obtain a copy
  7. ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
  8. ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
  9. **
  10. ** http://oss.sgi.com/projects/FreeB
  11. **
  12. ** Note that, as provided in the License, the Software is distributed on an
  13. ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
  14. ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
  15. ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
  16. ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
  17. **
  18. ** Original Code. The Original Code is: OpenGL Sample Implementation,
  19. ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
  20. ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
  21. ** Copyright in any portions created by third parties is as indicated
  22. ** elsewhere herein. All Rights Reserved.
  23. **
  24. ** Additional Notice Provisions: The application programming interfaces
  25. ** established by SGI in conjunction with the Original Code are The
  26. ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
  27. ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
  28. ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
  29. ** Window System(R) (Version 1.3), released October 19, 1998. This software
  30. ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
  31. ** published by SGI, but has not been independently verified as being
  32. ** compliant with the OpenGL(R) version 1.2.1 Specification.
  33. */
  34. /*
  35. * curve.h
  36. *
  37. * $Date: 2001/03/17 00:25:40 $ $Revision: 1.1 $
  38. * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libnurbs/internals/curve.h,v 1.1 2001/03/17 00:25:40 brianp Exp $
  39. */
  40. #ifndef __glucurve_h_
  41. #define __glucurve_h_
  42. #include "types.h"
  43. #include "defines.h"
  44. class Mapdesc;
  45. class Quilt;
  46. class Curve {
  47. public:
  48. friend class Curvelist;
  49. Curve( Quilt *, REAL, REAL, Curve * );
  50. Curve( Curve&, REAL, Curve * );
  51. Curve * next;
  52. private:
  53. Mapdesc * mapdesc;
  54. int stride;
  55. int order;
  56. int cullval;
  57. int needsSampling;
  58. REAL cpts[MAXORDER*MAXCOORDS];
  59. REAL spts[MAXORDER*MAXCOORDS];
  60. REAL stepsize;
  61. REAL minstepsize;
  62. REAL range[3];
  63. void clamp( void );
  64. void setstepsize( REAL );
  65. void getstepsize( void );
  66. int cullCheck( void );
  67. int needsSamplingSubdivision( void );
  68. };
  69. #endif /* __glucurve_h_ */