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.
 
 
 
 
 
 

74 lines
2.5 KiB

#ifndef __gluquilt_h_
#define __gluquilt_h_
/**************************************************************************
* *
* Copyright (C) 1992, 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. *
* *
**************************************************************************/
/*
* quilt.h - $Revision: 1.1 $
*/
#include "defines.h"
#include "bufpool.h"
#include "types.h"
class Backend;
class Mapdesc;
class Flist;
class Knotvector;
/* constants for memory allocation of NURBS to Bezier conversion */
#define MAXDIM 2
struct Quiltspec { /* a specification for a dimension of a quilt */
int stride; /* words between points */
int width; /* number of segments */
int offset; /* words to first point */
int order; /* order */
int index; /* current segment number */
int bdry[2]; /* boundary edge flag */
REAL step_size;
Knot * breakpoints;
};
typedef Quiltspec *Quiltspec_ptr;
#ifdef NT
class Quilt : public PooledObj { public: /* an array of bezier patches */
#else
struct Quilt : PooledObj { /* an array of bezier patches */
#endif
Quilt( Mapdesc * );
Mapdesc * mapdesc; /* map descriptor */
REAL * cpts; /* control points */
Quiltspec qspec[MAXDIM]; /* the dimensional data */
Quiltspec_ptr eqspec; /* qspec trailer */
Quilt *next; /* next quilt in linked list */
void deleteMe( Pool& );
void toBezier( Knotvector &, INREAL *, long );
void toBezier( Knotvector &, Knotvector &, INREAL *, long );
void select( REAL *, REAL * );
int getDimension( void ) { return eqspec - qspec; }
void download( Backend & );
void downloadAll( REAL *, REAL *, Backend & );
int isCulled( void );
void getRange( REAL *, REAL *, Flist&, Flist & );
void getRange( REAL *, REAL *, int, Flist & );
void getRange( REAL *, REAL *, Flist& );
void findRates( Flist& slist, Flist& tlist, REAL[2] );
void findSampleRates( Flist& slist, Flist& tlist );
void show();
};
typedef Quilt *Quilt_ptr;
#endif /* __gluquilt_h_ */