windows-nt/Source/XPSP1/NT/multimedia/opengl/glu/libnurbs/backend.c

759 lines
30 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*
** Copyright 1992, Silicon Graphics, Inc.
** All Rights Reserved.
**
** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
** the contents of this file may not be disclosed to third parties, copied or
** duplicated in any form, in whole or in part, without the prior written
** permission of Silicon Graphics, Inc.
**
** RESTRICTED RIGHTS LEGEND:
** Use, duplication or disclosure by the Government is subject to restrictions
** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
** rights reserved under the Copyright Laws of the United States.
**
*/
#include <stdlib.h>
#include <setjmp.h>
struct JumpBuffer {
jmp_buf buf;
};
#define mysetjmp(x) setjmp((x)->buf)
#define mylongjmp(x,y) longjmp((x)->buf, y)
/* <<AT&T USL C++ Language System <3.0.1> 02/03/92>> */
/* < ../core/backend.c++ > */
void *__vec_new (void *, int , int , void *);
void __vec_ct (void *, int , int , void *);
void __vec_dt (void *, int , int , void *);
void __vec_delete (void *, int , int , void *, int , int );
typedef int (*__vptp)(void);
struct __mptr {short d; short i; __vptp f; };
typedef unsigned int size_t ;
// extern void *malloc (size_t );
// extern void free (void *);
typedef float REAL ;
typedef void (*Pfvv )(void );
typedef void (*Pfvf )(float *);
typedef int (*cmpfunc )(void *, void *);
typedef REAL Knot ;
typedef REAL *Knot_ptr ;
struct TrimVertex;
struct TrimVertex {
REAL param__10TrimVertex [2];
long nuid__10TrimVertex ;
};
typedef struct TrimVertex *TrimVertex_p ;
struct GridVertex;
struct GridVertex {
long gparam__10GridVertex [2];
};
struct Buffer;
struct Buffer {
struct Buffer *next__6Buffer ;
};
struct Pool;
enum __Q2_4Pool5Magic { is_allocated__Q2_4Pool5Magic = 62369, is_free__Q2_4Pool5Magic = 61858} ;
struct Pool {
struct Buffer *freelist__4Pool ;
char *blocklist__4Pool [32];
int nextblock__4Pool ;
char *curblock__4Pool ;
int buffersize__4Pool ;
int nextsize__4Pool ;
int nextfree__4Pool ;
int initsize__4Pool ;
char *name__4Pool ;
int magic__4Pool ;
};
void __glgrow__4PoolFv (struct Pool *);
struct PooledObj;
struct PooledObj {
char __W3__9PooledObj ;
};
struct GridTrimVertex;
struct GridTrimVertex {
char __W3__9PooledObj ;
struct TrimVertex dummyt__14GridTrimVertex ;
struct GridVertex dummyg__14GridTrimVertex ;
struct TrimVertex *t__14GridTrimVertex ;
struct GridVertex *g__14GridTrimVertex ;
};
typedef struct GridTrimVertex *GridTrimVertex_p ;
struct BasicCurveEvaluator;
struct BasicSurfaceEvaluator;
struct Backend;
struct Backend {
struct BasicCurveEvaluator *curveEvaluator__7Backend ;
struct BasicSurfaceEvaluator *surfaceEvaluator__7Backend ;
int wireframetris__7Backend ;
int wireframequads__7Backend ;
int npts__7Backend ;
REAL mesh__7Backend [3][4];
int meshindex__7Backend ;
};
struct CachingEvaluator;
enum __Q2_16CachingEvaluator11ServiceMode { play__Q2_16CachingEvaluator11ServiceMode = 0, record__Q2_16CachingEvaluator11ServiceMode = 1, playAndRecord__Q2_16CachingEvaluator11ServiceMode = 2} ;
struct CachingEvaluator {
struct __mptr *__vptr__16CachingEvaluator ;
};
static void *__nw__FUi (size_t );
struct BasicCurveEvaluator;
struct BasicCurveEvaluator {
struct __mptr *__vptr__16CachingEvaluator ;
};
struct BasicSurfaceEvaluator;
static struct CachingEvaluator *__ct__16CachingEvaluatorFv (struct CachingEvaluator *);
struct BasicSurfaceEvaluator {
struct __mptr *__vptr__16CachingEvaluator ;
};
void __glbgnmap2f__21BasicSurfaceEv0 (struct BasicSurfaceEvaluator *, long );
extern struct __mptr* __gl__ptbl_vec_____core_backen0[];
void __glbgnsurf__7BackendFiT1l (struct Backend *__0this , int __1wiretris , int __1wirequads , long __1nuid )
{
struct BasicSurfaceEvaluator *__0__K9 ;
__0this -> wireframetris__7Backend = __1wiretris ;
__0this -> wireframequads__7Backend = __1wirequads ;
( (__0__K9 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long ))(__0__K9 -> __vptr__16CachingEvaluator [12]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K9 ))+
(__0__K9 -> __vptr__16CachingEvaluator [12]).d))), __1nuid ) ) ;
}
void __gldomain2f__21BasicSurfaceEv0 (struct BasicSurfaceEvaluator *, REAL , REAL , REAL , REAL );
void __glpatch__7BackendFfN31 (struct Backend *__0this , REAL __1ulo , REAL __1uhi , REAL __1vlo , REAL __1vhi )
{
struct BasicSurfaceEvaluator *__0__K10 ;
( (__0__K10 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, REAL , REAL , REAL , REAL ))(__0__K10 -> __vptr__16CachingEvaluator [9]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K10 ))+ (__0__K10 -> __vptr__16CachingEvaluator [9]).d))), __1ulo , __1uhi , __1vlo , __1vhi ) ) ;
}
void __glrange2f__21BasicSurfaceEva0 (struct BasicSurfaceEvaluator *, long , REAL *, REAL *);
void __glsurfbbox__7BackendFlPfT2 (struct Backend *__0this , long __1type , REAL *__1from , REAL *__1to )
{
struct BasicSurfaceEvaluator *__0__K11 ;
( (__0__K11 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL *, REAL *))(__0__K11 -> __vptr__16CachingEvaluator [8]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K11 ))+ (__0__K11 -> __vptr__16CachingEvaluator [8]).d))), __1type , __1from , __1to ) ) ;
}
void __glmap2f__21BasicSurfaceEvalu0 (struct BasicSurfaceEvaluator *, long , REAL , REAL , long , long , REAL , REAL , long
, long , REAL *);
void __glenable__21BasicSurfaceEval0 (struct BasicSurfaceEvaluator *, long );
void __glsurfpts__7BackendFlPfN21iT0 (struct Backend *__0this ,
long __1type ,
REAL *__1pts ,
long __1ustride ,
long __1vstride ,
int __1uorder ,
int __1vorder ,
REAL __1ulo ,
REAL __1uhi ,
REAL __1vlo ,
REAL __1vhi )
{
struct BasicSurfaceEvaluator *__0__K12 ;
struct BasicSurfaceEvaluator *__0__K13 ;
( (__0__K12 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL , long , long
, REAL , REAL , long , long , REAL *))(__0__K12 -> __vptr__16CachingEvaluator [13]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K12 ))+ (__0__K12 ->
__vptr__16CachingEvaluator [13]).d))), __1type , __1ulo , __1uhi , __1ustride , (long )__1uorder , __1vlo , __1vhi , __1vstride , (long )__1vorder , __1pts ) )
;
( (__0__K13 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long ))(__0__K13 -> __vptr__16CachingEvaluator [10]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K13 ))+
(__0__K13 -> __vptr__16CachingEvaluator [10]).d))), __1type ) ) ;
}
void __glmapgrid2f__21BasicSurfaceE0 (struct BasicSurfaceEvaluator *, long , REAL , REAL , long , REAL , REAL );
void __glsurfgrid__7BackendFfT1lN210 (struct Backend *__0this , REAL __1u0 , REAL __1u1 , long __1nu , REAL __1v0 , REAL __1v1 , long __1nv )
{
struct BasicSurfaceEvaluator *__0__K14 ;
( (__0__K14 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL , long , REAL ,
REAL ))(__0__K14 -> __vptr__16CachingEvaluator [14]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K14 ))+ (__0__K14 -> __vptr__16CachingEvaluator [14]).d))), __1nu , __1u0 , __1u1 , __1nv , __1v0 , __1v1 )
) ;
}
void __glbgnline__21BasicSurfaceEva0 (struct BasicSurfaceEvaluator *);
void __glevalpoint2i__21BasicSurfac0 (struct BasicSurfaceEvaluator *, long , long );
void __glendline__21BasicSurfaceEva0 (struct BasicSurfaceEvaluator *);
void __glmapmesh2f__21BasicSurfaceE0 (struct BasicSurfaceEvaluator *, long , long , long , long , long );
void __glsurfmesh__7BackendFlN31 (struct Backend *__0this , long __1u , long __1v , long __1n , long __1m )
{
if (__0this -> wireframequads__7Backend ){
long __2v0 ;
long __2v1 ;
long __2u0f ;
long __2u1f ;
long __2v0f ;
long __2v1f ;
long __2parity ;
__2u0f = __1u ;
__2u1f = (__1u + __1n );
__2v0f = __1v ;
__2v1f = (__1v + __1m );
__2parity = (__1u & 1 );
for(( (__2v0 = __2v0f ), (__2v1 = (__2v0f ++ ))) ;__2v0 < __2v1f ;( (__2v0 = __2v1 ), (__2v1 ++ )) ) {
struct BasicSurfaceEvaluator *__0__K15 ;
( (__0__K15 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K15 -> __vptr__16CachingEvaluator [20]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K15 ))+ (__0__K15 -> __vptr__16CachingEvaluator [20]).d))))
) ;
{ { long __3u ;
struct BasicSurfaceEvaluator *__0__K20 ;
__3u = __2u0f ;
for(;__3u <= __2u1f ;__3u ++ ) {
if (__2parity ){
struct BasicSurfaceEvaluator *__0__K16 ;
struct BasicSurfaceEvaluator *__0__K17 ;
( (__0__K16 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K16 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K16 ))+ (__0__K16 -> __vptr__16CachingEvaluator [17]).d))), __3u , __2v0 ) ) ;
( (__0__K17 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K17 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K17 ))+ (__0__K17 -> __vptr__16CachingEvaluator [17]).d))), __3u , __2v1 ) ) ;
}
else
{
struct BasicSurfaceEvaluator *__0__K18 ;
struct BasicSurfaceEvaluator *__0__K19 ;
( (__0__K18 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K18 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K18 ))+ (__0__K18 -> __vptr__16CachingEvaluator [17]).d))), __3u , __2v1 ) ) ;
( (__0__K19 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K19 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K19 ))+ (__0__K19 -> __vptr__16CachingEvaluator [17]).d))), __3u , __2v0 ) ) ;
}
__2parity = (1 - __2parity );
}
( (__0__K20 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K20 -> __vptr__16CachingEvaluator [21]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K20 ))+ (__0__K20 -> __vptr__16CachingEvaluator [21]).d))))
) ;
}
}
}
}
else
{
struct BasicSurfaceEvaluator *__0__K21 ;
( (__0__K21 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long , long , long
, long ))(__0__K21 -> __vptr__16CachingEvaluator [15]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K21 ))+ (__0__K21 -> __vptr__16CachingEvaluator [15]).d))), (long )0 , __1u , __1u +
__1n , __1v , __1v + __1m ) ) ;
}
}
void __glendmap2f__21BasicSurfaceEv0 (struct BasicSurfaceEvaluator *);
void __glendsurf__7BackendFv (struct Backend *__0this )
{
struct BasicSurfaceEvaluator *__0__K22 ;
( (__0__K22 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K22 -> __vptr__16CachingEvaluator [18]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K22 ))+ (__0__K22 -> __vptr__16CachingEvaluator [18]).d))))
) ;
}
void __glbgntmesh__21BasicSurfaceEv0 (struct BasicSurfaceEvaluator *);
void __glbgntmesh__7BackendFPc (struct Backend *__0this , char *__1__A23 )
{
if (__0this -> wireframetris__7Backend ){
__0this -> meshindex__7Backend = 0 ;
__0this -> npts__7Backend = 0 ;
}
else
{
struct BasicSurfaceEvaluator *__0__K24 ;
( (__0__K24 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K24 -> __vptr__16CachingEvaluator [24]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K24 ))+ (__0__K24 -> __vptr__16CachingEvaluator [24]).d))))
) ;
}
}
void __gltmeshvert__7BackendFP10Gri0 (struct Backend *, struct GridVertex *);
void __gltmeshvert__7BackendFP10Tri0 (struct Backend *, struct TrimVertex *);
void __gltmeshvert__7BackendFP14Gri0 (struct Backend *__0this , struct GridTrimVertex *__1v )
{
if (( (((struct GridTrimVertex *)__1v )-> g__14GridTrimVertex ?1 :0 )) ){
__gltmeshvert__7BackendFP10Gri0 ( __0this , __1v ->
g__14GridTrimVertex ) ;
}
else
{
__gltmeshvert__7BackendFP10Tri0 ( __0this , __1v -> t__14GridTrimVertex ) ;
}
}
void __glbgnclosedline__21BasicSurf0 (struct BasicSurfaceEvaluator *);
void __glevalcoord2f__21BasicSurfac0 (struct BasicSurfaceEvaluator *, long , REAL , REAL );
void __glendclosedline__21BasicSurf0 (struct BasicSurfaceEvaluator *);
void __gltmeshvert__7BackendFP10Tri0 (struct Backend *__0this , struct TrimVertex *__1t )
{
long __1nuid ;
REAL __1u ;
REAL __1v ;
__1nuid = __1t -> nuid__10TrimVertex ;
__1u = (__1t -> param__10TrimVertex [0 ]);
__1v = (__1t -> param__10TrimVertex [1 ]);
__0this -> npts__7Backend ++ ;
if (__0this -> wireframetris__7Backend ){
if (__0this -> npts__7Backend >= 3 ){
struct BasicSurfaceEvaluator *__0__K25 ;
struct BasicSurfaceEvaluator *__0__K26 ;
struct BasicSurfaceEvaluator *__0__K27 ;
struct BasicSurfaceEvaluator *__0__K28 ;
struct BasicSurfaceEvaluator *__0__K29 ;
struct BasicSurfaceEvaluator *__0__K30 ;
struct BasicSurfaceEvaluator *__0__K31 ;
( (__0__K25 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K25 -> __vptr__16CachingEvaluator [22]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K25 ))+ (__0__K25 -> __vptr__16CachingEvaluator [22]).d))))
) ;
if (((__0this -> mesh__7Backend [0 ])[2 ])== 0 )
( (__0__K26 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K26 ->
__vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K26 ))+ (__0__K26 -> __vptr__16CachingEvaluator [16]).d))), (long )((__0this -> mesh__7Backend [0 ])[3 ]), (__0this -> mesh__7Backend [0 ])[0 ], (__0this -> mesh__7Backend [0 ])[1 ])
) ;
else
( (__0__K27 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K27 -> __vptr__16CachingEvaluator [17]).f))))( (struct
BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K27 ))+ (__0__K27 -> __vptr__16CachingEvaluator [17]).d))), ((long )((__0this -> mesh__7Backend [0 ])[0 ])), ((long )((__0this -> mesh__7Backend [0 ])[1 ]))) ) ;
if (((__0this -> mesh__7Backend [1 ])[2 ])== 0 )
( (__0__K28 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K28 ->
__vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K28 ))+ (__0__K28 -> __vptr__16CachingEvaluator [16]).d))), (long )((__0this -> mesh__7Backend [1 ])[3 ]), (__0this -> mesh__7Backend [1 ])[0 ], (__0this -> mesh__7Backend [1 ])[1 ])
) ;
else
( (__0__K29 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K29 -> __vptr__16CachingEvaluator [17]).f))))( (struct
BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K29 ))+ (__0__K29 -> __vptr__16CachingEvaluator [17]).d))), ((long )((__0this -> mesh__7Backend [1 ])[0 ])), ((long )((__0this -> mesh__7Backend [1 ])[1 ]))) ) ;
( (__0__K30 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K30 -> __vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K30 ))+ (__0__K30 -> __vptr__16CachingEvaluator [16]).d))), (long )__1nuid , (float )__1u , (float )__1v ) ) ;
( (__0__K31 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K31 -> __vptr__16CachingEvaluator [23]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K31 ))+ (__0__K31 -> __vptr__16CachingEvaluator [23]).d))))
) ;
}
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[0 ])= __1u ;
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[1 ])= __1v ;
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[2 ])= 0 ;
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[3 ])= __1nuid ;
__0this -> meshindex__7Backend = ((__0this -> meshindex__7Backend + 1 )% 2 );
}
else
{
struct BasicSurfaceEvaluator *__0__K32 ;
( (__0__K32 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K32 -> __vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K32 ))+ (__0__K32 -> __vptr__16CachingEvaluator [16]).d))), (long )__1nuid , (float )__1u , (float )__1v ) ) ;
}
}
void __gltmeshvert__7BackendFP10Gri0 (struct Backend *__0this , struct GridVertex *__1g )
{
long __1u ;
long __1v ;
__1u = (__1g -> gparam__10GridVertex [0 ]);
__1v = (__1g -> gparam__10GridVertex [1 ]);
__0this -> npts__7Backend ++ ;
if (__0this -> wireframetris__7Backend ){
if (__0this -> npts__7Backend >= 3 ){
struct BasicSurfaceEvaluator *__0__K33 ;
struct BasicSurfaceEvaluator *__0__K34 ;
struct BasicSurfaceEvaluator *__0__K35 ;
struct BasicSurfaceEvaluator *__0__K36 ;
struct BasicSurfaceEvaluator *__0__K37 ;
struct BasicSurfaceEvaluator *__0__K38 ;
struct BasicSurfaceEvaluator *__0__K39 ;
( (__0__K33 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K33 -> __vptr__16CachingEvaluator [22]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K33 ))+ (__0__K33 -> __vptr__16CachingEvaluator [22]).d))))
) ;
if (((__0this -> mesh__7Backend [0 ])[2 ])== 0 )
( (__0__K34 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K34 ->
__vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K34 ))+ (__0__K34 -> __vptr__16CachingEvaluator [16]).d))), (long )((__0this -> mesh__7Backend [0 ])[3 ]), (__0this -> mesh__7Backend [0 ])[0 ], (__0this -> mesh__7Backend [0 ])[1 ])
) ;
else
( (__0__K35 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K35 -> __vptr__16CachingEvaluator [17]).f))))( (struct
BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K35 ))+ (__0__K35 -> __vptr__16CachingEvaluator [17]).d))), ((long )((__0this -> mesh__7Backend [0 ])[0 ])), ((long )((__0this -> mesh__7Backend [0 ])[1 ]))) ) ;
if (((__0this -> mesh__7Backend [1 ])[2 ])== 0 )
( (__0__K36 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K36 ->
__vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K36 ))+ (__0__K36 -> __vptr__16CachingEvaluator [16]).d))), (long )((__0this -> mesh__7Backend [1 ])[3 ]), (__0this -> mesh__7Backend [1 ])[0 ], (__0this -> mesh__7Backend [1 ])[1 ])
) ;
else
( (__0__K37 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K37 -> __vptr__16CachingEvaluator [17]).f))))( (struct
BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K37 ))+ (__0__K37 -> __vptr__16CachingEvaluator [17]).d))), ((long )((__0this -> mesh__7Backend [1 ])[0 ])), ((long )((__0this -> mesh__7Backend [1 ])[1 ]))) ) ;
( (__0__K38 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K38 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K38 ))+ (__0__K38 -> __vptr__16CachingEvaluator [17]).d))), (long )__1u , (long )__1v ) ) ;
( (__0__K39 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K39 -> __vptr__16CachingEvaluator [23]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K39 ))+ (__0__K39 -> __vptr__16CachingEvaluator [23]).d))))
) ;
}
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[0 ])= __1u ;
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[1 ])= __1v ;
((__0this -> mesh__7Backend [__0this -> meshindex__7Backend ])[2 ])= 1 ;
__0this -> meshindex__7Backend = ((__0this -> meshindex__7Backend + 1 )% 2 );
}
else
{
struct BasicSurfaceEvaluator *__0__K40 ;
( (__0__K40 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K40 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K40 ))+ (__0__K40 -> __vptr__16CachingEvaluator [17]).d))), (long )__1u , (long )__1v ) ) ;
}
}
void __glswaptmesh__21BasicSurfaceE0 (struct BasicSurfaceEvaluator *);
void __glswaptmesh__7BackendFv (struct Backend *__0this )
{
if (__0this -> wireframetris__7Backend ){
__0this -> meshindex__7Backend = (1 - __0this -> meshindex__7Backend );
}
else
{
struct BasicSurfaceEvaluator *__0__K41 ;
( (__0__K41 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K41 -> __vptr__16CachingEvaluator [25]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K41 ))+ (__0__K41 -> __vptr__16CachingEvaluator [25]).d))))
) ;
}
}
void __glendtmesh__21BasicSurfaceEv0 (struct BasicSurfaceEvaluator *);
void __glendtmesh__7BackendFv (struct Backend *__0this )
{
struct BasicSurfaceEvaluator *__0__K42 ;
if (! __0this -> wireframetris__7Backend )
( (__0__K42 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K42 -> __vptr__16CachingEvaluator [26]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char
*)__0__K42 ))+ (__0__K42 -> __vptr__16CachingEvaluator [26]).d)))) ) ;
}
void __glbgnoutline__7BackendFv (struct Backend *__0this )
{
struct BasicSurfaceEvaluator *__0__K43 ;
( (__0__K43 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K43 -> __vptr__16CachingEvaluator [20]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K43 ))+ (__0__K43 -> __vptr__16CachingEvaluator [20]).d))))
) ;
}
void __gllinevert__7BackendFP10Trim0 (struct Backend *__0this , struct TrimVertex *__1t )
{
struct BasicSurfaceEvaluator *__0__K44 ;
( (__0__K44 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , REAL , REAL ))(__0__K44 -> __vptr__16CachingEvaluator [16]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K44 ))+ (__0__K44 -> __vptr__16CachingEvaluator [16]).d))), __1t -> nuid__10TrimVertex , __1t -> param__10TrimVertex [0 ], __1t -> param__10TrimVertex [1 ]) ) ;
}
void __gllinevert__7BackendFP10Grid0 (struct Backend *__0this , struct GridVertex *__1g )
{
struct BasicSurfaceEvaluator *__0__K45 ;
( (__0__K45 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *, long , long ))(__0__K45 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicSurfaceEvaluator *)(((struct
BasicSurfaceEvaluator *)((((char *)__0__K45 ))+ (__0__K45 -> __vptr__16CachingEvaluator [17]).d))), __1g -> gparam__10GridVertex [0 ], __1g -> gparam__10GridVertex [1 ]) ) ;
}
void __glendoutline__7BackendFv (struct Backend *__0this )
{
struct BasicSurfaceEvaluator *__0__K46 ;
( (__0__K46 = __0this -> surfaceEvaluator__7Backend ), ((*(((void (*)(struct BasicSurfaceEvaluator *))(__0__K46 -> __vptr__16CachingEvaluator [21]).f))))( (struct BasicSurfaceEvaluator *)(((struct BasicSurfaceEvaluator *)((((char *)__0__K46 ))+ (__0__K46 -> __vptr__16CachingEvaluator [21]).d))))
) ;
}
void __gltriangle__7BackendFP10Trim0 (struct Backend *__0this , struct TrimVertex *__1a , struct TrimVertex *__1b , struct TrimVertex *__1c )
{
__glbgntmesh__7BackendFPc ( __0this , (char *)"spittriangle")
;
__gltmeshvert__7BackendFP10Tri0 ( __0this , __1a ) ;
__gltmeshvert__7BackendFP10Tri0 ( __0this , __1b ) ;
__gltmeshvert__7BackendFP10Tri0 ( __0this , __1c ) ;
__glendtmesh__7BackendFv ( __0this ) ;
}
void __glbgnmap1f__19BasicCurveEval0 (struct BasicCurveEvaluator *, long );
void __glbgncurv__7BackendFv (struct Backend *__0this )
{
struct BasicCurveEvaluator *__0__K47 ;
( (__0__K47 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long ))(__0__K47 -> __vptr__16CachingEvaluator [12]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K47 ))+
(__0__K47 -> __vptr__16CachingEvaluator [12]).d))), (long )0 ) ) ;
}
void __gldomain1f__19BasicCurveEval0 (struct BasicCurveEvaluator *, REAL , REAL );
void __glsegment__7BackendFfT1 (struct Backend *__0this , REAL __1ulo , REAL __1uhi )
{
struct BasicCurveEvaluator *__0__K48 ;
( (__0__K48 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, REAL , REAL ))(__0__K48 -> __vptr__16CachingEvaluator [8]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K48 ))+
(__0__K48 -> __vptr__16CachingEvaluator [8]).d))), __1ulo , __1uhi ) ) ;
}
void __glmap1f__19BasicCurveEvaluat0 (struct BasicCurveEvaluator *, long , REAL , REAL , long , long , REAL *);
void __glenable__19BasicCurveEvalua0 (struct BasicCurveEvaluator *, long );
void __glcurvpts__7BackendFlPfT1ifT0 (struct Backend *__0this ,
long __1type ,
REAL *__1pts ,
long __1stride ,
int __1order ,
REAL __1ulo ,
REAL __1uhi )
{
struct BasicCurveEvaluator *__0__K49 ;
struct BasicCurveEvaluator *__0__K50 ;
( (__0__K49 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long , REAL , REAL , long , long
, REAL *))(__0__K49 -> __vptr__16CachingEvaluator [13]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K49 ))+ (__0__K49 -> __vptr__16CachingEvaluator [13]).d))), __1type , __1ulo , __1uhi , __1stride , (long
)__1order , __1pts ) ) ;
( (__0__K50 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long ))(__0__K50 -> __vptr__16CachingEvaluator [10]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K50 ))+
(__0__K50 -> __vptr__16CachingEvaluator [10]).d))), __1type ) ) ;
}
void __glmapgrid1f__19BasicCurveEva0 (struct BasicCurveEvaluator *, long , REAL , REAL );
void __glcurvgrid__7BackendFfT1l (struct Backend *__0this , REAL __1u0 , REAL __1u1 , long __1nu )
{
struct BasicCurveEvaluator *__0__K51 ;
( (__0__K51 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long , REAL , REAL ))(__0__K51 -> __vptr__16CachingEvaluator [14]).f))))( (struct BasicCurveEvaluator *)(((struct
BasicCurveEvaluator *)((((char *)__0__K51 ))+ (__0__K51 -> __vptr__16CachingEvaluator [14]).d))), __1nu , __1u0 , __1u1 ) ) ;
}
void __glmapmesh1f__19BasicCurveEva0 (struct BasicCurveEvaluator *, long , long , long );
void __glcurvmesh__7BackendFlT1 (struct Backend *__0this , long __1from , long __1n )
{
struct BasicCurveEvaluator *__0__K52 ;
( (__0__K52 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long , long , long ))(__0__K52 -> __vptr__16CachingEvaluator [15]).f))))(
(struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K52 ))+ (__0__K52 -> __vptr__16CachingEvaluator [15]).d))), (long )0 , __1from , __1from + __1n ) ) ;
}
void __glevalcoord1f__19BasicCurveE0 (struct BasicCurveEvaluator *, long , REAL );
void __glcurvpt__7BackendFf (struct Backend *__0this , REAL __1u )
{
struct BasicCurveEvaluator *__0__K53 ;
( (__0__K53 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *, long , REAL ))(__0__K53 -> __vptr__16CachingEvaluator [16]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char
*)__0__K53 ))+ (__0__K53 -> __vptr__16CachingEvaluator [16]).d))), (long )0 , __1u ) ) ;
}
void __glbgnline__19BasicCurveEvalu0 (struct BasicCurveEvaluator *);
void __glbgnline__7BackendFv (struct Backend *__0this )
{
struct BasicCurveEvaluator *__0__K54 ;
( (__0__K54 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *))(__0__K54 -> __vptr__16CachingEvaluator [18]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K54 ))+ (__0__K54 -> __vptr__16CachingEvaluator [18]).d))))
) ;
}
void __glendline__19BasicCurveEvalu0 (struct BasicCurveEvaluator *);
void __glendline__7BackendFv (struct Backend *__0this )
{
struct BasicCurveEvaluator *__0__K55 ;
( (__0__K55 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *))(__0__K55 -> __vptr__16CachingEvaluator [19]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K55 ))+ (__0__K55 -> __vptr__16CachingEvaluator [19]).d))))
) ;
}
void __glendmap1f__19BasicCurveEval0 (struct BasicCurveEvaluator *);
void __glendcurv__7BackendFv (struct Backend *__0this )
{
struct BasicCurveEvaluator *__0__K56 ;
( (__0__K56 = __0this -> curveEvaluator__7Backend ), ((*(((void (*)(struct BasicCurveEvaluator *))(__0__K56 -> __vptr__16CachingEvaluator [17]).f))))( (struct BasicCurveEvaluator *)(((struct BasicCurveEvaluator *)((((char *)__0__K56 ))+ (__0__K56 -> __vptr__16CachingEvaluator [17]).d))))
) ;
}
static struct CachingEvaluator *__ct__16CachingEvaluatorFv (struct CachingEvaluator *__0this ){ if (__0this || (__0this = (struct CachingEvaluator *)__nw__FUi ( sizeof (struct CachingEvaluator)) ))__0this -> __vptr__16CachingEvaluator = (struct
__mptr *) __gl__ptbl_vec_____core_backen0[0];
return __0this ;
}
static void *__nw__FUi (
size_t __1s )
{
void *__1__Xp00uzigaiaa ;
__1__Xp00uzigaiaa = malloc ( __1s ) ;
if (__1__Xp00uzigaiaa ){
return __1__Xp00uzigaiaa ;
}
else
{
return __1__Xp00uzigaiaa ;
}
}
extern struct __mptr __gl__vtbl__16CachingEvaluator[];
struct __mptr* __gl__ptbl_vec_____core_backen0[] = {
__gl__vtbl__16CachingEvaluator,
};
/* the end */