Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1343 lines
53 KiB

  1. /*
  2. ** Copyright 1992, Silicon Graphics, Inc.
  3. ** All Rights Reserved.
  4. **
  5. ** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6. ** the contents of this file may not be disclosed to third parties, copied or
  7. ** duplicated in any form, in whole or in part, without the prior written
  8. ** permission of Silicon Graphics, Inc.
  9. **
  10. ** RESTRICTED RIGHTS LEGEND:
  11. ** Use, duplication or disclosure by the Government is subject to restrictions
  12. ** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13. ** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14. ** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15. ** rights reserved under the Copyright Laws of the United States.
  16. **
  17. */
  18. #include <stdlib.h>
  19. #include <setjmp.h>
  20. struct JumpBuffer {
  21. jmp_buf buf;
  22. };
  23. #define mysetjmp(x) setjmp((x)->buf)
  24. #define mylongjmp(x,y) longjmp((x)->buf, y)
  25. /* <<AT&T USL C++ Language System <3.0.1> 02/03/92>> */
  26. /* < ../core/mesher.c++ > */
  27. void *__vec_new (void *, int , int , void *);
  28. void __vec_ct (void *, int , int , void *);
  29. void __vec_dt (void *, int , int , void *);
  30. void __vec_delete (void *, int , int , void *, int , int );
  31. typedef int (*__vptp)(void);
  32. struct __mptr {short d; short i; __vptp f; };
  33. typedef unsigned int size_t ;
  34. // extern void *malloc (size_t );
  35. // extern void free (void *);
  36. struct Arc;
  37. struct Backend;
  38. typedef float REAL ;
  39. typedef void (*Pfvv )(void );
  40. typedef void (*Pfvf )(float *);
  41. typedef int (*cmpfunc )(void *, void *);
  42. typedef REAL Knot ;
  43. typedef REAL *Knot_ptr ;
  44. struct TrimVertex;
  45. struct TrimVertex {
  46. REAL param__10TrimVertex [2];
  47. long nuid__10TrimVertex ;
  48. };
  49. typedef struct TrimVertex *TrimVertex_p ;
  50. struct Buffer;
  51. struct Buffer {
  52. struct Buffer *next__6Buffer ;
  53. };
  54. struct Pool;
  55. enum __Q2_4Pool5Magic { is_allocated__Q2_4Pool5Magic = 62369, is_free__Q2_4Pool5Magic = 61858} ;
  56. struct Pool {
  57. struct Buffer *freelist__4Pool ;
  58. char *blocklist__4Pool [32];
  59. int nextblock__4Pool ;
  60. char *curblock__4Pool ;
  61. int buffersize__4Pool ;
  62. int nextsize__4Pool ;
  63. int nextfree__4Pool ;
  64. int initsize__4Pool ;
  65. char *name__4Pool ;
  66. int magic__4Pool ;
  67. };
  68. void __glgrow__4PoolFv (struct Pool *);
  69. struct PooledObj;
  70. struct PooledObj {
  71. char __W3__9PooledObj ;
  72. };
  73. struct PwlArc;
  74. struct PwlArc {
  75. char __W3__9PooledObj ;
  76. struct TrimVertex *pts__6PwlArc ;
  77. int npts__6PwlArc ;
  78. long type__6PwlArc ;
  79. };
  80. struct Bin;
  81. struct Arc;
  82. struct BezierArc;
  83. typedef struct Arc *Arc_ptr ;
  84. enum arc_side { arc_none = 0, arc_right = 1, arc_top = 2, arc_left = 3, arc_bottom = 4} ;
  85. struct Arc;
  86. struct Arc {
  87. char __W3__9PooledObj ;
  88. Arc_ptr prev__3Arc ;
  89. Arc_ptr next__3Arc ;
  90. Arc_ptr link__3Arc ;
  91. struct BezierArc *bezierArc__3Arc ;
  92. struct PwlArc *pwlArc__3Arc ;
  93. long type__3Arc ;
  94. long nuid__3Arc ;
  95. };
  96. extern int __glbezier_tag__3Arc ;
  97. extern int __glarc_tag__3Arc ;
  98. extern int __gltail_tag__3Arc ;
  99. struct Jarcloc;
  100. struct Jarcloc {
  101. struct Arc *arc__7Jarcloc ;
  102. struct TrimVertex *p__7Jarcloc ;
  103. struct TrimVertex *plast__7Jarcloc ;
  104. };
  105. struct Trimline;
  106. struct Trimline {
  107. struct TrimVertex **pts__8Trimline ;
  108. long numverts__8Trimline ;
  109. long i__8Trimline ;
  110. long size__8Trimline ;
  111. struct Jarcloc jarcl__8Trimline ;
  112. struct TrimVertex t__8Trimline ;
  113. struct TrimVertex b__8Trimline ;
  114. struct TrimVertex *tinterp__8Trimline ;
  115. struct TrimVertex *binterp__8Trimline ;
  116. };
  117. struct Gridline;
  118. struct Gridline {
  119. long v__8Gridline ;
  120. REAL vval__8Gridline ;
  121. long vindex__8Gridline ;
  122. long ustart__8Gridline ;
  123. long uend__8Gridline ;
  124. };
  125. struct Uarray;
  126. struct Uarray {
  127. long size__6Uarray ;
  128. long ulines__6Uarray ;
  129. REAL *uarray__6Uarray ;
  130. };
  131. struct Backend;
  132. struct TrimRegion;
  133. void __gl__dt__8TrimlineFv (struct Trimline *, int );
  134. void __gl__dt__6UarrayFv (struct Uarray *, int );
  135. struct TrimRegion {
  136. struct Trimline left__10TrimRegion ;
  137. struct Trimline right__10TrimRegion ;
  138. struct Gridline top__10TrimRegion ;
  139. struct Gridline bot__10TrimRegion ;
  140. struct Uarray uarray__10TrimRegion ;
  141. REAL oneOverDu__10TrimRegion ;
  142. };
  143. struct GridTrimVertex;
  144. struct __Q2_4Hull4Side;
  145. struct __Q2_4Hull4Side {
  146. struct Trimline *left__Q2_4Hull4Side ;
  147. struct Gridline *line__Q2_4Hull4Side ;
  148. struct Trimline *right__Q2_4Hull4Side ;
  149. long index__Q2_4Hull4Side ;
  150. };
  151. struct Hull;
  152. struct Hull {
  153. struct __Q2_4Hull4Side lower__4Hull ;
  154. struct __Q2_4Hull4Side upper__4Hull ;
  155. struct Trimline fakeleft__4Hull ;
  156. struct Trimline fakeright__4Hull ;
  157. struct TrimRegion *PTrimRegion;
  158. struct TrimRegion OTrimRegion;
  159. };
  160. struct Backend;
  161. struct GridTrimVertex;
  162. struct Mesher;
  163. struct Mesher {
  164. struct __Q2_4Hull4Side lower__4Hull ;
  165. struct __Q2_4Hull4Side upper__4Hull ;
  166. struct Trimline fakeleft__4Hull ;
  167. struct Trimline fakeright__4Hull ;
  168. struct TrimRegion *PTrimRegion;
  169. struct Backend *backend__6Mesher ;
  170. struct Pool p__6Mesher ;
  171. unsigned int stacksize__6Mesher ;
  172. struct GridTrimVertex **vdata__6Mesher ;
  173. struct GridTrimVertex *last__6Mesher [2];
  174. int itop__6Mesher ;
  175. int lastedge__6Mesher ;
  176. struct TrimRegion OTrimRegion;
  177. };
  178. extern float __glZERO__6Mesher ;
  179. struct GridVertex;
  180. struct GridVertex {
  181. long gparam__10GridVertex [2];
  182. };
  183. struct GridTrimVertex;
  184. struct GridTrimVertex {
  185. char __W3__9PooledObj ;
  186. struct TrimVertex dummyt__14GridTrimVertex ;
  187. struct GridVertex dummyg__14GridTrimVertex ;
  188. struct TrimVertex *t__14GridTrimVertex ;
  189. struct GridVertex *g__14GridTrimVertex ;
  190. };
  191. typedef struct GridTrimVertex *GridTrimVertex_p ;
  192. struct BasicCurveEvaluator;
  193. struct BasicSurfaceEvaluator;
  194. struct Backend;
  195. struct Backend {
  196. struct BasicCurveEvaluator *curveEvaluator__7Backend ;
  197. struct BasicSurfaceEvaluator *surfaceEvaluator__7Backend ;
  198. int wireframetris__7Backend ;
  199. int wireframequads__7Backend ;
  200. int npts__7Backend ;
  201. REAL mesh__7Backend [3][4];
  202. int meshindex__7Backend ;
  203. };
  204. extern float __glZERO__6Mesher ;
  205. float __glZERO__6Mesher = 0.0 ;
  206. extern struct __mptr* __ptbl_vec_____core_mesher_c___ZERO_[];
  207. struct Pool *__gl__ct__4PoolFiT1Pc (struct Pool *, int , int , char *);
  208. struct Hull *__gl__ct__4HullFv (struct Hull *, struct TrimRegion *);
  209. struct TrimRegion *__gl__ct__10TrimRegionFv (struct TrimRegion *);
  210. struct Mesher *__gl__ct__6MesherFR7Backend (struct Mesher *__0this , struct TrimRegion *__0TrimRegion , struct Backend *__1b )
  211. {
  212. void *__1__Xp00uzigaiaa ;
  213. if (__0this || (__0this = (struct Mesher *)( (__1__Xp00uzigaiaa = malloc ( (sizeof (struct Mesher))) ), (__1__Xp00uzigaiaa ?(((void *)__1__Xp00uzigaiaa )):(((void *)__1__Xp00uzigaiaa )))) )){
  214. ( ( ( ((__0TrimRegion == 0 )?( (__0TrimRegion = (((struct TrimRegion *)((((char *)__0this ))+ 348)))), __gl__ct__10TrimRegionFv ( ((struct TrimRegion *)((((char *)__0this ))+
  215. 348))) ) :__0TrimRegion ), __gl__ct__4HullFv ( ((struct Hull *)__0this ), __0TrimRegion ) ) , (__0this -> backend__6Mesher = __1b )) , __gl__ct__4PoolFiT1Pc (
  216. (struct Pool *)(& __0this -> p__6Mesher ), (int )(sizeof (struct GridTrimVertex )), 100 , (char *)"GridTrimVertexPool")
  217. ) ;
  218. __0this -> stacksize__6Mesher = 0 ;
  219. __0this -> vdata__6Mesher = 0 ;
  220. } return __0this ;
  221. }
  222. void __gl__dt__4PoolFv (struct Pool *, int );
  223. void __gl__dt__4HullFv (struct Hull *, int );
  224. void __gl__dt__6MesherFv (struct Mesher *__0this ,
  225. int __0__free )
  226. {
  227. void *__1__X7 ;
  228. if (__0this ){
  229. if (__0this -> vdata__6Mesher )( (__1__X7 = (void *)__0this -> vdata__6Mesher ), ( (__1__X7 ?( free ( __1__X7 ) ,
  230. 0 ) :( 0 ) )) ) ;
  231. if (__0this ){ __gl__dt__4PoolFv ( (struct Pool *)(& __0this -> p__6Mesher ), 2) ;
  232. ( __gl__dt__4HullFv ( ((struct Hull *)__0this ), 0 ) , ((__0__free & 2)?( (((void )( ((((struct TrimRegion *)((((char *)__0this ))+ 348)))?(
  233. ((((struct TrimRegion *)((((char *)__0this ))+ 348)))?( ( __gl__dt__6UarrayFv ( (struct Uarray *)(& (((struct TrimRegion *)((((char *)__0this ))+ 348)))-> uarray__10TrimRegion ), 2)
  234. , ( __gl__dt__8TrimlineFv ( (struct Trimline *)(& (((struct TrimRegion *)((((char *)__0this ))+ 348)))-> right__10TrimRegion ), 2) , ( __gl__dt__8TrimlineFv (
  235. (struct Trimline *)(& (((struct TrimRegion *)((((char *)__0this ))+ 348)))-> left__10TrimRegion ), 2) , (( 0 ) )) ) )
  236. , 0 ) :( 0 ) ), 0 ) :( 0 ) )) )), 0 ) :0 )) ;
  237. if (__0__free & 1)( (((void *)__0this )?( free ( ((void *)__0this )) , 0 ) :( 0 ) )) ;
  238. } } }
  239. void __glclear__4PoolFv (struct Pool *);
  240. void __glinit__6MesherFUi (struct Mesher *__0this , unsigned int __1npts )
  241. {
  242. __glclear__4PoolFv ( (struct Pool *)(& __0this -> p__6Mesher )) ;
  243. if (__0this -> stacksize__6Mesher < __1npts ){
  244. void *__1__X8 ;
  245. void *__1__Xp00uzigaiaa ;
  246. __0this -> stacksize__6Mesher = (2 * __1npts );
  247. if (__0this -> vdata__6Mesher )( (__1__X8 = (void *)__0this -> vdata__6Mesher ), ( (__1__X8 ?( free ( __1__X8 ) , 0 ) :(
  248. 0 ) )) ) ;
  249. __0this -> vdata__6Mesher = (struct GridTrimVertex **)(((struct GridTrimVertex **)( (__1__Xp00uzigaiaa = malloc ( ((sizeof (struct GridTrimVertex *))* __0this -> stacksize__6Mesher )) ), (__1__Xp00uzigaiaa ?(((void
  250. *)__1__Xp00uzigaiaa )):(((void *)__1__Xp00uzigaiaa )))) ));
  251. }
  252. }
  253. void __glbgntmesh__7BackendFPc (struct Backend *, char *);
  254. void __glendtmesh__7BackendFv (struct Backend *);
  255. void __glswaptmesh__7BackendFv (struct Backend *);
  256. struct GridTrimVertex *__glnextlower__4HullFP14GridTr0 (struct Hull *, struct GridTrimVertex *);
  257. void __gladdLower__6MesherFv (struct Mesher *);
  258. void __gladdLast__6MesherFv (struct Mesher *);
  259. void __glfinishLower__6MesherFP14Gr0 (struct Mesher *__0this , struct GridTrimVertex *__1gtlower )
  260. {
  261. struct GridTrimVertex *__0__X10 ;
  262. void *__1__Xbuffer00qkhgaiaa ;
  263. void *__1__Xp00uzigaiaa ;
  264. for(( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) ;__glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X10 = (struct
  265. GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa =
  266. (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))), (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct
  267. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) , 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(&
  268. __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))) , 0 ) :( 0 ) ),
  269. ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -= ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), (
  270. (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )))))
  271. ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa ))) ) ))) )?( ( (0 ), ((((struct GridVertex *)(&
  272. ((struct GridTrimVertex *)__0__X10 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X10 )-> g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X10 )-> t__14GridTrimVertex = 0 ),
  273. ((((struct GridTrimVertex *)__0__X10 )))) ) ) :0 )) ;( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) )
  274. __gladdLower__6MesherFv ( __0this ) ;
  275. __gladdLast__6MesherFv ( __0this ) ;
  276. }
  277. struct GridTrimVertex *__glnextupper__4HullFP14GridTr0 (struct Hull *, struct GridTrimVertex *);
  278. void __gladdUpper__6MesherFv (struct Mesher *);
  279. void __glfinishUpper__6MesherFP14Gr0 (struct Mesher *__0this , struct GridTrimVertex *__1gtupper )
  280. {
  281. struct GridTrimVertex *__0__X11 ;
  282. void *__1__Xbuffer00qkhgaiaa ;
  283. void *__1__Xp00uzigaiaa ;
  284. for(( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;__glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X11 = (struct
  285. GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa =
  286. (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))), (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct
  287. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) , 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(&
  288. __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))) , 0 ) :( 0 ) ),
  289. ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -= ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), (
  290. (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )))))
  291. ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa ))) ) ))) )?( ( (0 ), ((((struct GridVertex *)(&
  292. ((struct GridTrimVertex *)__0__X11 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X11 )-> g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X11 )-> t__14GridTrimVertex = 0 ),
  293. ((((struct GridTrimVertex *)__0__X11 )))) ) ) :0 )) ;( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) )
  294. __gladdUpper__6MesherFv ( __0this ) ;
  295. __gladdLast__6MesherFv ( __0this ) ;
  296. }
  297. void __glinit__4HullFv (struct Hull *);
  298. void __glmesh__6MesherFv (struct Mesher *__0this )
  299. {
  300. struct GridTrimVertex *__1gtlower ;
  301. struct GridTrimVertex *__1gtupper ;
  302. struct GridTrimVertex *__0__X12 ;
  303. void *__1__Xbuffer00qkhgaiaa ;
  304. void *__1__Xp00uzigaiaa ;
  305. struct GridTrimVertex *__0__X13 ;
  306. struct GridTrimVertex *__0__X14 ;
  307. __glinit__4HullFv ( (struct Hull *)__0this ) ;
  308. __glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X12 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct Pool *)((struct
  309. Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))), (((struct
  310. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) , 0 )
  311. :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(& __0this ->
  312. p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -= ((struct
  313. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> curblock__4Pool +
  314. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa ))) )
  315. ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X12 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X12 )-> g__14GridTrimVertex =
  316. 0 ), ( (((struct GridTrimVertex *)__0__X12 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X12 )))) ) ) :0 )) ;
  317. __glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X13 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct Pool *)((struct
  318. Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))), (((struct
  319. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) , 0 )
  320. :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(& __0this ->
  321. p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -= ((struct
  322. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> curblock__4Pool +
  323. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa ))) )
  324. ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X13 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X13 )-> g__14GridTrimVertex =
  325. 0 ), ( (((struct GridTrimVertex *)__0__X13 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X13 )))) ) ) :0 )) ;
  326. ( (__0this -> itop__6Mesher = -1), ((__0this -> last__6Mesher [0 ])= 0 )) ;
  327. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  328. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;
  329. __glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X14 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct Pool *)((struct
  330. Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))), (((struct
  331. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) , 0 )
  332. :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(& __0this ->
  333. p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -= ((struct
  334. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> curblock__4Pool +
  335. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa ))) )
  336. ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X14 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X14 )-> g__14GridTrimVertex =
  337. 0 ), ( (((struct GridTrimVertex *)__0__X14 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X14 )))) ) ) :0 )) ;
  338. __glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower ) ;
  339. ((void )0 );
  340. if ((__1gtupper -> t__14GridTrimVertex -> param__10TrimVertex [0 ])< (__1gtlower -> t__14GridTrimVertex -> param__10TrimVertex [0 ])){
  341. struct GridTrimVertex *__0__X15 ;
  342. void *__1__Xbuffer00qkhgaiaa ;
  343. void *__1__Xp00uzigaiaa ;
  344. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;
  345. __0this -> lastedge__6Mesher = 1 ;
  346. if (__glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X15 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  347. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  348. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  349. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  350. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  351. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  352. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  353. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X15 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X15 )->
  354. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X15 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X15 )))) ) ) :0 )) == 0 ){
  355. __glfinishLower__6MesherFP14Gr0 ( __0this , __1gtlower ) ;
  356. return ;
  357. }
  358. }
  359. else
  360. if ((__1gtupper -> t__14GridTrimVertex -> param__10TrimVertex [0 ])> (__1gtlower -> t__14GridTrimVertex -> param__10TrimVertex [0 ])){
  361. struct GridTrimVertex *__0__X16 ;
  362. void *__1__Xbuffer00qkhgaiaa ;
  363. void *__1__Xp00uzigaiaa ;
  364. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) ;
  365. __0this -> lastedge__6Mesher = 0 ;
  366. if (__glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X16 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  367. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  368. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  369. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  370. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  371. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  372. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  373. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X16 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X16 )->
  374. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X16 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X16 )))) ) ) :0 )) == 0 ){
  375. __glfinishUpper__6MesherFP14Gr0 ( __0this , __1gtupper ) ;
  376. return ;
  377. }
  378. }
  379. else
  380. {
  381. if (__0this -> lastedge__6Mesher == 0 ){
  382. struct GridTrimVertex *__0__X17 ;
  383. void *__1__Xbuffer00qkhgaiaa ;
  384. void *__1__Xp00uzigaiaa ;
  385. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;
  386. __0this -> lastedge__6Mesher = 1 ;
  387. if (__glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X17 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  388. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  389. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  390. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  391. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  392. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  393. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  394. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X17 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X17 )->
  395. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X17 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X17 )))) ) ) :0 )) == 0 ){
  396. __glfinishLower__6MesherFP14Gr0 ( __0this , __1gtlower ) ;
  397. return ;
  398. }
  399. }
  400. else
  401. {
  402. struct GridTrimVertex *__0__X18 ;
  403. void *__1__Xbuffer00qkhgaiaa ;
  404. void *__1__Xp00uzigaiaa ;
  405. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) ;
  406. __0this -> lastedge__6Mesher = 0 ;
  407. if (__glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X18 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  408. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  409. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  410. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  411. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  412. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  413. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  414. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X18 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X18 )->
  415. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X18 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X18 )))) ) ) :0 )) == 0 ){
  416. __glfinishUpper__6MesherFP14Gr0 ( __0this , __1gtupper ) ;
  417. return ;
  418. }
  419. }
  420. }
  421. while (1 ){
  422. if ((__1gtupper -> t__14GridTrimVertex -> param__10TrimVertex [0 ])< (__1gtlower -> t__14GridTrimVertex -> param__10TrimVertex [0 ])){
  423. struct GridTrimVertex *__0__X19 ;
  424. void *__1__Xbuffer00qkhgaiaa ;
  425. void *__1__Xp00uzigaiaa ;
  426. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;
  427. __gladdUpper__6MesherFv ( __0this ) ;
  428. if (__glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X19 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  429. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  430. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  431. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  432. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  433. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  434. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  435. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X19 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X19 )->
  436. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X19 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X19 )))) ) ) :0 )) == 0 ){
  437. __glfinishLower__6MesherFP14Gr0 ( __0this , __1gtlower ) ;
  438. return ;
  439. }
  440. }
  441. else
  442. if ((__1gtupper -> t__14GridTrimVertex -> param__10TrimVertex [0 ])> (__1gtlower -> t__14GridTrimVertex -> param__10TrimVertex [0 ])){
  443. struct GridTrimVertex *__0__X20 ;
  444. void *__1__Xbuffer00qkhgaiaa ;
  445. void *__1__Xp00uzigaiaa ;
  446. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) ;
  447. __gladdLower__6MesherFv ( __0this ) ;
  448. if (__glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X20 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  449. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  450. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  451. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  452. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  453. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  454. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  455. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X20 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X20 )->
  456. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X20 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X20 )))) ) ) :0 )) == 0 ){
  457. __glfinishUpper__6MesherFP14Gr0 ( __0this , __1gtupper ) ;
  458. return ;
  459. }
  460. }
  461. else
  462. {
  463. if (__0this -> lastedge__6Mesher == 0 ){
  464. struct GridTrimVertex *__0__X21 ;
  465. void *__1__Xbuffer00qkhgaiaa ;
  466. void *__1__Xp00uzigaiaa ;
  467. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtupper )) ;
  468. __gladdUpper__6MesherFv ( __0this ) ;
  469. if (__glnextupper__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtupper = ((__0__X21 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  470. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  471. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  472. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  473. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  474. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  475. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  476. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X21 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X21 )->
  477. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X21 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X21 )))) ) ) :0 )) == 0 ){
  478. __glfinishLower__6MesherFP14Gr0 ( __0this , __1gtlower ) ;
  479. return ;
  480. }
  481. }
  482. else
  483. {
  484. struct GridTrimVertex *__0__X22 ;
  485. void *__1__Xbuffer00qkhgaiaa ;
  486. void *__1__Xp00uzigaiaa ;
  487. ( (((void )0 )), ((__0this -> vdata__6Mesher [(++ __0this -> itop__6Mesher )])= __1gtlower )) ;
  488. __gladdLower__6MesherFv ( __0this ) ;
  489. if (__glnextlower__4HullFP14GridTr0 ( (struct Hull *)__0this , __1gtlower = ((__0__X22 = (struct GridTrimVertex *)( (((void *)( (((void )0 )), ( (((struct
  490. Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ?( ( (__1__Xbuffer00qkhgaiaa = (((void *)((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool ))),
  491. (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool = ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> freelist__4Pool -> next__6Buffer )) ,
  492. 0 ) :( ( ((! ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool )?( __glgrow__4PoolFv ( ((struct Pool *)((struct Pool *)(&
  493. __0this -> p__6Mesher )))) , 0 ) :( 0 ) ), ( (((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool -=
  494. ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> buffersize__4Pool ), ( (__1__Xbuffer00qkhgaiaa = (((void *)(((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))->
  495. curblock__4Pool + ((struct Pool *)((struct Pool *)(& __0this -> p__6Mesher )))-> nextfree__4Pool ))))) ) ) , 0 ) ), (((void *)__1__Xbuffer00qkhgaiaa )))
  496. ) ))) )?( ( (0 ), ((((struct GridVertex *)(& ((struct GridTrimVertex *)__0__X22 )-> dummyg__14GridTrimVertex ))))) , ( (((struct GridTrimVertex *)__0__X22 )->
  497. g__14GridTrimVertex = 0 ), ( (((struct GridTrimVertex *)__0__X22 )-> t__14GridTrimVertex = 0 ), ((((struct GridTrimVertex *)__0__X22 )))) ) ) :0 )) == 0 ){
  498. __glfinishUpper__6MesherFP14Gr0 ( __0this , __1gtupper ) ;
  499. return ;
  500. }
  501. }
  502. }
  503. }
  504. }
  505. void __gltmeshvert__7BackendFP14Gri0 (struct Backend *, struct GridTrimVertex *);
  506. void __gladdLast__6MesherFv (struct Mesher *__0this )
  507. {
  508. register int __1ilast ;
  509. __1ilast = __0this -> itop__6Mesher ;
  510. if (__0this -> lastedge__6Mesher == 0 ){
  511. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [0 ]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [1 ]))))
  512. ){
  513. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  514. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  515. { { register int __3i ;
  516. __3i = 2 ;
  517. for(;__3i < __1ilast ;__3i ++ ) {
  518. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  519. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  520. }
  521. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  522. }
  523. }
  524. }
  525. else
  526. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )])))) ){
  527. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  528. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  529. { { register int __3i ;
  530. __3i = (__1ilast - 3 );
  531. for(;__3i >= 0 ;__3i -- ) {
  532. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  533. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  534. }
  535. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [0 ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  536. }
  537. }
  538. }
  539. else
  540. {
  541. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  542. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  543. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  544. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [0 ]) ) ;
  545. { { register int __3i ;
  546. __3i = 1 ;
  547. for(;__3i < __1ilast ;__3i ++ ) {
  548. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  549. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  550. }
  551. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  552. }
  553. }
  554. }
  555. }
  556. else
  557. {
  558. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [1 ]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [0 ])))) ){
  559. (
  560. __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  561. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  562. { { register int __3i ;
  563. __3i = 2 ;
  564. for(;__3i < __1ilast ;__3i ++ ) {
  565. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  566. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  567. }
  568. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  569. }
  570. }
  571. }
  572. else
  573. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )])))) ){
  574. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  575. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  576. { { register int __3i ;
  577. __3i = (__1ilast - 3 );
  578. for(;__3i >= 0 ;__3i -- ) {
  579. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  580. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  581. }
  582. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [0 ]))) ;
  583. }
  584. }
  585. }
  586. else
  587. {
  588. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  589. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  590. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [0 ]) ) ;
  591. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  592. { { register int __3i ;
  593. __3i = 1 ;
  594. for(;__3i < __1ilast ;__3i ++ ) {
  595. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  596. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  597. }
  598. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  599. }
  600. }
  601. }
  602. }
  603. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  604. }
  605. void __gladdUpper__6MesherFv (struct Mesher *__0this )
  606. {
  607. register int __1ilast ;
  608. __1ilast = __0this -> itop__6Mesher ;
  609. if (__0this -> lastedge__6Mesher == 0 ){
  610. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [0 ]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [1 ]))))
  611. ){
  612. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  613. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  614. { { register int __3i ;
  615. __3i = 2 ;
  616. for(;__3i < __1ilast ;__3i ++ ) {
  617. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  618. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  619. }
  620. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  621. }
  622. }
  623. }
  624. else
  625. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )])))) ){
  626. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  627. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  628. { { register int __3i ;
  629. __3i = (__1ilast - 3 );
  630. for(;__3i >= 0 ;__3i -- ) {
  631. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  632. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  633. }
  634. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [0 ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  635. }
  636. }
  637. }
  638. else
  639. {
  640. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  641. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  642. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  643. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [0 ]) ) ;
  644. { { register int __3i ;
  645. __3i = 1 ;
  646. for(;__3i < __1ilast ;__3i ++ ) {
  647. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  648. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  649. }
  650. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  651. }
  652. }
  653. }
  654. __0this -> lastedge__6Mesher = 1 ;
  655. ( ((__0this -> vdata__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  656. ( ((__0this -> vdata__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  657. __0this -> itop__6Mesher = 1 ;
  658. }
  659. else
  660. {
  661. float __1__Xarea00qyumaile ;
  662. struct TrimVertex *__1__X23 ;
  663. struct TrimVertex *__1__X24 ;
  664. struct TrimVertex *__1__X25 ;
  665. if (! ( (__1__Xarea00qyumaile = ( (__1__X23 = (__0this -> vdata__6Mesher [__1ilast ])-> t__14GridTrimVertex ), ( (__1__X24 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher -
  666. 1 )])-> t__14GridTrimVertex ), ( (__1__X25 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 2 )])-> t__14GridTrimVertex ), ( ((((__1__X23 -> param__10TrimVertex [0 ])* ((__1__X24 -> param__10TrimVertex [1 ])-
  667. (__1__X25 -> param__10TrimVertex [1 ])))+ ((__1__X24 -> param__10TrimVertex [0 ])* ((__1__X25 -> param__10TrimVertex [1 ])- (__1__X23 -> param__10TrimVertex [1 ]))))+ ((__1__X25 -> param__10TrimVertex [0 ])* ((__1__X23 -> param__10TrimVertex [1 ])- (__1__X24 -> param__10TrimVertex [1 ])))))
  668. ) ) ) ), ((__1__Xarea00qyumaile < __glZERO__6Mesher )?0 :1 )) )return ;
  669. do {
  670. __0this -> itop__6Mesher -- ;
  671. }
  672. while ((__0this -> itop__6Mesher > 1 )&& ( (__1__Xarea00qyumaile = ( (__1__X23 = (__0this -> vdata__6Mesher [__1ilast ])-> t__14GridTrimVertex ), ( (__1__X24 = (__0this ->
  673. vdata__6Mesher [(__0this -> itop__6Mesher - 1 )])-> t__14GridTrimVertex ), ( (__1__X25 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 2 )])-> t__14GridTrimVertex ), ( ((((__1__X23 -> param__10TrimVertex [0 ])*
  674. ((__1__X24 -> param__10TrimVertex [1 ])- (__1__X25 -> param__10TrimVertex [1 ])))+ ((__1__X24 -> param__10TrimVertex [0 ])* ((__1__X25 -> param__10TrimVertex [1 ])- (__1__X23 -> param__10TrimVertex [1 ]))))+ ((__1__X25 -> param__10TrimVertex [0 ])* ((__1__X23 -> param__10TrimVertex [1 ])-
  675. (__1__X24 -> param__10TrimVertex [1 ]))))) ) ) ) ), ((__1__Xarea00qyumaile < __glZERO__6Mesher )?0 :1 )) );
  676. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )])))) ){
  677. (
  678. __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  679. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  680. { { register int __3i ;
  681. __3i = (__1ilast - 3 );
  682. for(;__3i >= (__0this -> itop__6Mesher - 1 );__3i -- ) {
  683. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  684. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  685. }
  686. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )]))) ;
  687. }
  688. }
  689. }
  690. else
  691. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [__0this -> itop__6Mesher ]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )]))))
  692. ){
  693. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  694. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  695. { { register int __3i ;
  696. __3i = (__0this -> itop__6Mesher + 1 );
  697. for(;__3i < __1ilast ;__3i ++ ) {
  698. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  699. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  700. }
  701. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  702. }
  703. }
  704. }
  705. else
  706. {
  707. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  708. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  709. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  710. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [(__1ilast - 1 )]) ) ;
  711. { { register int __3i ;
  712. __3i = (__1ilast - 2 );
  713. for(;__3i >= (__0this -> itop__6Mesher - 1 );__3i -- ) {
  714. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  715. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  716. }
  717. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )]))) ;
  718. }
  719. }
  720. }
  721. ( ((__0this -> vdata__6Mesher [__0this -> itop__6Mesher ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  722. }
  723. }
  724. void __gladdLower__6MesherFv (struct Mesher *__0this )
  725. {
  726. register int __1ilast ;
  727. __1ilast = __0this -> itop__6Mesher ;
  728. if (__0this -> lastedge__6Mesher == 1 ){
  729. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [1 ]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [0 ]))))
  730. ){
  731. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  732. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  733. { { register int __3i ;
  734. __3i = 2 ;
  735. for(;__3i < __1ilast ;__3i ++ ) {
  736. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  737. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  738. }
  739. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  740. }
  741. }
  742. }
  743. else
  744. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )])))) ){
  745. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  746. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  747. { { register int __3i ;
  748. __3i = (__1ilast - 3 );
  749. for(;__3i >= 0 ;__3i -- ) {
  750. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  751. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  752. }
  753. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [0 ]))) ;
  754. }
  755. }
  756. }
  757. else
  758. {
  759. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  760. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  761. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [0 ]) ) ;
  762. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  763. { { register int __3i ;
  764. __3i = 1 ;
  765. for(;__3i < __1ilast ;__3i ++ ) {
  766. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  767. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  768. }
  769. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  770. }
  771. }
  772. }
  773. __0this -> lastedge__6Mesher = 0 ;
  774. ( ((__0this -> vdata__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  775. ( ((__0this -> vdata__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  776. __0this -> itop__6Mesher = 1 ;
  777. }
  778. else
  779. {
  780. float __1__Xarea002uumaige ;
  781. struct TrimVertex *__1__X26 ;
  782. struct TrimVertex *__1__X27 ;
  783. struct TrimVertex *__1__X28 ;
  784. if (! ( (__1__Xarea002uumaige = ( (__1__X26 = (__0this -> vdata__6Mesher [__1ilast ])-> t__14GridTrimVertex ), ( (__1__X27 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher -
  785. 1 )])-> t__14GridTrimVertex ), ( (__1__X28 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 2 )])-> t__14GridTrimVertex ), ( ((((__1__X26 -> param__10TrimVertex [0 ])* ((__1__X27 -> param__10TrimVertex [1 ])-
  786. (__1__X28 -> param__10TrimVertex [1 ])))+ ((__1__X27 -> param__10TrimVertex [0 ])* ((__1__X28 -> param__10TrimVertex [1 ])- (__1__X26 -> param__10TrimVertex [1 ]))))+ ((__1__X28 -> param__10TrimVertex [0 ])* ((__1__X26 -> param__10TrimVertex [1 ])- (__1__X27 -> param__10TrimVertex [1 ])))))
  787. ) ) ) ), ((__1__Xarea002uumaige > (- __glZERO__6Mesher ))?0 :1 )) )return ;
  788. do {
  789. __0this -> itop__6Mesher -- ;
  790. }
  791. while ((__0this -> itop__6Mesher > 1 )&& ( (__1__Xarea002uumaige = ( (__1__X26 = (__0this -> vdata__6Mesher [__1ilast ])-> t__14GridTrimVertex ), ( (__1__X27 = (__0this ->
  792. vdata__6Mesher [(__0this -> itop__6Mesher - 1 )])-> t__14GridTrimVertex ), ( (__1__X28 = (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 2 )])-> t__14GridTrimVertex ), ( ((((__1__X26 -> param__10TrimVertex [0 ])*
  793. ((__1__X27 -> param__10TrimVertex [1 ])- (__1__X28 -> param__10TrimVertex [1 ])))+ ((__1__X27 -> param__10TrimVertex [0 ])* ((__1__X28 -> param__10TrimVertex [1 ])- (__1__X26 -> param__10TrimVertex [1 ]))))+ ((__1__X28 -> param__10TrimVertex [0 ])* ((__1__X26 -> param__10TrimVertex [1 ])-
  794. (__1__X27 -> param__10TrimVertex [1 ]))))) ) ) ) ), ((__1__Xarea002uumaige > (- __glZERO__6Mesher ))?0 :1 )) );
  795. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__1ilast - 2 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [(__1ilast - 1 )])))) ){
  796. (
  797. __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  798. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  799. { { register int __3i ;
  800. __3i = (__1ilast - 3 );
  801. for(;__3i >= (__0this -> itop__6Mesher - 1 );__3i -- ) {
  802. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) )
  803. ;
  804. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  805. }
  806. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  807. }
  808. }
  809. }
  810. else
  811. if (( (((__0this -> last__6Mesher [0 ])== (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )]))&& ((__0this -> last__6Mesher [1 ])== (__0this -> vdata__6Mesher [__0this -> itop__6Mesher ]))))
  812. ){
  813. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  814. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  815. { { register int __3i ;
  816. __3i = (__0this -> itop__6Mesher + 1 );
  817. for(;__3i < __1ilast ;__3i ++ ) {
  818. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  819. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) ) ;
  820. }
  821. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [__1ilast ])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [(__1ilast - 1 )]))) ;
  822. }
  823. }
  824. }
  825. else
  826. {
  827. ( __glendtmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  828. ( __glbgntmesh__7BackendFPc ( (struct Backend *)__0this -> backend__6Mesher , (char *)"addedge") ) ;
  829. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [(__1ilast - 1 )]) ) ;
  830. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__1ilast ]) ) ;
  831. { { register int __3i ;
  832. __3i = (__1ilast - 2 );
  833. for(;__3i >= (__0this -> itop__6Mesher - 1 );__3i -- ) {
  834. ( __gltmeshvert__7BackendFP14Gri0 ( (struct Backend *)__0this -> backend__6Mesher , __0this -> vdata__6Mesher [__3i ]) )
  835. ;
  836. ( __glswaptmesh__7BackendFv ( (struct Backend *)__0this -> backend__6Mesher ) ) ;
  837. }
  838. ( ((__0this -> last__6Mesher [0 ])= (__0this -> vdata__6Mesher [(__0this -> itop__6Mesher - 1 )])), ((__0this -> last__6Mesher [1 ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  839. }
  840. }
  841. }
  842. ( ((__0this -> vdata__6Mesher [__0this -> itop__6Mesher ])= (__0this -> vdata__6Mesher [__1ilast ]))) ;
  843. }
  844. }
  845. /* the end */