45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#ifndef __glumonotonizer_h_
|
|
#define __glumonotonizer_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. *
|
|
* *
|
|
**************************************************************************/
|
|
|
|
/*
|
|
* monotonizer.h - $Revision: 1.1 $
|
|
*/
|
|
|
|
#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_ */
|