CMGDK r49-rc2
|
00001 / * + + B U I L D V e r s i o n : 0 0 0 4 / / I n c r e m e n t t h i s i f a c h a n g e h a s g l o b a l e f f e c t s 00002 00003 00004 00005 C o p y r i g h t ( c ) 1 9 8 5 - 9 5 , M i c r o s o f t C o r p o r a t i o n 00006 00007 00008 00009 M o d u l e N a m e : 00010 00011 00012 00013 g l u . h 00014 00015 00016 00017 A b s t r a c t : 00018 00019 00020 00021 P r o c e d u r e d e c l a r a t i o n s , c o n s t a n t d e f i n i t i o n s a n d m a c r o s f o r t h e O p e n G L 00022 00023 U t i l i t y L i b r a r y . 00024 00025 00026 00027 - - * / 00028 00029 00030 00031 # i f n d e f _ _ g l u _ h _ _ 00032 00033 # i f n d e f _ _ G L U _ H _ _ 00034 00035 00036 00037 # d e f i n e _ _ g l u _ h _ _ 00038 00039 # d e f i n e _ _ G L U _ H _ _ 00040 00041 00042 00043 / / # i n c l u d e < G L / g l . h > 00044 00045 00046 00047 # i f d e f _ _ c p l u s p l u s 00048 00049 e x t e r n " C " { 00050 00051 # e n d i f 00052 00053 00054 00055 / * 00056 00057 * * C o p y r i g h t 1 9 9 1 - 1 9 9 3 , S i l i c o n G r a p h i c s , I n c . 00058 00059 * * A l l R i g h t s R e s e r v e d . 00060 00061 * * 00062 00063 * * T h i s i s U N P U B L I S H E D P R O P R I E T A R Y S O U R C E C O D E o f S i l i c o n G r a p h i c s , I n c . ; 00064 00065 * * t h e c o n t e n t s o f t h i s f i l e m a y n o t b e d i s c l o s e d t o t h i r d p a r t i e s , c o p i e d o r 00066 00067 * * d u p l i c a t e d i n a n y f o r m , i n w h o l e o r i n p a r t , w i t h o u t t h e p r i o r w r i t t e n 00068 00069 * * p e r m i s s i o n o f S i l i c o n G r a p h i c s , I n c . 00070 00071 * * 00072 00073 * * R E S T R I C T E D R I G H T S L E G E N D : 00074 00075 * * U s e , d u p l i c a t i o n o r d i s c l o s u r e b y t h e G o v e r n m e n t i s s u b j e c t t o r e s t r i c t i o n s 00076 00077 * * a s s e t f o r t h i n s u b d i v i s i o n ( c ) ( 1 ) ( i i ) o f t h e R i g h t s i n T e c h n i c a l D a t a 00078 00079 * * a n d C o m p u t e r S o f t w a r e c l a u s e a t D F A R S 2 5 2 . 2 2 7 - 7 0 1 3 , a n d / o r i n s i m i l a r o r 00080 00081 * * s u c c e s s o r c l a u s e s i n t h e F A R , D O D o r N A S A F A R S u p p l e m e n t . U n p u b l i s h e d - 00082 00083 * * r i g h t s r e s e r v e d u n d e r t h e C o p y r i g h t L a w s o f t h e U n i t e d S t a t e s . 00084 00085 * / 00086 00087 00088 00089 / * 00090 00091 * * R e t u r n t h e e r r o r s t r i n g a s s o c i a t e d w i t h a p a r t i c u l a r e r r o r c o d e . 00092 00093 * * T h i s w i l l r e t u r n 0 f o r a n i n v a l i d e r r o r c o d e . 00094 00095 * * 00096 00097 * * T h e g e n e r i c f u n c t i o n p r o t o t y p e t h a t c a n b e c o m p i l e d f o r A N S I o r U n i c o d e 00098 00099 * * i s d e f i n e d a s f o l l o w s : 00100 00101 * * 00102 00103 * * L P C T S T R A P I E N T R Y g l u E r r o r S t r i n g W I N ( G L e n u m e r r C o d e ) ; 00104 00105 * / 00106 00107 # i f d e f U N I C O D E 00108 00109 # d e f i n e g l u E r r o r S t r i n g W I N ( e r r C o d e ) ( ( L P C S T R ) g l u E r r o r U n i c o d e S t r i n g E X T ( e r r C o d e ) ) 00110 00111 # e l s e 00112 00113 # d e f i n e g l u E r r o r S t r i n g W I N ( e r r C o d e ) ( ( L P C W S T R ) g l u E r r o r S t r i n g ( e r r C o d e ) ) 00114 00115 # e n d i f 00116 00117 00118 00119 c o n s t G L u b y t e * A P I E N T R Y g l u E r r o r S t r i n g ( 00120 00121 G L e n u m e r r C o d e ) ; 00122 00123 00124 00125 c o n s t w c h a r _ t * A P I E N T R Y g l u E r r o r U n i c o d e S t r i n g E X T ( 00126 00127 G L e n u m e r r C o d e ) ; 00128 00129 00130 00131 c o n s t G L u b y t e * A P I E N T R Y g l u G e t S t r i n g ( 00132 00133 G L e n u m n a m e ) ; 00134 00135 00136 00137 v o i d A P I E N T R Y g l u O r t h o 2 D ( 00138 00139 G L d o u b l e l e f t , 00140 00141 G L d o u b l e r i g h t , 00142 00143 G L d o u b l e b o t t o m , 00144 00145 G L d o u b l e t o p ) ; 00146 00147 00148 00149 v o i d A P I E N T R Y g l u P e r s p e c t i v e ( 00150 00151 G L d o u b l e f o v y , 00152 00153 G L d o u b l e a s p e c t , 00154 00155 G L d o u b l e z N e a r , 00156 00157 G L d o u b l e z F a r ) ; 00158 00159 00160 00161 v o i d A P I E N T R Y g l u P i c k M a t r i x ( 00162 00163 G L d o u b l e x , 00164 00165 G L d o u b l e y , 00166 00167 G L d o u b l e w i d t h , 00168 00169 G L d o u b l e h e i g h t , 00170 00171 G L i n t v i e w p o r t [ 4 ] ) ; 00172 00173 00174 00175 v o i d A P I E N T R Y g l u L o o k A t ( 00176 00177 G L d o u b l e e y e x , 00178 00179 G L d o u b l e e y e y , 00180 00181 G L d o u b l e e y e z , 00182 00183 G L d o u b l e c e n t e r x , 00184 00185 G L d o u b l e c e n t e r y , 00186 00187 G L d o u b l e c e n t e r z , 00188 00189 G L d o u b l e u p x , 00190 00191 G L d o u b l e u p y , 00192 00193 G L d o u b l e u p z ) ; 00194 00195 00196 00197 i n t A P I E N T R Y g l u P r o j e c t ( 00198 00199 G L d o u b l e o b j x , 00200 00201 G L d o u b l e o b j y , 00202 00203 G L d o u b l e o b j z , 00204 00205 c o n s t G L d o u b l e m o d e l M a t r i x [ 1 6 ] , 00206 00207 c o n s t G L d o u b l e p r o j M a t r i x [ 1 6 ] , 00208 00209 c o n s t G L i n t v i e w p o r t [ 4 ] , 00210 00211 G L d o u b l e * w i n x , 00212 00213 G L d o u b l e * w i n y , 00214 00215 G L d o u b l e * w i n z ) ; 00216 00217 00218 00219 i n t A P I E N T R Y g l u U n P r o j e c t ( 00220 00221 G L d o u b l e w i n x , 00222 00223 G L d o u b l e w i n y , 00224 00225 G L d o u b l e w i n z , 00226 00227 c o n s t G L d o u b l e m o d e l M a t r i x [ 1 6 ] , 00228 00229 c o n s t G L d o u b l e p r o j M a t r i x [ 1 6 ] , 00230 00231 c o n s t G L i n t v i e w p o r t [ 4 ] , 00232 00233 G L d o u b l e * o b j x , 00234 00235 G L d o u b l e * o b j y , 00236 00237 G L d o u b l e * o b j z ) ; 00238 00239 00240 00241 00242 00243 i n t A P I E N T R Y g l u S c a l e I m a g e ( 00244 00245 G L e n u m f o r m a t , 00246 00247 G L i n t w i d t h i n , 00248 00249 G L i n t h e i g h t i n , 00250 00251 G L e n u m t y p e i n , 00252 00253 c o n s t v o i d * d a t a i n , 00254 00255 G L i n t w i d t h o u t , 00256 00257 G L i n t h e i g h t o u t , 00258 00259 G L e n u m t y p e o u t , 00260 00261 v o i d * d a t a o u t ) ; 00262 00263 00264 00265 00266 00267 i n t A P I E N T R Y g l u B u i l d 1 D M i p m a p s ( 00268 00269 G L e n u m t a r g e t , 00270 00271 G L i n t c o m p o n e n t s , 00272 00273 G L i n t w i d t h , 00274 00275 G L e n u m f o r m a t , 00276 00277 G L e n u m t y p e , 00278 00279 c o n s t v o i d * d a t a ) ; 00280 00281 00282 00283 i n t A P I E N T R Y g l u B u i l d 2 D M i p m a p s ( 00284 00285 G L e n u m t a r g e t , 00286 00287 G L i n t c o m p o n e n t s , 00288 00289 G L i n t w i d t h , 00290 00291 G L i n t h e i g h t , 00292 00293 G L e n u m f o r m a t , 00294 00295 G L e n u m t y p e , 00296 00297 c o n s t v o i d * d a t a ) ; 00298 00299 00300 00301 # i f d e f _ _ c p l u s p l u s 00302 00303 00304 00305 c l a s s G L U n u r b s ; 00306 00307 c l a s s G L U q u a d r i c ; 00308 00309 c l a s s G L U t e s s e l a t o r ; 00310 00311 00312 00313 / * b a c k w a r d s c o m p a t i b i l i t y : * / 00314 00315 t y p e d e f c l a s s G L U n u r b s G L U n u r b s O b j ; 00316 00317 t y p e d e f c l a s s G L U q u a d r i c G L U q u a d r i c O b j ; 00318 00319 t y p e d e f c l a s s G L U t e s s e l a t o r G L U t e s s e l a t o r O b j ; 00320 00321 t y p e d e f c l a s s G L U t e s s e l a t o r G L U t r i a n g u l a t o r O b j ; 00322 00323 00324 00325 # e l s e 00326 00327 00328 00329 t y p e d e f s t r u c t G L U n u r b s G L U n u r b s ; 00330 00331 t y p e d e f s t r u c t G L U q u a d r i c G L U q u a d r i c ; 00332 00333 t y p e d e f s t r u c t G L U t e s s e l a t o r G L U t e s s e l a t o r ; 00334 00335 00336 00337 / * b a c k w a r d s c o m p a t i b i l i t y : * / 00338 00339 t y p e d e f s t r u c t G L U n u r b s G L U n u r b s O b j ; 00340 00341 t y p e d e f s t r u c t G L U q u a d r i c G L U q u a d r i c O b j ; 00342 00343 t y p e d e f s t r u c t G L U t e s s e l a t o r G L U t e s s e l a t o r O b j ; 00344 00345 t y p e d e f s t r u c t G L U t e s s e l a t o r G L U t r i a n g u l a t o r O b j ; 00346 00347 00348 00349 # e n d i f 00350 00351 00352 00353 00354 00355 G L U q u a d r i c * A P I E N T R Y g l u N e w Q u a d r i c ( v o i d ) ; 00356 00357 v o i d A P I E N T R Y g l u D e l e t e Q u a d r i c ( 00358 00359 G L U q u a d r i c * s t a t e ) ; 00360 00361 00362 00363 v o i d A P I E N T R Y g l u Q u a d r i c N o r m a l s ( 00364 00365 G L U q u a d r i c * q u a d O b j e c t , 00366 00367 G L e n u m n o r m a l s ) ; 00368 00369 00370 00371 v o i d A P I E N T R Y g l u Q u a d r i c T e x t u r e ( 00372 00373 G L U q u a d r i c * q u a d O b j e c t , 00374 00375 G L b o o l e a n t e x t u r e C o o r d s ) ; 00376 00377 00378 00379 v o i d A P I E N T R Y g l u Q u a d r i c O r i e n t a t i o n ( 00380 00381 G L U q u a d r i c * q u a d O b j e c t , 00382 00383 G L e n u m o r i e n t a t i o n ) ; 00384 00385 00386 00387 v o i d A P I E N T R Y g l u Q u a d r i c D r a w S t y l e ( 00388 00389 G L U q u a d r i c * q u a d O b j e c t , 00390 00391 G L e n u m d r a w S t y l e ) ; 00392 00393 00394 00395 v o i d A P I E N T R Y g l u C y l i n d e r ( 00396 00397 G L U q u a d r i c * q o b j , 00398 00399 G L d o u b l e b a s e R a d i u s , 00400 00401 G L d o u b l e t o p R a d i u s , 00402 00403 G L d o u b l e h e i g h t , 00404 00405 G L i n t s l i c e s , 00406 00407 G L i n t s t a c k s ) ; 00408 00409 00410 00411 v o i d A P I E N T R Y g l u D i s k ( 00412 00413 G L U q u a d r i c * q o b j , 00414 00415 G L d o u b l e i n n e r R a d i u s , 00416 00417 G L d o u b l e o u t e r R a d i u s , 00418 00419 G L i n t s l i c e s , 00420 00421 G L i n t l o o p s ) ; 00422 00423 00424 00425 v o i d A P I E N T R Y g l u P a r t i a l D i s k ( 00426 00427 G L U q u a d r i c * q o b j , 00428 00429 G L d o u b l e i n n e r R a d i u s , 00430 00431 G L d o u b l e o u t e r R a d i u s , 00432 00433 G L i n t s l i c e s , 00434 00435 G L i n t l o o p s , 00436 00437 G L d o u b l e s t a r t A n g l e , 00438 00439 G L d o u b l e s w e e p A n g l e ) ; 00440 00441 00442 00443 v o i d A P I E N T R Y g l u S p h e r e ( 00444 00445 G L U q u a d r i c * q o b j , 00446 00447 G L d o u b l e r a d i u s , 00448 00449 G L i n t s l i c e s , 00450 00451 G L i n t s t a c k s ) ; 00452 00453 00454 00455 v o i d A P I E N T R Y g l u Q u a d r i c C a l l b a c k ( 00456 00457 G L U q u a d r i c * q o b j , 00458 00459 G L e n u m w h i c h , 00460 00461 v o i d ( C A L L B A C K * f n ) ( ) ) ; 00462 00463 00464 00465 G L U t e s s e l a t o r * A P I E N T R Y g l u N e w T e s s ( 00466 00467 v o i d ) ; 00468 00469 00470 00471 v o i d A P I E N T R Y g l u D e l e t e T e s s ( 00472 00473 G L U t e s s e l a t o r * t e s s ) ; 00474 00475 00476 00477 v o i d A P I E N T R Y g l u T e s s B e g i n P o l y g o n ( 00478 00479 G L U t e s s e l a t o r * t e s s , 00480 00481 v o i d * p o l y g o n _ d a t a ) ; 00482 00483 00484 00485 v o i d A P I E N T R Y g l u T e s s B e g i n C o n t o u r ( 00486 00487 G L U t e s s e l a t o r * t e s s ) ; 00488 00489 00490 00491 v o i d A P I E N T R Y g l u T e s s V e r t e x ( 00492 00493 G L U t e s s e l a t o r * t e s s , 00494 00495 G L d o u b l e c o o r d s [ 3 ] , 00496 00497 v o i d * d a t a ) ; 00498 00499 00500 00501 v o i d A P I E N T R Y g l u T e s s E n d C o n t o u r ( 00502 00503 G L U t e s s e l a t o r * t e s s ) ; 00504 00505 00506 00507 v o i d A P I E N T R Y g l u T e s s E n d P o l y g o n ( 00508 00509 G L U t e s s e l a t o r * t e s s ) ; 00510 00511 00512 00513 v o i d A P I E N T R Y g l u T e s s P r o p e r t y ( 00514 00515 G L U t e s s e l a t o r * t e s s , 00516 00517 G L e n u m w h i c h , 00518 00519 G L d o u b l e v a l u e ) ; 00520 00521 00522 00523 v o i d A P I E N T R Y g l u T e s s N o r m a l ( 00524 00525 G L U t e s s e l a t o r * t e s s , 00526 00527 G L d o u b l e x , 00528 00529 G L d o u b l e y , 00530 00531 G L d o u b l e z ) ; 00532 00533 00534 00535 v o i d A P I E N T R Y g l u T e s s C a l l b a c k ( 00536 00537 G L U t e s s e l a t o r * t e s s , 00538 00539 G L e n u m w h i c h , 00540 00541 v o i d ( C A L L B A C K * f n ) ( ) ) ; 00542 00543 00544 00545 v o i d A P I E N T R Y g l u G e t T e s s P r o p e r t y ( 00546 00547 G L U t e s s e l a t o r * t e s s , 00548 00549 G L e n u m w h i c h , 00550 00551 G L d o u b l e * v a l u e ) ; 00552 00553 00554 00555 G L U n u r b s * A P I E N T R Y g l u N e w N u r b s R e n d e r e r ( v o i d ) ; 00556 00557 00558 00559 v o i d A P I E N T R Y g l u D e l e t e N u r b s R e n d e r e r ( 00560 00561 G L U n u r b s * n o b j ) ; 00562 00563 00564 00565 v o i d A P I E N T R Y g l u B e g i n S u r f a c e ( 00566 00567 G L U n u r b s * n o b j ) ; 00568 00569 00570 00571 v o i d A P I E N T R Y g l u B e g i n C u r v e ( 00572 00573 G L U n u r b s * n o b j ) ; 00574 00575 00576 00577 v o i d A P I E N T R Y g l u E n d C u r v e ( 00578 00579 G L U n u r b s * n o b j ) ; 00580 00581 00582 00583 v o i d A P I E N T R Y g l u E n d S u r f a c e ( 00584 00585 G L U n u r b s * n o b j ) ; 00586 00587 00588 00589 v o i d A P I E N T R Y g l u B e g i n T r i m ( 00590 00591 G L U n u r b s * n o b j ) ; 00592 00593 00594 00595 v o i d A P I E N T R Y g l u E n d T r i m ( 00596 00597 G L U n u r b s * n o b j ) ; 00598 00599 00600 00601 v o i d A P I E N T R Y g l u P w l C u r v e ( 00602 00603 G L U n u r b s * n o b j , 00604 00605 G L i n t c o u n t , 00606 00607 G L f l o a t * a r r a y , 00608 00609 G L i n t s t r i d e , 00610 00611 G L e n u m t y p e ) ; 00612 00613 00614 00615 v o i d A P I E N T R Y g l u N u r b s C u r v e ( 00616 00617 G L U n u r b s * n o b j , 00618 00619 G L i n t n k n o t s , 00620 00621 G L f l o a t * k n o t , 00622 00623 G L i n t s t r i d e , 00624 00625 G L f l o a t * c t l a r r a y , 00626 00627 G L i n t o r d e r , 00628 00629 G L e n u m t y p e ) ; 00630 00631 00632 00633 v o i d A P I E N T R Y 00634 00635 g l u N u r b s S u r f a c e ( 00636 00637 G L U n u r b s * n o b j , 00638 00639 G L i n t s k n o t _ c o u n t , 00640 00641 f l o a t * s k n o t , 00642 00643 G L i n t t k n o t _ c o u n t , 00644 00645 G L f l o a t * t k n o t , 00646 00647 G L i n t s _ s t r i d e , 00648 00649 G L i n t t _ s t r i d e , 00650 00651 G L f l o a t * c t l a r r a y , 00652 00653 G L i n t s o r d e r , 00654 00655 G L i n t t o r d e r , 00656 00657 G L e n u m t y p e ) ; 00658 00659 00660 00661 v o i d A P I E N T R Y 00662 00663 g l u L o a d S a m p l i n g M a t r i c e s ( 00664 00665 G L U n u r b s * n o b j , 00666 00667 c o n s t G L f l o a t m o d e l M a t r i x [ 1 6 ] , 00668 00669 c o n s t G L f l o a t p r o j M a t r i x [ 1 6 ] , 00670 00671 c o n s t G L i n t v i e w p o r t [ 4 ] ) ; 00672 00673 00674 00675 v o i d A P I E N T R Y 00676 00677 g l u N u r b s P r o p e r t y ( 00678 00679 G L U n u r b s * n o b j , 00680 00681 G L e n u m p r o p e r t y , 00682 00683 G L f l o a t v a l u e ) ; 00684 00685 00686 00687 v o i d A P I E N T R Y 00688 00689 g l u G e t N u r b s P r o p e r t y ( 00690 00691 G L U n u r b s * n o b j , 00692 00693 G L e n u m p r o p e r t y , 00694 00695 G L f l o a t * v a l u e ) ; 00696 00697 00698 00699 v o i d A P I E N T R Y 00700 00701 g l u N u r b s C a l l b a c k ( 00702 00703 G L U n u r b s * n o b j , 00704 00705 G L e n u m w h i c h , 00706 00707 v o i d ( C A L L B A C K * f n ) ( ) ) ; 00708 00709 00710 00711 00712 00713 / * * * * C a l l b a c k f u n c t i o n p r o t o t y p e s * * * * / 00714 00715 00716 00717 / * g l u Q u a d r i c C a l l b a c k * / 00718 00719 t y p e d e f v o i d ( C A L L B A C K * G L U q u a d r i c E r r o r P r o c ) ( G L e n u m ) ; 00720 00721 00722 00723 / * g l u T e s s C a l l b a c k * / 00724 00725 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s B e g i n P r o c ) ( G L e n u m ) ; 00726 00727 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E d g e F l a g P r o c ) ( G L b o o l e a n ) ; 00728 00729 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s V e r t e x P r o c ) ( v o i d * ) ; 00730 00731 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E n d P r o c ) ( v o i d ) ; 00732 00733 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E r r o r P r o c ) ( G L e n u m ) ; 00734 00735 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s C o m b i n e P r o c ) ( G L d o u b l e [ 3 ] , 00736 00737 v o i d * [ 4 ] , 00738 00739 G L f l o a t [ 4 ] , 00740 00741 v o i d * * ) ; 00742 00743 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s B e g i n D a t a P r o c ) ( G L e n u m , v o i d * ) ; 00744 00745 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E d g e F l a g D a t a P r o c ) ( G L b o o l e a n , v o i d * ) ; 00746 00747 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s V e r t e x D a t a P r o c ) ( v o i d * , v o i d * ) ; 00748 00749 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E n d D a t a P r o c ) ( v o i d * ) ; 00750 00751 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s E r r o r D a t a P r o c ) ( G L e n u m , v o i d * ) ; 00752 00753 t y p e d e f v o i d ( C A L L B A C K * G L U t e s s C o m b i n e D a t a P r o c ) ( G L d o u b l e [ 3 ] , 00754 00755 v o i d * [ 4 ] , 00756 00757 G L f l o a t [ 4 ] , 00758 00759 v o i d * * , 00760 00761 v o i d * ) ; 00762 00763 00764 00765 / * g l u N u r b s C a l l b a c k * / 00766 00767 t y p e d e f v o i d ( C A L L B A C K * G L U n u r b s E r r o r P r o c ) ( G L e n u m ) ; 00768 00769 00770 00771 00772 00773 / * * * * G e n e r i c c o n s t a n t s * * * * / 00774 00775 00776 00777 / * V e r s i o n * / 00778 00779 # d e f i n e G L U _ V E R S I O N _ 1 _ 1 1 00780 00781 # d e f i n e G L U _ V E R S I O N _ 1 _ 2 1 00782 00783 00784 00785 / * E r r o r s : ( r e t u r n v a l u e 0 = n o e r r o r ) * / 00786 00787 # d e f i n e G L U _ I N V A L I D _ E N U M 1 0 0 9 0 0 00788 00789 # d e f i n e G L U _ I N V A L I D _ V A L U E 1 0 0 9 0 1 00790 00791 # d e f i n e G L U _ O U T _ O F _ M E M O R Y 1 0 0 9 0 2 00792 00793 # d e f i n e G L U _ I N C O M P A T I B L E _ G L _ V E R S I O N 1 0 0 9 0 3 00794 00795 00796 00797 / * S t r i n g N a m e * / 00798 00799 # d e f i n e G L U _ V E R S I O N 1 0 0 8 0 0 00800 00801 # d e f i n e G L U _ E X T E N S I O N S 1 0 0 8 0 1 00802 00803 00804 00805 / * B o o l e a n * / 00806 00807 # d e f i n e G L U _ T R U E G L _ T R U E 00808 00809 # d e f i n e G L U _ F A L S E G L _ F A L S E 00810 00811 00812 00813 00814 00815 / * * * * Q u a d r i c c o n s t a n t s * * * * / 00816 00817 00818 00819 / * Q u a d r i c N o r m a l * / 00820 00821 # d e f i n e G L U _ S M O O T H 1 0 0 0 0 0 00822 00823 # d e f i n e G L U _ F L A T 1 0 0 0 0 1 00824 00825 # d e f i n e G L U _ N O N E 1 0 0 0 0 2 00826 00827 00828 00829 / * Q u a d r i c D r a w S t y l e * / 00830 00831 # d e f i n e G L U _ P O I N T 1 0 0 0 1 0 00832 00833 # d e f i n e G L U _ L I N E 1 0 0 0 1 1 00834 00835 # d e f i n e G L U _ F I L L 1 0 0 0 1 2 00836 00837 # d e f i n e G L U _ S I L H O U E T T E 1 0 0 0 1 3 00838 00839 00840 00841 / * Q u a d r i c O r i e n t a t i o n * / 00842 00843 # d e f i n e G L U _ O U T S I D E 1 0 0 0 2 0 00844 00845 # d e f i n e G L U _ I N S I D E 1 0 0 0 2 1 00846 00847 00848 00849 / * C a l l b a c k t y p e s : * / 00850 00851 / * G L U _ E R R O R 1 0 0 1 0 3 * / 00852 00853 00854 00855 00856 00857 / * * * * T e s s e l a t i o n c o n s t a n t s * * * * / 00858 00859 00860 00861 # d e f i n e G L U _ T E S S _ M A X _ C O O R D 1 . 0 e 1 5 0 00862 00863 00864 00865 / * T e s s P r o p e r t y * / 00866 00867 # d e f i n e G L U _ T E S S _ W I N D I N G _ R U L E 1 0 0 1 4 0 00868 00869 # d e f i n e G L U _ T E S S _ B O U N D A R Y _ O N L Y 1 0 0 1 4 1 00870 00871 # d e f i n e G L U _ T E S S _ T O L E R A N C E 1 0 0 1 4 2 00872 00873 00874 00875 / * T e s s W i n d i n g * / 00876 00877 # d e f i n e G L U _ T E S S _ W I N D I N G _ O D D 1 0 0 1 3 0 00878 00879 # d e f i n e G L U _ T E S S _ W I N D I N G _ N O N Z E R O 1 0 0 1 3 1 00880 00881 # d e f i n e G L U _ T E S S _ W I N D I N G _ P O S I T I V E 1 0 0 1 3 2 00882 00883 # d e f i n e G L U _ T E S S _ W I N D I N G _ N E G A T I V E 1 0 0 1 3 3 00884 00885 # d e f i n e G L U _ T E S S _ W I N D I N G _ A B S _ G E Q _ T W O 1 0 0 1 3 4 00886 00887 00888 00889 / * T e s s C a l l b a c k * / 00890 00891 # d e f i n e G L U _ T E S S _ B E G I N 1 0 0 1 0 0 / * v o i d ( C A L L B A C K * ) ( G L e n u m t y p e ) * / 00892 00893 # d e f i n e G L U _ T E S S _ V E R T E X 1 0 0 1 0 1 / * v o i d ( C A L L B A C K * ) ( v o i d * d a t a ) * / 00894 00895 # d e f i n e G L U _ T E S S _ E N D 1 0 0 1 0 2 / * v o i d ( C A L L B A C K * ) ( v o i d ) * / 00896 00897 # d e f i n e G L U _ T E S S _ E R R O R 1 0 0 1 0 3 / * v o i d ( C A L L B A C K * ) ( G L e n u m e r r n o ) * / 00898 00899 # d e f i n e G L U _ T E S S _ E D G E _ F L A G 1 0 0 1 0 4 / * v o i d ( C A L L B A C K * ) ( G L b o o l e a n b o u n d a r y E d g e ) * / 00900 00901 # d e f i n e G L U _ T E S S _ C O M B I N E 1 0 0 1 0 5 / * v o i d ( C A L L B A C K * ) ( G L d o u b l e c o o r d s [ 3 ] , 00902 00903 v o i d * d a t a [ 4 ] , 00904 00905 G L f l o a t w e i g h t [ 4 ] , 00906 00907 v o i d * * d a t a O u t ) * / 00908 00909 # d e f i n e G L U _ T E S S _ B E G I N _ D A T A 1 0 0 1 0 6 / * v o i d ( C A L L B A C K * ) ( G L e n u m t y p e , 00910 00911 v o i d * p o l y g o n _ d a t a ) * / 00912 00913 # d e f i n e G L U _ T E S S _ V E R T E X _ D A T A 1 0 0 1 0 7 / * v o i d ( C A L L B A C K * ) ( v o i d * d a t a , 00914 00915 v o i d * p o l y g o n _ d a t a ) * / 00916 00917 # d e f i n e G L U _ T E S S _ E N D _ D A T A 1 0 0 1 0 8 / * v o i d ( C A L L B A C K * ) ( v o i d * p o l y g o n _ d a t a ) * / 00918 00919 # d e f i n e G L U _ T E S S _ E R R O R _ D A T A 1 0 0 1 0 9 / * v o i d ( C A L L B A C K * ) ( G L e n u m e r r n o , 00920 00921 v o i d * p o l y g o n _ d a t a ) * / 00922 00923 # d e f i n e G L U _ T E S S _ E D G E _ F L A G _ D A T A 1 0 0 1 1 0 / * v o i d ( C A L L B A C K * ) ( G L b o o l e a n b o u n d a r y E d g e , 00924 00925 v o i d * p o l y g o n _ d a t a ) * / 00926 00927 # d e f i n e G L U _ T E S S _ C O M B I N E _ D A T A 1 0 0 1 1 1 / * v o i d ( C A L L B A C K * ) ( G L d o u b l e c o o r d s [ 3 ] , 00928 00929 v o i d * d a t a [ 4 ] , 00930 00931 G L f l o a t w e i g h t [ 4 ] , 00932 00933 v o i d * * d a t a O u t , 00934 00935 v o i d * p o l y g o n _ d a t a ) * / 00936 00937 00938 00939 / * T e s s E r r o r * / 00940 00941 # d e f i n e G L U _ T E S S _ E R R O R 1 1 0 0 1 5 1 00942 00943 # d e f i n e G L U _ T E S S _ E R R O R 2 1 0 0 1 5 2 00944 00945 # d e f i n e G L U _ T E S S _ E R R O R 3 1 0 0 1 5 3 00946 00947 # d e f i n e G L U _ T E S S _ E R R O R 4 1 0 0 1 5 4 00948 00949 # d e f i n e G L U _ T E S S _ E R R O R 5 1 0 0 1 5 5 00950 00951 # d e f i n e G L U _ T E S S _ E R R O R 6 1 0 0 1 5 6 00952 00953 # d e f i n e G L U _ T E S S _ E R R O R 7 1 0 0 1 5 7 00954 00955 # d e f i n e G L U _ T E S S _ E R R O R 8 1 0 0 1 5 8 00956 00957 00958 00959 # d e f i n e G L U _ T E S S _ M I S S I N G _ B E G I N _ P O L Y G O N G L U _ T E S S _ E R R O R 1 00960 00961 # d e f i n e G L U _ T E S S _ M I S S I N G _ B E G I N _ C O N T O U R G L U _ T E S S _ E R R O R 2 00962 00963 # d e f i n e G L U _ T E S S _ M I S S I N G _ E N D _ P O L Y G O N G L U _ T E S S _ E R R O R 3 00964 00965 # d e f i n e G L U _ T E S S _ M I S S I N G _ E N D _ C O N T O U R G L U _ T E S S _ E R R O R 4 00966 00967 # d e f i n e G L U _ T E S S _ C O O R D _ T O O _ L A R G E G L U _ T E S S _ E R R O R 5 00968 00969 # d e f i n e G L U _ T E S S _ N E E D _ C O M B I N E _ C A L L B A C K G L U _ T E S S _ E R R O R 6 00970 00971 00972 00973 / * * * * N U R B S c o n s t a n t s * * * * / 00974 00975 00976 00977 / * N u r b s P r o p e r t y * / 00978 00979 # d e f i n e G L U _ A U T O _ L O A D _ M A T R I X 1 0 0 2 0 0 00980 00981 # d e f i n e G L U _ C U L L I N G 1 0 0 2 0 1 00982 00983 # d e f i n e G L U _ S A M P L I N G _ T O L E R A N C E 1 0 0 2 0 3 00984 00985 # d e f i n e G L U _ D I S P L A Y _ M O D E 1 0 0 2 0 4 00986 00987 # d e f i n e G L U _ P A R A M E T R I C _ T O L E R A N C E 1 0 0 2 0 2 00988 00989 # d e f i n e G L U _ S A M P L I N G _ M E T H O D 1 0 0 2 0 5 00990 00991 # d e f i n e G L U _ U _ S T E P 1 0 0 2 0 6 00992 00993 # d e f i n e G L U _ V _ S T E P 1 0 0 2 0 7 00994 00995 00996 00997 / * N u r b s S a m p l i n g * / 00998 00999 # d e f i n e G L U _ P A T H _ L E N G T H 1 0 0 2 1 5 01000 01001 # d e f i n e G L U _ P A R A M E T R I C _ E R R O R 1 0 0 2 1 6 01002 01003 # d e f i n e G L U _ D O M A I N _ D I S T A N C E 1 0 0 2 1 7 01004 01005 01006 01007 01008 01009 / * N u r b s T r i m * / 01010 01011 # d e f i n e G L U _ M A P 1 _ T R I M _ 2 1 0 0 2 1 0 01012 01013 # d e f i n e G L U _ M A P 1 _ T R I M _ 3 1 0 0 2 1 1 01014 01015 01016 01017 / * N u r b s D i s p l a y * / 01018 01019 / * G L U _ F I L L 1 0 0 0 1 2 * / 01020 01021 # d e f i n e G L U _ O U T L I N E _ P O L Y G O N 1 0 0 2 4 0 01022 01023 # d e f i n e G L U _ O U T L I N E _ P A T C H 1 0 0 2 4 1 01024 01025 01026 01027 / * N u r b s C a l l b a c k * / 01028 01029 / * G L U _ E R R O R 1 0 0 1 0 3 * / 01030 01031 01032 01033 / * N u r b s E r r o r s * / 01034 01035 # d e f i n e G L U _ N U R B S _ E R R O R 1 1 0 0 2 5 1 01036 01037 # d e f i n e G L U _ N U R B S _ E R R O R 2 1 0 0 2 5 2 01038 01039 # d e f i n e G L U _ N U R B S _ E R R O R 3 1 0 0 2 5 3 01040 01041 # d e f i n e G L U _ N U R B S _ E R R O R 4 1 0 0 2 5 4 01042 01043 # d e f i n e G L U _ N U R B S _ E R R O R 5 1 0 0 2 5 5 01044 01045 # d e f i n e G L U _ N U R B S _ E R R O R 6 1 0 0 2 5 6 01046 01047 # d e f i n e G L U _ N U R B S _ E R R O R 7 1 0 0 2 5 7 01048 01049 # d e f i n e G L U _ N U R B S _ E R R O R 8 1 0 0 2 5 8 01050 01051 # d e f i n e G L U _ N U R B S _ E R R O R 9 1 0 0 2 5 9 01052 01053 # d e f i n e G L U _ N U R B S _ E R R O R 1 0 1 0 0 2 6 0 01054 01055 # d e f i n e G L U _ N U R B S _ E R R O R 1 1 1 0 0 2 6 1 01056 01057 # d e f i n e G L U _ N U R B S _ E R R O R 1 2 1 0 0 2 6 2 01058 01059 # d e f i n e G L U _ N U R B S _ E R R O R 1 3 1 0 0 2 6 3 01060 01061 # d e f i n e G L U _ N U R B S _ E R R O R 1 4 1 0 0 2 6 4 01062 01063 # d e f i n e G L U _ N U R B S _ E R R O R 1 5 1 0 0 2 6 5 01064 01065 # d e f i n e G L U _ N U R B S _ E R R O R 1 6 1 0 0 2 6 6 01066 01067 # d e f i n e G L U _ N U R B S _ E R R O R 1 7 1 0 0 2 6 7 01068 01069 # d e f i n e G L U _ N U R B S _ E R R O R 1 8 1 0 0 2 6 8 01070 01071 # d e f i n e G L U _ N U R B S _ E R R O R 1 9 1 0 0 2 6 9 01072 01073 # d e f i n e G L U _ N U R B S _ E R R O R 2 0 1 0 0 2 7 0 01074 01075 # d e f i n e G L U _ N U R B S _ E R R O R 2 1 1 0 0 2 7 1 01076 01077 # d e f i n e G L U _ N U R B S _ E R R O R 2 2 1 0 0 2 7 2 01078 01079 # d e f i n e G L U _ N U R B S _ E R R O R 2 3 1 0 0 2 7 3 01080 01081 # d e f i n e G L U _ N U R B S _ E R R O R 2 4 1 0 0 2 7 4 01082 01083 # d e f i n e G L U _ N U R B S _ E R R O R 2 5 1 0 0 2 7 5 01084 01085 # d e f i n e G L U _ N U R B S _ E R R O R 2 6 1 0 0 2 7 6 01086 01087 # d e f i n e G L U _ N U R B S _ E R R O R 2 7 1 0 0 2 7 7 01088 01089 # d e f i n e G L U _ N U R B S _ E R R O R 2 8 1 0 0 2 7 8 01090 01091 # d e f i n e G L U _ N U R B S _ E R R O R 2 9 1 0 0 2 7 9 01092 01093 # d e f i n e G L U _ N U R B S _ E R R O R 3 0 1 0 0 2 8 0 01094 01095 # d e f i n e G L U _ N U R B S _ E R R O R 3 1 1 0 0 2 8 1 01096 01097 # d e f i n e G L U _ N U R B S _ E R R O R 3 2 1 0 0 2 8 2 01098 01099 # d e f i n e G L U _ N U R B S _ E R R O R 3 3 1 0 0 2 8 3 01100 01101 # d e f i n e G L U _ N U R B S _ E R R O R 3 4 1 0 0 2 8 4 01102 01103 # d e f i n e G L U _ N U R B S _ E R R O R 3 5 1 0 0 2 8 5 01104 01105 # d e f i n e G L U _ N U R B S _ E R R O R 3 6 1 0 0 2 8 6 01106 01107 # d e f i n e G L U _ N U R B S _ E R R O R 3 7 1 0 0 2 8 7 01108 01109 01110 01111 / * * * * B a c k w a r d s c o m p a t i b i l i t y f o r o l d t e s s e l a t o r * * * * / 01112 01113 01114 01115 v o i d A P I E N T R Y g l u B e g i n P o l y g o n ( G L U t e s s e l a t o r * t e s s ) ; 01116 01117 01118 01119 v o i d A P I E N T R Y g l u N e x t C o n t o u r ( G L U t e s s e l a t o r * t e s s , 01120 01121 G L e n u m t y p e ) ; 01122 01123 01124 01125 v o i d A P I E N T R Y g l u E n d P o l y g o n ( G L U t e s s e l a t o r * t e s s ) ; 01126 01127 01128 01129 / * C o n t o u r s t y p e s - - o b s o l e t e ! * / 01130 01131 # d e f i n e G L U _ C W 1 0 0 1 2 0 01132 01133 # d e f i n e G L U _ C C W 1 0 0 1 2 1 01134 01135 # d e f i n e G L U _ I N T E R I O R 1 0 0 1 2 2 01136 01137 # d e f i n e G L U _ E X T E R I O R 1 0 0 1 2 3 01138 01139 # d e f i n e G L U _ U N K N O W N 1 0 0 1 2 4 01140 01141 01142 01143 / * N a m e s w i t h o u t " T E S S _ " p r e f i x * / 01144 01145 # d e f i n e G L U _ B E G I N G L U _ T E S S _ B E G I N 01146 01147 # d e f i n e G L U _ V E R T E X G L U _ T E S S _ V E R T E X 01148 01149 # d e f i n e G L U _ E N D G L U _ T E S S _ E N D 01150 01151 # d e f i n e G L U _ E R R O R G L U _ T E S S _ E R R O R 01152 01153 # d e f i n e G L U _ E D G E _ F L A G G L U _ T E S S _ E D G E _ F L A G 01154 01155 01156 01157 # i f d e f _ _ c p l u s p l u s 01158 01159 } 01160 01161 # e n d i f 01162 01163 01164 01165 # e n d i f / * _ _ G L U _ H _ _ * / 01166 01167 # e n d i f / * _ _ g l u _ h _ _ * / 01168 01169 01170 01171