ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

quilt.h
Go to the documentation of this file.
00001 /*
00002 ** License Applicability. Except to the extent portions of this file are
00003 ** made subject to an alternative license as permitted in the SGI Free
00004 ** Software License B, Version 1.1 (the "License"), the contents of this
00005 ** file are subject only to the provisions of the License. You may not use
00006 ** this file except in compliance with the License. You may obtain a copy
00007 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
00008 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
00009 **
00010 ** http://oss.sgi.com/projects/FreeB
00011 **
00012 ** Note that, as provided in the License, the Software is distributed on an
00013 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
00014 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
00015 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
00016 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
00017 **
00018 ** Original Code. The Original Code is: OpenGL Sample Implementation,
00019 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
00020 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
00021 ** Copyright in any portions created by third parties is as indicated
00022 ** elsewhere herein. All Rights Reserved.
00023 **
00024 ** Additional Notice Provisions: The application programming interfaces
00025 ** established by SGI in conjunction with the Original Code are The
00026 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
00027 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
00028 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
00029 ** Window System(R) (Version 1.3), released October 19, 1998. This software
00030 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
00031 ** published by SGI, but has not been independently verified as being
00032 ** compliant with the OpenGL(R) version 1.2.1 Specification.
00033 */
00034 
00035 /*
00036  * quilt.h
00037  *
00038  * $Date: 2007-10-19 23:21:45 +0000 (Fri, 19 Oct 2007) $ $Revision: 1.1 $
00039  * $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libnurbs/internals/quilt.h,v 1.1 2004/02/02 16:39:12 navaraf Exp $
00040  */
00041 
00042 #ifndef __gluquilt_h_
00043 #define __gluquilt_h_
00044 
00045 #include "defines.h"
00046 #include "bufpool.h"
00047 #include "types.h"
00048 
00049 class Backend;
00050 class Mapdesc;
00051 class Flist;
00052 struct Knotvector;
00053 
00054 /* constants for memory allocation of NURBS to Bezier conversion */
00055 #define MAXDIM      2
00056 
00057 struct Quiltspec { /* a specification for a dimension of a quilt */
00058     int         stride;     /* words between points */
00059     int         width;      /* number of segments */
00060     int         offset;     /* words to first point */
00061     int         order;      /* order */
00062     int         index;      /* current segment number */
00063     int         bdry[2];    /* boundary edge flag */
00064     REAL        step_size;
00065     Knot *      breakpoints;
00066 };
00067 
00068 typedef Quiltspec *Quiltspec_ptr;
00069 
00070 class Quilt : public PooledObj { /* an array of bezier patches */
00071 public:
00072                 Quilt( Mapdesc * );
00073     Mapdesc *       mapdesc;    /* map descriptor */
00074     REAL *      cpts;       /* control points */
00075     Quiltspec       qspec[MAXDIM];  /* the dimensional data */
00076     Quiltspec_ptr   eqspec;     /* qspec trailer */
00077     Quilt       *next;      /* next quilt in linked list */
00078 
00079 public:
00080     void        deleteMe( Pool& );
00081     void        toBezier( Knotvector &, INREAL *, long  );
00082     void        toBezier( Knotvector &, Knotvector &, INREAL *, long  );
00083     void        select( REAL *, REAL * );
00084     int         getDimension( void ) { return eqspec - qspec; }
00085     void        download( Backend & );
00086     void        downloadAll( REAL *, REAL *, Backend & );
00087     int         isCulled( void );
00088     void        getRange( REAL *, REAL *, Flist&, Flist & );
00089     void        getRange( REAL *, REAL *, int, Flist & );
00090     void        getRange( REAL *, REAL *, Flist&  );
00091     void        findRates( Flist& slist, Flist& tlist, REAL[2] );
00092     void        findSampleRates( Flist& slist, Flist& tlist );
00093     void        show();
00094 };
00095 
00096 typedef class Quilt *Quilt_ptr;
00097 
00098 #endif /* __gluquilt_h_ */

Generated on Sun May 27 2012 04:23:40 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.