mirror of
https://github.com/reactos/reactos.git
synced 2024-09-21 18:17:19 +00:00
c424146e2c
svn path=/branches/cmake-bringup/; revision=48236
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
/**************************************************************************
|
|
* *
|
|
* Copyright (C) 1999, 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. *
|
|
* *
|
|
**************************************************************************/
|
|
|
|
/*
|
|
* monotonizer.h
|
|
*
|
|
* $Header: /cygdrive/c/RCVS/CVS/ReactOS/reactos/lib/glu32/libnurbs/internals/monotonizer.h,v 1.1 2004/02/02 16:39:12 navaraf Exp $
|
|
*/
|
|
|
|
#ifndef __glumonotonizer_h_
|
|
#define __glumonotonizer_h_
|
|
|
|
#include "mysetjmp.h"
|
|
#include "types.h"
|
|
|
|
class Arc;
|
|
class ArcTessellator;
|
|
class Pool;
|
|
class Bin;
|
|
class PwlArcPool;
|
|
class Mapdesc;
|
|
|
|
class Monotonizer {
|
|
ArcTessellator& arctessellator;
|
|
Pool& arcpool;
|
|
Pool& pwlarcpool;
|
|
jmp_buf& nurbsJmpBuf;
|
|
|
|
enum dir { down, same, up, none };
|
|
void tessellate( Arc *, REAL );
|
|
void monotonize( Arc *, Bin & );
|
|
int isMonotone( Arc * );
|
|
public:
|
|
Monotonizer( ArcTessellator& at, Pool& ap, Pool& p, jmp_buf& j )
|
|
: arctessellator(at), arcpool(ap), pwlarcpool(p), nurbsJmpBuf(j) {}
|
|
int decompose( Bin &, REAL );
|
|
};
|
|
#endif /* __glumonotonizer_h_ */
|