/* ** 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 #include struct JumpBuffer { jmp_buf buf; }; #define mysetjmp(x) setjmp((x)->buf) #define mylongjmp(x,y) longjmp((x)->buf, y) /* < 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 */