#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_ */