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

#ifndef __gluarctess_h_
#define __gluarctess_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. *
* *
**************************************************************************/
/*
* arctess.h - $Revision: 1.1 $
*/
#include "defines.h"
#include "types.h"
#include "arc.h"
class BezierArc;
class Pool;
class TrimVertexPool;
class ArcTessellator {
public:
ArcTessellator( TrimVertexPool&, Pool& );
~ArcTessellator( void );
void bezier( Arc *, REAL, REAL, REAL, REAL );
void pwl( Arc *, REAL, REAL, REAL, REAL, REAL );
void pwl_left( Arc *, REAL, REAL, REAL, REAL );
void pwl_right( Arc *, REAL, REAL, REAL, REAL );
void pwl_top( Arc *, REAL, REAL, REAL, REAL );
void pwl_bottom( Arc *, REAL, REAL, REAL, REAL );
void tessellateLinear( Arc *, REAL, REAL, int );
void tessellateNonlinear( Arc *, REAL, REAL, int );
private:
//mf
#ifdef NT
static REAL gl_Bernstein[][MAXORDER][MAXORDER];
#else
static const REAL gl_Bernstein[][MAXORDER][MAXORDER];
#endif
Pool& pwlarcpool;
TrimVertexPool& trimvertexpool;
#ifdef NT
static void trim_power_coeffs( BezierArc *, REAL *, int );
#else
static void trim_power_coeffs( BezierArc *, REAL[MAXORDER], int );
#endif
};
#endif /* __gluarctess_h_ */