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.

1403 lines
30 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/mapdesc.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. typedef float REAL ;
  37. typedef void (*Pfvv )(void );
  38. typedef void (*Pfvf )(float *);
  39. typedef int (*cmpfunc )(void *, void *);
  40. typedef REAL Knot ;
  41. typedef REAL *Knot_ptr ;
  42. struct TrimVertex;
  43. struct TrimVertex {
  44. REAL param__10TrimVertex [2];
  45. long nuid__10TrimVertex ;
  46. };
  47. typedef struct TrimVertex *TrimVertex_p ;
  48. struct GridVertex;
  49. struct GridVertex {
  50. long gparam__10GridVertex [2];
  51. };
  52. struct Buffer;
  53. struct Buffer {
  54. struct Buffer *next__6Buffer ;
  55. };
  56. struct Pool;
  57. enum __Q2_4Pool5Magic { is_allocated__Q2_4Pool5Magic = 62369, is_free__Q2_4Pool5Magic = 61858} ;
  58. struct Pool {
  59. struct Buffer *freelist__4Pool ;
  60. char *blocklist__4Pool [32];
  61. int nextblock__4Pool ;
  62. char *curblock__4Pool ;
  63. int buffersize__4Pool ;
  64. int nextsize__4Pool ;
  65. int nextfree__4Pool ;
  66. int initsize__4Pool ;
  67. char *name__4Pool ;
  68. int magic__4Pool ;
  69. };
  70. void __glgrow__4PoolFv (struct Pool *);
  71. struct PooledObj;
  72. struct PooledObj {
  73. char __W3__9PooledObj ;
  74. };
  75. struct GridTrimVertex;
  76. struct GridTrimVertex {
  77. char __W3__9PooledObj ;
  78. struct TrimVertex dummyt__14GridTrimVertex ;
  79. struct GridVertex dummyg__14GridTrimVertex ;
  80. struct TrimVertex *t__14GridTrimVertex ;
  81. struct GridVertex *g__14GridTrimVertex ;
  82. };
  83. typedef struct GridTrimVertex *GridTrimVertex_p ;
  84. struct BasicCurveEvaluator;
  85. struct BasicSurfaceEvaluator;
  86. struct Backend;
  87. struct Backend {
  88. struct BasicCurveEvaluator *curveEvaluator__7Backend ;
  89. struct BasicSurfaceEvaluator *surfaceEvaluator__7Backend ;
  90. int wireframetris__7Backend ;
  91. int wireframequads__7Backend ;
  92. int npts__7Backend ;
  93. REAL mesh__7Backend [3][4];
  94. int meshindex__7Backend ;
  95. };
  96. typedef REAL Maxmatrix [5][5];
  97. struct Mapdesc;
  98. struct Mapdesc {
  99. char __W3__9PooledObj ;
  100. REAL pixel_tolerance__7Mapdesc ;
  101. REAL clampfactor__7Mapdesc ;
  102. REAL minsavings__7Mapdesc ;
  103. REAL maxrate__7Mapdesc ;
  104. REAL maxsrate__7Mapdesc ;
  105. REAL maxtrate__7Mapdesc ;
  106. REAL bboxsize__7Mapdesc [5];
  107. long type__7Mapdesc ;
  108. int isrational__7Mapdesc ;
  109. int ncoords__7Mapdesc ;
  110. int hcoords__7Mapdesc ;
  111. int inhcoords__7Mapdesc ;
  112. int mask__7Mapdesc ;
  113. Maxmatrix bmat__7Mapdesc ;
  114. Maxmatrix cmat__7Mapdesc ;
  115. Maxmatrix smat__7Mapdesc ;
  116. REAL s_steps__7Mapdesc ;
  117. REAL t_steps__7Mapdesc ;
  118. REAL sampling_method__7Mapdesc ;
  119. REAL culling_method__7Mapdesc ;
  120. REAL bbox_subdividing__7Mapdesc ;
  121. struct Mapdesc *next__7Mapdesc ;
  122. struct Backend *backend__7Mapdesc ;
  123. };
  124. void __glcopy__7MapdescSFPA5_flPfN20 (REAL (*)[5], long , float *, long , long );
  125. void __glxformRational__7MapdescFPA0 (struct Mapdesc *, REAL (*)[5], REAL *, REAL *);
  126. void __glxformNonrational__7Mapdesc0 (struct Mapdesc *, REAL (*)[5], REAL *, REAL *);
  127. void __glidentify__7MapdescFPA5_f (struct Mapdesc *, REAL (*)[5]);
  128. extern struct __mptr* __ptbl_vec_____core_mapdesc_c_____ct_[];
  129. struct Mapdesc *__gl__ct__7MapdescFliT2R7Backe0 (struct Mapdesc *__0this , long __1_type , int __1_israt , int __1_ncoords , struct Backend *__1b )
  130. { __0this -> backend__7Mapdesc = __1b ;
  131. __0this -> type__7Mapdesc = __1_type ;
  132. __0this -> isrational__7Mapdesc = __1_israt ;
  133. __0this -> ncoords__7Mapdesc = __1_ncoords ;
  134. __0this -> hcoords__7Mapdesc = (__1_ncoords + (__1_israt ?0 :1 ));
  135. __0this -> inhcoords__7Mapdesc = (__1_ncoords - (__1_israt ?1 :0 ));
  136. __0this -> mask__7Mapdesc = ((1 << (__0this -> inhcoords__7Mapdesc * 2 ))- 1 );
  137. __0this -> next__7Mapdesc = 0 ;
  138. ((void )0 );
  139. ((void )0 );
  140. __0this -> pixel_tolerance__7Mapdesc = 1.0 ;
  141. __0this -> bbox_subdividing__7Mapdesc = 0.0 ;
  142. __0this -> culling_method__7Mapdesc = 0.0 ;
  143. __0this -> sampling_method__7Mapdesc = 0.0 ;
  144. __0this -> clampfactor__7Mapdesc = 0.0 ;
  145. __0this -> minsavings__7Mapdesc = 0.0 ;
  146. __0this -> s_steps__7Mapdesc = 0.0 ;
  147. __0this -> t_steps__7Mapdesc = 0.0 ;
  148. __0this -> maxrate__7Mapdesc = ((__0this -> s_steps__7Mapdesc < 0.0 )?0.0 :(((double )__0this -> s_steps__7Mapdesc )));
  149. __0this -> maxsrate__7Mapdesc = ((__0this -> s_steps__7Mapdesc < 0.0 )?0.0 :(((double )__0this -> s_steps__7Mapdesc )));
  150. __0this -> maxtrate__7Mapdesc = ((__0this -> t_steps__7Mapdesc < 0.0 )?0.0 :(((double )__0this -> t_steps__7Mapdesc )));
  151. __glidentify__7MapdescFPA5_f ( __0this , (float (*)[5])__0this -> bmat__7Mapdesc ) ;
  152. __glidentify__7MapdescFPA5_f ( __0this , (float (*)[5])__0this -> cmat__7Mapdesc ) ;
  153. __glidentify__7MapdescFPA5_f ( __0this , (float (*)[5])__0this -> smat__7Mapdesc ) ;
  154. { { int __1i ;
  155. __1i = 0 ;
  156. for(;__1i != __0this -> inhcoords__7Mapdesc ;__1i ++ )
  157. (__0this -> bboxsize__7Mapdesc [__1i ])= 1.0 ;
  158. }
  159. }
  160. return __0this ;
  161. }
  162. void __glsetBboxsize__7MapdescFPf (struct Mapdesc *__0this , float *__1mat )
  163. {
  164. { { int __1i ;
  165. __1i = 0 ;
  166. for(;__1i != __0this -> inhcoords__7Mapdesc ;__1i ++ )
  167. (__0this -> bboxsize__7Mapdesc [__1i ])= (((float )(__1mat [__1i ])));
  168. }
  169. }
  170. }
  171. // extern void *memset (void *, int , size_t );
  172. void __glidentify__7MapdescFPA5_f (struct Mapdesc *__0this , REAL (*__1dest )[5])
  173. {
  174. memset ( (void *)__1dest , 0 , sizeof __1dest ) ;
  175. { { int __1i ;
  176. __1i = 0 ;
  177. for(;__1i != __0this -> hcoords__7Mapdesc ;__1i ++ )
  178. ((__1dest [__1i ])[__1i ])= 1.0 ;
  179. }
  180. }
  181. }
  182. void __glsurfbbox__7BackendFlPfT2 (struct Backend *, long , REAL *, REAL *);
  183. void __glsurfbbox__7MapdescFPA5_f (struct Mapdesc *__0this , REAL (*__1bb )[5])
  184. {
  185. __glsurfbbox__7BackendFlPfT2 ( (struct Backend *)__0this -> backend__7Mapdesc , __0this -> type__7Mapdesc , (float *)(__1bb [0 ]), (float *)(__1bb [1 ]))
  186. ;
  187. }
  188. void __glcopy__7MapdescSFPA5_flPfN20 (REAL (*__1dest )[5], long __1n , float *__1src ,
  189. long __1rstride , long __1cstride )
  190. {
  191. ((void )0 );
  192. { { int __1i ;
  193. __1i = 0 ;
  194. for(;__1i != __1n ;__1i ++ )
  195. { { int __1j ;
  196. __1j = 0 ;
  197. for(;__1j != __1n ;__1j ++ )
  198. ((__1dest [__1i ])[__1j ])= (__1src [((__1i * __1rstride )+ (__1j * __1cstride ))]);
  199. }
  200. }
  201. }
  202. }
  203. }
  204. // extern void *memcpy (void *, void *, size_t );
  205. void __glcopyPt__7MapdescFPfT1 (struct Mapdesc *__0this , REAL *__1d , REAL *__1s )
  206. {
  207. ((void )0 );
  208. switch (__0this -> hcoords__7Mapdesc ){
  209. case 4 :
  210. (__1d [3 ])= (__1s [3 ]);
  211. (__1d [2 ])= (__1s [2 ]);
  212. (__1d [1 ])= (__1s [1 ]);
  213. (__1d [0 ])= (__1s [0 ]);
  214. break ;
  215. case 3 :
  216. (__1d [2 ])= (__1s [2 ]);
  217. (__1d [1 ])= (__1s [1 ]);
  218. (__1d [0 ])= (__1s [0 ]);
  219. break ;
  220. case 2 :
  221. (__1d [1 ])= (__1s [1 ]);
  222. (__1d [0 ])= (__1s [0 ]);
  223. break ;
  224. case 1 :
  225. (__1d [0 ])= (__1s [0 ]);
  226. break ;
  227. case 5 :
  228. (__1d [4 ])= (__1s [4 ]);
  229. (__1d [3 ])= (__1s [3 ]);
  230. (__1d [2 ])= (__1s [2 ]);
  231. (__1d [1 ])= (__1s [1 ]);
  232. (__1d [0 ])= (__1s [0 ]);
  233. break ;
  234. default :
  235. memcpy ( (void *)__1d , (void *)__1s , __0this -> hcoords__7Mapdesc * (sizeof (REAL ))) ;
  236. break ;
  237. }
  238. }
  239. void __glsumPt__7MapdescFPfN21fT4 (struct Mapdesc *__0this , REAL *__1dst , REAL *__1src1 , REAL *__1src2 , register REAL __1alpha , register REAL __1beta )
  240. {
  241. ((void )0 );
  242. switch (__0this -> hcoords__7Mapdesc ){
  243. case 4 :
  244. (__1dst [3 ])= (((__1src1 [3 ])* __1alpha )+ ((__1src2 [3 ])* __1beta ));
  245. (__1dst [2 ])= (((__1src1 [2 ])* __1alpha )+ ((__1src2 [2 ])* __1beta ));
  246. (__1dst [1 ])= (((__1src1 [1 ])* __1alpha )+ ((__1src2 [1 ])* __1beta ));
  247. (__1dst [0 ])= (((__1src1 [0 ])* __1alpha )+ ((__1src2 [0 ])* __1beta ));
  248. break ;
  249. case 3 :
  250. (__1dst [2 ])= (((__1src1 [2 ])* __1alpha )+ ((__1src2 [2 ])* __1beta ));
  251. (__1dst [1 ])= (((__1src1 [1 ])* __1alpha )+ ((__1src2 [1 ])* __1beta ));
  252. (__1dst [0 ])= (((__1src1 [0 ])* __1alpha )+ ((__1src2 [0 ])* __1beta ));
  253. break ;
  254. case 2 :
  255. (__1dst [1 ])= (((__1src1 [1 ])* __1alpha )+ ((__1src2 [1 ])* __1beta ));
  256. (__1dst [0 ])= (((__1src1 [0 ])* __1alpha )+ ((__1src2 [0 ])* __1beta ));
  257. break ;
  258. case 1 :
  259. (__1dst [0 ])= (((__1src1 [0 ])* __1alpha )+ ((__1src2 [0 ])* __1beta ));
  260. break ;
  261. case 5 :
  262. (__1dst [4 ])= (((__1src1 [4 ])* __1alpha )+ ((__1src2 [4 ])* __1beta ));
  263. (__1dst [3 ])= (((__1src1 [3 ])* __1alpha )+ ((__1src2 [3 ])* __1beta ));
  264. (__1dst [2 ])= (((__1src1 [2 ])* __1alpha )+ ((__1src2 [2 ])* __1beta ));
  265. (__1dst [1 ])= (((__1src1 [1 ])* __1alpha )+ ((__1src2 [1 ])* __1beta ));
  266. (__1dst [0 ])= (((__1src1 [0 ])* __1alpha )+ ((__1src2 [0 ])* __1beta ));
  267. break ;
  268. default :{
  269. { { int __3i ;
  270. __3i = 0 ;
  271. for(;__3i != __0this -> hcoords__7Mapdesc ;__3i ++ )
  272. (__1dst [__3i ])= (((__1src1 [__3i ])* __1alpha )+ ((__1src2 [__3i ])* __1beta ));
  273. }
  274. }
  275. }
  276. break ;
  277. }
  278. }
  279. // extern void abort (void );
  280. unsigned int __glclipbits__7MapdescFPf (struct Mapdesc *__0this , REAL *__1p )
  281. {
  282. ((void )0 );
  283. ((void )0 );
  284. { register int __1nc ;
  285. register REAL __1pw ;
  286. register REAL __1nw ;
  287. register unsigned int __1bits ;
  288. __1nc = __0this -> inhcoords__7Mapdesc ;
  289. __1pw = (__1p [__1nc ]);
  290. __1nw = (- __1pw );
  291. __1bits = 0 ;
  292. if (__1pw == 0.0 )return (unsigned int )__0this -> mask__7Mapdesc ;
  293. if (__1pw > 0.0 ){
  294. switch (__1nc ){
  295. case 3 :
  296. if ((__1p [2 ])<= __1pw )__1bits |= 32;
  297. if ((__1p [2 ])>= __1nw )__1bits |= 16;
  298. if ((__1p [1 ])<= __1pw )__1bits |= 8;
  299. if ((__1p [1 ])>= __1nw )__1bits |= 4;
  300. if ((__1p [0 ])<= __1pw )__1bits |= 2;
  301. if ((__1p [0 ])>= __1nw )__1bits |= 1;
  302. return __1bits ;
  303. case 2 :
  304. if ((__1p [1 ])<= __1pw )__1bits |= 8;
  305. if ((__1p [1 ])>= __1nw )__1bits |= 4;
  306. if ((__1p [0 ])<= __1pw )__1bits |= 2;
  307. if ((__1p [0 ])>= __1nw )__1bits |= 1;
  308. return __1bits ;
  309. case 1 :
  310. if ((__1p [0 ])<= __1pw )__1bits |= 2;
  311. if ((__1p [0 ])>= __1nw )__1bits |= 1;
  312. return __1bits ;
  313. default :{
  314. int __4bit ;
  315. __4bit = 1 ;
  316. { { int __4i ;
  317. __4i = 0 ;
  318. for(;__4i < __1nc ;__4i ++ ) {
  319. if ((__1p [__4i ])>= __1nw )__1bits |= __4bit ;
  320. __4bit <<= 1 ;
  321. if ((__1p [__4i ])<= __1pw )__1bits |= __4bit ;
  322. __4bit <<= 1 ;
  323. }
  324. abort ( ) ;
  325. break ;
  326. }
  327. }
  328. }
  329. }
  330. }
  331. else
  332. {
  333. switch (__1nc ){
  334. case 3 :
  335. if ((__1p [2 ])<= __1nw )__1bits |= 32;
  336. if ((__1p [2 ])>= __1pw )__1bits |= 16;
  337. if ((__1p [1 ])<= __1nw )__1bits |= 8;
  338. if ((__1p [1 ])>= __1pw )__1bits |= 4;
  339. if ((__1p [0 ])<= __1nw )__1bits |= 2;
  340. if ((__1p [0 ])>= __1pw )__1bits |= 1;
  341. return __1bits ;
  342. case 2 :
  343. if ((__1p [1 ])<= __1nw )__1bits |= 8;
  344. if ((__1p [1 ])>= __1pw )__1bits |= 4;
  345. if ((__1p [0 ])<= __1nw )__1bits |= 2;
  346. if ((__1p [0 ])>= __1pw )__1bits |= 1;
  347. return __1bits ;
  348. case 1 :
  349. if ((__1p [0 ])<= __1nw )__1bits |= 2;
  350. if ((__1p [0 ])>= __1pw )__1bits |= 1;
  351. return __1bits ;
  352. default :{
  353. int __4bit ;
  354. __4bit = 1 ;
  355. { { int __4i ;
  356. __4i = 0 ;
  357. for(;__4i < __1nc ;__4i ++ ) {
  358. if ((__1p [__4i ])>= __1pw )__1bits |= __4bit ;
  359. __4bit <<= 1 ;
  360. if ((__1p [__4i ])<= __1nw )__1bits |= __4bit ;
  361. __4bit <<= 1 ;
  362. }
  363. abort ( ) ;
  364. break ;
  365. }
  366. }
  367. }
  368. }
  369. }
  370. return __1bits ;
  371. }
  372. }
  373. void __glxformRational__7MapdescFPA0 (struct Mapdesc *__0this , REAL (*__1mat )[5], REAL *__1d , REAL *__1s )
  374. {
  375. ((void )0 );
  376. if (__0this -> hcoords__7Mapdesc == 3 ){
  377. REAL __2x ;
  378. REAL __2y ;
  379. REAL __2z ;
  380. __2x = (__1s [0 ]);
  381. __2y = (__1s [1 ]);
  382. __2z = (__1s [2 ]);
  383. (__1d [0 ])= (((__2x * ((__1mat [0 ])[0 ]))+ (__2y * ((__1mat [1 ])[0 ])))+ (__2z * ((__1mat [2 ])[0 ])));
  384. (__1d [1 ])= (((__2x * ((__1mat [0 ])[1 ]))+ (__2y * ((__1mat [1 ])[1 ])))+ (__2z * ((__1mat [2 ])[1 ])));
  385. (__1d [2 ])= (((__2x * ((__1mat [0 ])[2 ]))+ (__2y * ((__1mat [1 ])[2 ])))+ (__2z * ((__1mat [2 ])[2 ])));
  386. }
  387. else
  388. if (__0this -> hcoords__7Mapdesc == 4 ){
  389. REAL __2x ;
  390. REAL __2y ;
  391. REAL __2z ;
  392. REAL __2w ;
  393. __2x = (__1s [0 ]);
  394. __2y = (__1s [1 ]);
  395. __2z = (__1s [2 ]);
  396. __2w = (__1s [3 ]);
  397. (__1d [0 ])= ((((__2x * ((__1mat [0 ])[0 ]))+ (__2y * ((__1mat [1 ])[0 ])))+ (__2z * ((__1mat [2 ])[0 ])))+ (__2w * ((__1mat [3 ])[0 ])));
  398. (__1d [1 ])= ((((__2x * ((__1mat [0 ])[1 ]))+ (__2y * ((__1mat [1 ])[1 ])))+ (__2z * ((__1mat [2 ])[1 ])))+ (__2w * ((__1mat [3 ])[1 ])));
  399. (__1d [2 ])= ((((__2x * ((__1mat [0 ])[2 ]))+ (__2y * ((__1mat [1 ])[2 ])))+ (__2z * ((__1mat [2 ])[2 ])))+ (__2w * ((__1mat [3 ])[2 ])));
  400. (__1d [3 ])= ((((__2x * ((__1mat [0 ])[3 ]))+ (__2y * ((__1mat [1 ])[3 ])))+ (__2z * ((__1mat [2 ])[3 ])))+ (__2w * ((__1mat [3 ])[3 ])));
  401. }
  402. else
  403. {
  404. { { int __2i ;
  405. __2i = 0 ;
  406. for(;__2i != __0this -> hcoords__7Mapdesc ;__2i ++ ) {
  407. (__1d [__2i ])= 0 ;
  408. { { int __3j ;
  409. __3j = 0 ;
  410. for(;__3j != __0this -> hcoords__7Mapdesc ;__3j ++ )
  411. (__1d [__2i ])+= ((__1s [__3j ])* ((__1mat [__3j ])[__2i ]));
  412. }
  413. }
  414. }
  415. }
  416. }
  417. }
  418. }
  419. void __glxformNonrational__7Mapdesc0 (struct Mapdesc *__0this , REAL (*__1mat )[5], REAL *__1d , REAL *__1s )
  420. {
  421. if (__0this -> inhcoords__7Mapdesc == 2 ){
  422. REAL __2x ;
  423. REAL __2y ;
  424. __2x = (__1s [0 ]);
  425. __2y = (__1s [1 ]);
  426. (__1d [0 ])= (((__2x * ((__1mat [0 ])[0 ]))+ (__2y * ((__1mat [1 ])[0 ])))+ ((__1mat [2 ])[0 ]));
  427. (__1d [1 ])= (((__2x * ((__1mat [0 ])[1 ]))+ (__2y * ((__1mat [1 ])[1 ])))+ ((__1mat [2 ])[1 ]));
  428. (__1d [2 ])= (((__2x * ((__1mat [0 ])[2 ]))+ (__2y * ((__1mat [1 ])[2 ])))+ ((__1mat [2 ])[2 ]));
  429. }
  430. else
  431. if (__0this -> inhcoords__7Mapdesc == 3 ){
  432. REAL __2x ;
  433. REAL __2y ;
  434. REAL __2z ;
  435. __2x = (__1s [0 ]);
  436. __2y = (__1s [1 ]);
  437. __2z = (__1s [2 ]);
  438. (__1d [0 ])= ((((__2x * ((__1mat [0 ])[0 ]))+ (__2y * ((__1mat [1 ])[0 ])))+ (__2z * ((__1mat [2 ])[0 ])))+ ((__1mat [3 ])[0 ]));
  439. (__1d [1 ])= ((((__2x * ((__1mat [0 ])[1 ]))+ (__2y * ((__1mat [1 ])[1 ])))+ (__2z * ((__1mat [2 ])[1 ])))+ ((__1mat [3 ])[1 ]));
  440. (__1d [2 ])= ((((__2x * ((__1mat [0 ])[2 ]))+ (__2y * ((__1mat [1 ])[2 ])))+ (__2z * ((__1mat [2 ])[2 ])))+ ((__1mat [3 ])[2 ]));
  441. (__1d [3 ])= ((((__2x * ((__1mat [0 ])[3 ]))+ (__2y * ((__1mat [1 ])[3 ])))+ (__2z * ((__1mat [2 ])[3 ])))+ ((__1mat [3 ])[3 ]));
  442. }
  443. else
  444. {
  445. ((void )0 );
  446. { { int __2i ;
  447. __2i = 0 ;
  448. for(;__2i != __0this -> hcoords__7Mapdesc ;__2i ++ ) {
  449. (__1d [__2i ])= ((__1mat [__0this -> inhcoords__7Mapdesc ])[__2i ]);
  450. { { int __3j ;
  451. __3j = 0 ;
  452. for(;__3j < __0this -> inhcoords__7Mapdesc ;__3j ++ )
  453. (__1d [__2i ])+= ((__1s [__3j ])* ((__1mat [__3j ])[__2i ]));
  454. }
  455. }
  456. }
  457. }
  458. }
  459. }
  460. }
  461. int __glxformAndCullCheck__7Mapdes0 (struct Mapdesc *__0this ,
  462. REAL *__1pts , int __1uorder , int __1ustride , int __1vorder , int __1vstride )
  463. {
  464. ((void )0 );
  465. ((void )0 );
  466. { unsigned int __1inbits ;
  467. unsigned int __1outbits ;
  468. REAL *__1p ;
  469. __1inbits = __0this -> mask__7Mapdesc ;
  470. __1outbits = 0 ;
  471. __1p = __1pts ;
  472. { { REAL *__1pend ;
  473. __1pend = (__1p + (__1uorder * __1ustride ));
  474. for(;__1p != __1pend ;__1p += __1ustride ) {
  475. REAL *__2q ;
  476. __2q = __1p ;
  477. { { REAL *__2qend ;
  478. __2qend = (__2q + (__1vorder * __1vstride ));
  479. for(;__2q != __2qend ;__2q += __1vstride ) {
  480. REAL __3cpts [5];
  481. REAL *__1__X5 ;
  482. REAL *__1__X6 ;
  483. ( (__1__X5 = __3cpts ), ( (__1__X6 = __2q ), ( (__0this -> isrational__7Mapdesc ?__glxformRational__7MapdescFPA0 ( __0this , (float (*)[5])__0this -> cmat__7Mapdesc , __1__X5 ,
  484. __1__X6 ) :__glxformNonrational__7Mapdesc0 ( __0this , (float (*)[5])__0this -> cmat__7Mapdesc , __1__X5 , __1__X6 ) )) ) ) ;
  485. { unsigned int __3bits ;
  486. __3bits = __glclipbits__7MapdescFPf ( __0this , (float *)__3cpts ) ;
  487. __1outbits |= __3bits ;
  488. __1inbits &= __3bits ;
  489. if ((__1outbits == __0this -> mask__7Mapdesc )&& (__1inbits != __0this -> mask__7Mapdesc ))return 2 ;
  490. }
  491. }
  492. }
  493. }
  494. }
  495. if (__1outbits != __0this -> mask__7Mapdesc ){
  496. return 0 ;
  497. }
  498. else
  499. if (__1inbits == __0this -> mask__7Mapdesc ){
  500. return 1 ;
  501. }
  502. else
  503. {
  504. return 2 ;
  505. }
  506. }
  507. }
  508. }
  509. }
  510. int __glcullCheck__7MapdescFPfiN32 (struct Mapdesc *__0this , REAL *__1pts , int __1uorder , int __1ustride , int __1vorder , int __1vstride )
  511. {
  512. unsigned int
  513. __1inbits ;
  514. unsigned int __1outbits ;
  515. REAL *__1p ;
  516. __1inbits = __0this -> mask__7Mapdesc ;
  517. __1outbits = 0 ;
  518. __1p = __1pts ;
  519. { { REAL *__1pend ;
  520. __1pend = (__1p + (__1uorder * __1ustride ));
  521. for(;__1p != __1pend ;__1p += __1ustride ) {
  522. REAL *__2q ;
  523. __2q = __1p ;
  524. { { REAL *__2qend ;
  525. __2qend = (__2q + (__1vorder * __1vstride ));
  526. for(;__2q != __2qend ;__2q += __1vstride ) {
  527. unsigned int __3bits ;
  528. __3bits = __glclipbits__7MapdescFPf ( __0this , __2q ) ;
  529. __1outbits |= __3bits ;
  530. __1inbits &= __3bits ;
  531. if ((__1outbits == __0this -> mask__7Mapdesc )&& (__1inbits != __0this -> mask__7Mapdesc ))return 2 ;
  532. }
  533. }
  534. }
  535. }
  536. if (__1outbits != __0this -> mask__7Mapdesc ){
  537. return 0 ;
  538. }
  539. else
  540. if (__1inbits == __0this -> mask__7Mapdesc ){
  541. return 1 ;
  542. }
  543. else
  544. {
  545. return 2 ;
  546. }
  547. }
  548. }
  549. }
  550. int __glcullCheck__7MapdescFPfiT2 (struct Mapdesc *__0this , REAL *__1pts , int __1order , int __1stride )
  551. {
  552. unsigned int __1inbits ;
  553. unsigned int __1outbits ;
  554. REAL *__1p ;
  555. __1inbits = __0this -> mask__7Mapdesc ;
  556. __1outbits = 0 ;
  557. __1p = __1pts ;
  558. { { REAL *__1pend ;
  559. __1pend = (__1p + (__1order * __1stride ));
  560. for(;__1p != __1pend ;__1p += __1stride ) {
  561. unsigned int __2bits ;
  562. __2bits = __glclipbits__7MapdescFPf ( __0this , __1p ) ;
  563. __1outbits |= __2bits ;
  564. __1inbits &= __2bits ;
  565. if ((__1outbits == __0this -> mask__7Mapdesc )&& (__1inbits != __0this -> mask__7Mapdesc ))return 2 ;
  566. }
  567. if (__1outbits != __0this -> mask__7Mapdesc ){
  568. return 0 ;
  569. }
  570. else
  571. if (__1inbits == __0this -> mask__7Mapdesc ){
  572. return 1 ;
  573. }
  574. else
  575. {
  576. return 2 ;
  577. }
  578. }
  579. }
  580. }
  581. void __glxformMat__7MapdescFPA5_fPf0 (struct Mapdesc *, REAL (*)[5], REAL *, int , int , REAL *, int );
  582. void __glxformSampling__7MapdescFPf0 (struct Mapdesc *__0this , REAL *__1pts , int __1order , int __1stride , REAL *__1sp , int __1outstride )
  583. {
  584. __glxformMat__7MapdescFPA5_fPf0 ( __0this , (float
  585. (*)[5])__0this -> smat__7Mapdesc , __1pts , __1order , __1stride , __1sp , __1outstride ) ;
  586. }
  587. void __glxformBounding__7MapdescFPf0 (struct Mapdesc *__0this , REAL *__1pts , int __1order , int __1stride , REAL *__1sp , int __1outstride )
  588. {
  589. __glxformMat__7MapdescFPA5_fPf0 ( __0this , (float
  590. (*)[5])__0this -> bmat__7Mapdesc , __1pts , __1order , __1stride , __1sp , __1outstride ) ;
  591. }
  592. void __glxformCulling__7MapdescFPfi0 (struct Mapdesc *__0this , REAL *__1pts , int __1order , int __1stride , REAL *__1cp , int __1outstride )
  593. {
  594. __glxformMat__7MapdescFPA5_fPf0 ( __0this , (float
  595. (*)[5])__0this -> cmat__7Mapdesc , __1pts , __1order , __1stride , __1cp , __1outstride ) ;
  596. }
  597. void __glxformMat__7MapdescFPA5_fPf1 (struct Mapdesc *, REAL (*)[5], REAL *, int , int , int , int , REAL *,
  598. int , int );
  599. void __glxformCulling__7MapdescFPfi1 (struct Mapdesc *__0this , REAL *__1pts ,
  600. int __1uorder , int __1ustride ,
  601. int __1vorder , int __1vstride ,
  602. REAL *__1cp , int
  603. __1outustride , int __1outvstride )
  604. {
  605. __glxformMat__7MapdescFPA5_fPf1 ( __0this , (float (*)[5])__0this -> cmat__7Mapdesc , __1pts , __1uorder , __1ustride , __1vorder , __1vstride , __1cp ,
  606. __1outustride , __1outvstride ) ;
  607. }
  608. void __glxformSampling__7MapdescFPf1 (struct Mapdesc *__0this , REAL *__1pts ,
  609. int __1uorder , int __1ustride ,
  610. int __1vorder , int __1vstride ,
  611. REAL *__1sp , int
  612. __1outustride , int __1outvstride )
  613. {
  614. __glxformMat__7MapdescFPA5_fPf1 ( __0this , (float (*)[5])__0this -> smat__7Mapdesc , __1pts , __1uorder , __1ustride , __1vorder , __1vstride , __1sp ,
  615. __1outustride , __1outvstride ) ;
  616. }
  617. void __glxformBounding__7MapdescFPf1 (struct Mapdesc *__0this , REAL *__1pts ,
  618. int __1uorder , int __1ustride ,
  619. int __1vorder , int __1vstride ,
  620. REAL *__1sp , int
  621. __1outustride , int __1outvstride )
  622. {
  623. __glxformMat__7MapdescFPA5_fPf1 ( __0this , (float (*)[5])__0this -> bmat__7Mapdesc , __1pts , __1uorder , __1ustride , __1vorder , __1vstride , __1sp ,
  624. __1outustride , __1outvstride ) ;
  625. }
  626. void __glxformMat__7MapdescFPA5_fPf0 (struct Mapdesc *__0this ,
  627. REAL (*__1mat )[5],
  628. REAL *__1pts ,
  629. int __1order ,
  630. int __1stride ,
  631. REAL *__1cp ,
  632. int __1outstride )
  633. {
  634. if (__0this ->
  635. isrational__7Mapdesc ){
  636. REAL *__2pend ;
  637. __2pend = (__1pts + (__1order * __1stride ));
  638. { { REAL *__2p ;
  639. __2p = __1pts ;
  640. for(;__2p != __2pend ;__2p += __1stride ) {
  641. __glxformRational__7MapdescFPA0 ( __0this , __1mat , __1cp , __2p ) ;
  642. __1cp += __1outstride ;
  643. }
  644. }
  645. }
  646. }
  647. else
  648. {
  649. REAL *__2pend ;
  650. __2pend = (__1pts + (__1order * __1stride ));
  651. { { REAL *__2p ;
  652. __2p = __1pts ;
  653. for(;__2p != __2pend ;__2p += __1stride ) {
  654. __glxformNonrational__7Mapdesc0 ( __0this , __1mat , __1cp , __2p ) ;
  655. __1cp += __1outstride ;
  656. }
  657. }
  658. }
  659. }
  660. }
  661. void __glxformMat__7MapdescFPA5_fPf1 (struct Mapdesc *__0this , REAL (*__1mat )[5], REAL *__1pts ,
  662. int __1uorder , int __1ustride ,
  663. int __1vorder , int __1vstride ,
  664. REAL *__1cp ,
  665. int __1outustride , int __1outvstride )
  666. {
  667. if (__0this -> isrational__7Mapdesc ){
  668. REAL *__2pend ;
  669. __2pend = (__1pts + (__1uorder * __1ustride ));
  670. { { REAL *__2p ;
  671. __2p = __1pts ;
  672. for(;__2p != __2pend ;__2p += __1ustride ) {
  673. REAL *__3cpts2 ;
  674. REAL *__3qend ;
  675. __3cpts2 = __1cp ;
  676. __3qend = (__2p + (__1vorder * __1vstride ));
  677. { { REAL *__3q ;
  678. __3q = __2p ;
  679. for(;__3q != __3qend ;__3q += __1vstride ) {
  680. __glxformRational__7MapdescFPA0 ( __0this , __1mat , __3cpts2 , __3q ) ;
  681. __3cpts2 += __1outvstride ;
  682. }
  683. __1cp += __1outustride ;
  684. }
  685. }
  686. }
  687. }
  688. }
  689. }
  690. else
  691. {
  692. REAL *__2pend ;
  693. __2pend = (__1pts + (__1uorder * __1ustride ));
  694. { { REAL *__2p ;
  695. __2p = __1pts ;
  696. for(;__2p != __2pend ;__2p += __1ustride ) {
  697. REAL *__3cpts2 ;
  698. REAL *__3qend ;
  699. __3cpts2 = __1cp ;
  700. __3qend = (__2p + (__1vorder * __1vstride ));
  701. { { REAL *__3q ;
  702. __3q = __2p ;
  703. for(;__3q != __3qend ;__3q += __1vstride ) {
  704. __glxformNonrational__7Mapdesc0 ( __0this , __1mat , __3cpts2 , __3q ) ;
  705. __3cpts2 += __1outvstride ;
  706. }
  707. __1cp += __1outustride ;
  708. }
  709. }
  710. }
  711. }
  712. }
  713. }
  714. }
  715. void __glsubdivide__7MapdescFPfT1fi0 (struct Mapdesc *__0this , REAL *__1src , REAL *__1dst , REAL __1v , int __1stride , int __1order )
  716. {
  717. REAL __1mv ;
  718. __1mv = (1.0 - __1v );
  719. { { REAL *__1send ;
  720. __1send = (__1src + (__1stride * __1order ));
  721. for(;__1src != __1send ;( (__1send -= __1stride ), (__1dst += __1stride )) ) {
  722. __glcopyPt__7MapdescFPfT1 ( __0this , __1dst , __1src ) ;
  723. { REAL *__2qpnt ;
  724. __2qpnt = (__1src + __1stride );
  725. { { REAL *__2qp ;
  726. __2qp = __1src ;
  727. for(;__2qpnt != __1send ;( (__2qp = __2qpnt ), (__2qpnt += __1stride )) )
  728. __glsumPt__7MapdescFPfN21fT4 ( __0this , __2qp , __2qp , __2qpnt , __1mv , __1v )
  729. ;
  730. }
  731. }
  732. }
  733. }
  734. }
  735. }
  736. }
  737. void __glsubdivide__7MapdescFPfT1fi1 (struct Mapdesc *__0this , REAL *__1src , REAL *__1dst , REAL __1v ,
  738. int __1so , int __1ss , int __1to , int __1ts )
  739. {
  740. REAL __1mv ;
  741. __1mv = (1.0 - __1v );
  742. { { REAL *__1slast ;
  743. __1slast = (__1src + (__1ss * __1so ));
  744. for(;__1src != __1slast ;( (__1src += __1ss ), (__1dst += __1ss )) ) {
  745. REAL *__2sp ;
  746. REAL *__2dp ;
  747. __2sp = __1src ;
  748. __2dp = __1dst ;
  749. { { REAL *__2send ;
  750. __2send = (__1src + (__1ts * __1to ));
  751. for(;__2sp != __2send ;( (__2send -= __1ts ), (__2dp += __1ts )) ) {
  752. __glcopyPt__7MapdescFPfT1 ( __0this , __2dp , __2sp ) ;
  753. { REAL *__3qp ;
  754. __3qp = __2sp ;
  755. { { REAL *__3qpnt ;
  756. __3qpnt = (__2sp + __1ts );
  757. for(;__3qpnt != __2send ;( (__3qp = __3qpnt ), (__3qpnt += __1ts )) )
  758. __glsumPt__7MapdescFPfN21fT4 ( __0this , __3qp , __3qp , __3qpnt , __1mv , __1v )
  759. ;
  760. }
  761. }
  762. }
  763. }
  764. }
  765. }
  766. }
  767. }
  768. }
  769. }
  770. int __glproject__7MapdescFPfiT2T1N0 (struct Mapdesc *__0this , REAL *__1src , int __1rstride , int __1cstride ,
  771. REAL *__1dest , int __1trstride , int __1tcstride ,
  772. int
  773. __1nrows , int __1ncols )
  774. {
  775. int __1s ;
  776. REAL *__1rlast ;
  777. REAL *__1trptr ;
  778. __1s = (((__1src [__0this -> inhcoords__7Mapdesc ])> 0 )?1 :(((__1src [__0this -> inhcoords__7Mapdesc ])< 0.0 )?-1:0 ));
  779. __1rlast = (__1src + (__1nrows * __1rstride ));
  780. __1trptr = __1dest ;
  781. { { REAL *__1rptr ;
  782. __1rptr = __1src ;
  783. for(;__1rptr != __1rlast ;( (__1rptr += __1rstride ), (__1trptr += __1trstride )) ) {
  784. REAL *__2clast ;
  785. REAL *__2tcptr ;
  786. __2clast = (__1rptr + (__1ncols * __1cstride ));
  787. __2tcptr = __1trptr ;
  788. { { REAL *__2cptr ;
  789. __2cptr = __1rptr ;
  790. for(;__2cptr != __2clast ;( (__2cptr += __1cstride ), (__2tcptr += __1tcstride )) ) {
  791. REAL *__3coordlast ;
  792. __3coordlast = (__2cptr + __0this -> inhcoords__7Mapdesc );
  793. if (((((*__3coordlast ))> 0 )?1 :((((*__3coordlast ))< 0.0 )?-1:0 ))!= __1s )return 0 ;
  794. { REAL *__3tcoord ;
  795. __3tcoord = __2tcptr ;
  796. { { REAL *__3coord ;
  797. __3coord = __2cptr ;
  798. for(;__3coord != __3coordlast ;( (__3coord ++ ), (__3tcoord ++ )) ) {
  799. ((*__3tcoord ))= (((*__3coord ))/ ((*__3coordlast )));
  800. }
  801. }
  802. }
  803. }
  804. }
  805. }
  806. }
  807. }
  808. return 1 ;
  809. }
  810. }
  811. }
  812. int __glproject__7MapdescFPfiT1N22 (struct Mapdesc *__0this , REAL *__1src , int __1stride , REAL *__1dest , int __1tstride , int __1ncols )
  813. {
  814. int __1s ;
  815. REAL *__1clast ;
  816. __1s = (((__1src [__0this -> inhcoords__7Mapdesc ])> 0 )?1 :(((__1src [__0this -> inhcoords__7Mapdesc ])< 0.0 )?-1:0 ));
  817. __1clast = (__1src + (__1ncols * __1stride ));
  818. { { REAL *__1cptr ;
  819. REAL *__1tcptr ;
  820. __1cptr = __1src ;
  821. __1tcptr = __1dest ;
  822. for(;__1cptr != __1clast ;( (__1cptr += __1stride ), (__1tcptr += __1tstride )) ) {
  823. REAL *__2coordlast ;
  824. __2coordlast = (__1cptr + __0this -> inhcoords__7Mapdesc );
  825. if (((((*__2coordlast ))> 0 )?1 :((((*__2coordlast ))< 0.0 )?-1:0 ))!= __1s )return 0 ;
  826. { { REAL *__2coord ;
  827. REAL *__2tcoord ;
  828. __2coord = __1cptr ;
  829. __2tcoord = __1tcptr ;
  830. for(;__2coord != __2coordlast ;( (__2coord ++ ), (__2tcoord ++ )) )
  831. ((*__2tcoord ))= (((*__2coord ))/ ((*__2coordlast )));
  832. }
  833. }
  834. }
  835. return 1 ;
  836. }
  837. }
  838. }
  839. void __glbbox__7MapdescFPA5_fPfiN33 (struct Mapdesc *, REAL (*)[5], REAL *, int , int , int , int );
  840. extern float __glmyceilf (float );
  841. extern float __glmyfloorf (float );
  842. int __glbboxTooBig__7MapdescFPfiN30 (struct Mapdesc *__0this ,
  843. REAL *__1p ,
  844. int __1rstride ,
  845. int __1cstride ,
  846. int __1nrows ,
  847. int __1ncols ,
  848. REAL (*__1bb )[5])
  849. {
  850. REAL __1bbpts [24][24][5];
  851. int __1val ;
  852. __1val = __glproject__7MapdescFPfiT2T1N0 ( __0this , __1p , __1rstride , __1cstride , & (((__1bbpts [0 ])[0 ])[0 ]), (int )120, (int )5, __1nrows , __1ncols )
  853. ;
  854. if (__1val == 0 )return -1;
  855. __glbbox__7MapdescFPA5_fPfiN33 ( __0this , __1bb , & (((__1bbpts [0 ])[0 ])[0 ]), (int )120, (int )5, __1nrows , __1ncols ) ;
  856. if (__0this -> bbox_subdividing__7Mapdesc == 2.0 ){
  857. { { int __2k ;
  858. __2k = 0 ;
  859. for(;__2k != __0this -> inhcoords__7Mapdesc ;__2k ++ )
  860. if ((__glmyceilf ( (__1bb [1 ])[__2k ]) - __glmyfloorf ( (__1bb [0 ])[__2k ]) )> (__0this -> bboxsize__7Mapdesc [__2k ]))return 1 ;
  861. }
  862. }
  863. }
  864. else
  865. {
  866. { { int __2k ;
  867. __2k = 0 ;
  868. for(;__2k != __0this -> inhcoords__7Mapdesc ;__2k ++ )
  869. if ((((__1bb [1 ])[__2k ])- ((__1bb [0 ])[__2k ]))> (__0this -> bboxsize__7Mapdesc [__2k ]))return 1 ;
  870. }
  871. }
  872. }
  873. return 0 ;
  874. }
  875. void __glbbox__7MapdescFPA5_fPfiN33 (struct Mapdesc *__0this ,
  876. REAL (*__1bb )[5],
  877. REAL *__1p ,
  878. int __1rstride ,
  879. int __1cstride ,
  880. int __1nrows ,
  881. int __1ncols )
  882. {
  883. {
  884. { int __1k ;
  885. __1k = 0 ;
  886. for(;__1k != __0this -> inhcoords__7Mapdesc ;__1k ++ )
  887. ((__1bb [0 ])[__1k ])= (((__1bb [1 ])[__1k ])= (__1p [__1k ]));
  888. { { int __1i ;
  889. __1i = 0 ;
  890. for(;__1i != __1nrows ;__1i ++ )
  891. { { int __1j ;
  892. __1j = 0 ;
  893. for(;__1j != __1ncols ;__1j ++ )
  894. for(__1k = 0 ;__1k != __0this -> inhcoords__7Mapdesc ;__1k ++ ) {
  895. REAL __2x ;
  896. __2x = (__1p [(((__1i * __1rstride )+ (__1j * __1cstride ))+ __1k )]);
  897. if (__2x < ((__1bb [0 ])[__1k ]))((__1bb [0 ])[__1k ])= __2x ;
  898. else if (__2x > ((__1bb [1 ])[__1k ]))((__1bb [1 ])[__1k ])= __2x ;
  899. }
  900. }
  901. }
  902. }
  903. }
  904. }
  905. }
  906. }
  907. REAL __glcalcPartialVelocity__7Mapd0 (struct Mapdesc *, REAL *, int , int , int , REAL );
  908. REAL __glcalcVelocityRational__7Map0 (struct Mapdesc *__0this , REAL *__1p , int __1stride , int __1ncols )
  909. {
  910. REAL __1tmp [24][5];
  911. ((void )0 );
  912. {
  913. if (__glproject__7MapdescFPfiT1N22 ( __0this , __1p , __1stride , & ((__1tmp [0 ])[0 ]), (int )5, __1ncols ) ){
  914. return __glcalcPartialVelocity__7Mapd0 (
  915. __0this , & ((__1tmp [0 ])[0 ]), (int )5, __1ncols , 1 , (float )1.0 ) ;
  916. }
  917. else
  918. {
  919. return __glcalcPartialVelocity__7Mapd0 ( __0this , & ((__1tmp [0 ])[0 ]), (int )5, __1ncols , 1 , (float )1.0 ) ;
  920. }
  921. }
  922. }
  923. REAL __glcalcVelocityNonrational__70 (struct Mapdesc *__0this , REAL *__1pts , int __1stride , int __1ncols )
  924. {
  925. return __glcalcPartialVelocity__7Mapd0 ( __0this , __1pts , __1stride , __1ncols , 1 ,
  926. (float )1.0 ) ;
  927. }
  928. int __glisProperty__7MapdescFl (struct Mapdesc *__0this , long __1property )
  929. {
  930. switch (__1property ){
  931. case 1 :
  932. case 2 :
  933. case 17 :
  934. case 6 :
  935. case 7 :
  936. case 10 :
  937. case
  938. 13 :
  939. case 14 :
  940. return 1 ;
  941. default :
  942. return 0 ;
  943. }
  944. }
  945. REAL __glgetProperty__7MapdescFl (struct Mapdesc *__0this , long __1property )
  946. {
  947. switch (__1property ){
  948. case 1 :
  949. return __0this -> pixel_tolerance__7Mapdesc ;
  950. case 2 :
  951. return __0this -> culling_method__7Mapdesc ;
  952. case 17 :
  953. return __0this -> bbox_subdividing__7Mapdesc ;
  954. case 6 :
  955. return __0this -> s_steps__7Mapdesc ;
  956. case 7 :
  957. return __0this -> t_steps__7Mapdesc ;
  958. case 10 :
  959. return __0this -> sampling_method__7Mapdesc ;
  960. case 13 :
  961. return __0this -> clampfactor__7Mapdesc ;
  962. case 14 :
  963. return __0this -> minsavings__7Mapdesc ;
  964. default :
  965. abort ( ) ;
  966. }
  967. }
  968. void __glsetProperty__7MapdescFlf (struct Mapdesc *__0this , long __1property , REAL __1value )
  969. {
  970. switch (__1property ){
  971. case 1 :
  972. __0this -> pixel_tolerance__7Mapdesc = __1value ;
  973. break ;
  974. case 2 :
  975. __0this -> culling_method__7Mapdesc = __1value ;
  976. break ;
  977. case 17 :
  978. if (__1value <= 0.0 )__1value = 0.0 ;
  979. __0this -> bbox_subdividing__7Mapdesc = __1value ;
  980. break ;
  981. case 6 :
  982. if (__1value < 0.0 )__1value = 0.0 ;
  983. __0this -> s_steps__7Mapdesc = __1value ;
  984. __0this -> maxrate__7Mapdesc = ((__1value < 0.0 )?0.0 :(((double )__1value )));
  985. __0this -> maxsrate__7Mapdesc = ((__1value < 0.0 )?0.0 :(((double )__1value )));
  986. break ;
  987. case 7 :
  988. if (__1value < 0.0 )__1value = 0.0 ;
  989. __0this -> t_steps__7Mapdesc = __1value ;
  990. __0this -> maxtrate__7Mapdesc = ((__1value < 0.0 )?0.0 :(((double )__1value )));
  991. break ;
  992. case 10 :
  993. __0this -> sampling_method__7Mapdesc = __1value ;
  994. break ;
  995. case 13 :
  996. if (__1value <= 0.0 )__1value = 0.0 ;
  997. __0this -> clampfactor__7Mapdesc = __1value ;
  998. break ;
  999. case 14 :
  1000. if (__1value <= 0.0 )__1value = 0.0 ;
  1001. __0this -> minsavings__7Mapdesc = __1value ;
  1002. break ;
  1003. default :
  1004. abort ( ) ;
  1005. break ;
  1006. }
  1007. }
  1008. /* the end */