Metropoli BBS
VIEWER: irit2ray.dsk MODE: BINARY (HEX)
==============================================================================================================================================
OFFSET    00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F  10 11 12 13 14 15 16 17  18 19 1A 1B 1C 1D 1E 1F
----------------------------------------------------------------------------------------------------------------------------------------------
00000000  54 75 72 62 6F 20 43 20  43 6F 6E 74 65 78 74 20  46 69 6C 65 20 1A 00 01  0D 12 17 01 1A 00 00 09  Turbo C Context File ...
00000020  64 00 41 06 23 00 00 00  14 06 E5 05 B6 05 89 05  5A 05 2B 05 FE 04 CF 04  A0 04 73 04 44 04 15 04  d.A#...σëZ+ásD§
00000040  E8 03 B9 03 8A 03 5D 03  2E 03 FF 02 D2 02 A3 02  74 02 47 02 18 02 E9 01  BC 01 8D 01 5E 01 31 01  Φè]. útGΘì^1
00000060  02 01 D3 00 A6 00 77 00  48 00 48 00 4D 49 53 43  5F 4C 49 42 2E 4C 49 42  00 01 00 01 00 01 00 01  .ª.w.H.H.MISC_LIB.LIB....
00000080  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 00 00 43 41 47 44 5F  ...............CAGD_
000000A0  4C 49 42 2E 4C 49 42 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  LIB.LIB.............
000000C0  01 00 01 00 01 00 01 00  00 00 49 52 49 54 32 52  41 59 2E 43 00 01 00 9B  02 01 00 8A 02 00 00 00  ......IRIT2RAY.C..¢.è...
000000E0  00 00 00 00 00 00 00 00  00 00 00 00 00 0F 00 95  02 0F 00 95 02 00 00 4D  49 53 43 5F 4C 49 42 2E  ..............ò.ò..MISC_LIB.
00000100  4C 49 42 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  LIB...............
00000120  01 00 01 00 00 00 43 41  47 44 5F 4C 49 42 2E 4C  49 42 00 01 00 01 00 01  00 01 00 01 00 01 00 01  ....CAGD_LIB.LIB.......
00000140  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 00 00 49 52 49  54 32 52 41 59 2E 43 00  ............IRIT2RAY.C.
00000160  18 00 74 02 01 00 5A 02  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  11 00 24 02 11 00 24 02  .t.Z.................$.$
00000180  00 00 4D 49 53 43 5F 4C  49 42 2E 4C 49 42 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  ..MISC_LIB.LIB.........
000001A0  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 00  00 43 41 47 44 5F 4C 49  42 2E 4C 49 42 00 01 00  ..........CAGD_LIB.LIB..
000001C0  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 00 00  .................
000001E0  49 52 49 54 32 52 41 59  2E 43 00 18 00 74 02 01  00 5A 02 00 00 00 00 00  00 00 00 00 00 00 00 00  IRIT2RAY.C..t.Z.............
00000200  00 00 00 11 00 24 02 11  00 24 02 00 00 4D 49 53  43 5F 4C 49 42 2E 4C 49  42 00 01 00 01 00 01 00  ....$.$..MISC_LIB.LIB....
00000220  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 00 00 43 41 47 44  ...............CAGD
00000240  5F 4C 49 42 2E 4C 49 42  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  _LIB.LIB............
00000260  00 01 00 01 00 01 00 01  00 00 00 49 52 49 54 32  52 41 59 2E 43 00 18 00  74 02 01 00 5A 02 00 00  .......IRIT2RAY.C..t.Z..
00000280  00 00 00 00 00 00 00 00  00 00 00 00 00 00 11 00  24 02 11 00 24 02 00 00  4D 49 53 43 5F 4C 49 42  ...............$.$..MISC_LIB
000002A0  2E 4C 49 42 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  .LIB..............
000002C0  00 01 00 01 00 00 00 43  41 47 44 5F 4C 49 42 2E  4C 49 42 00 01 00 01 00  01 00 01 00 01 00 01 00  .....CAGD_LIB.LIB.......
000002E0  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 00 00 49 52  49 54 32 52 41 59 2E 43  ............IRIT2RAY.C
00000300  00 18 00 74 02 01 00 5A  02 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 11 00 24 02 11 00 24  ..t.Z.................$.$
00000320  02 00 00 4D 49 53 43 5F  4C 49 42 2E 4C 49 42 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  ..MISC_LIB.LIB.........
00000340  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  00 00 43 41 47 44 5F 4C  49 42 2E 4C 49 42 00 01  ..........CAGD_LIB.LIB.
00000360  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 00  .................
00000380  00 49 52 49 54 32 52 41  59 2E 43 00 18 00 74 02  01 00 5A 02 00 00 00 00  00 00 00 00 00 00 00 00  .IRIT2RAY.C..t.Z............
000003A0  00 00 00 00 11 00 24 02  11 00 24 02 00 00 4D 49  53 43 5F 4C 49 42 2E 4C  49 42 00 01 00 01 00 01  .....$.$..MISC_LIB.LIB...
000003C0  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 00 00 43 41 47  ................CAG
000003E0  44 5F 4C 49 42 2E 4C 49  42 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  D_LIB.LIB............
00000400  01 00 01 00 01 00 01 00  01 00 00 00 49 52 49 54  32 52 41 59 2E 43 00 18  00 74 02 01 00 5A 02 00  .......IRIT2RAY.C..t.Z.
00000420  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 11  00 24 02 11 00 24 02 00  00 4D 49 53 43 5F 4C 49  ................$.$..MISC_LI
00000440  42 2E 4C 49 42 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  B.LIB..............
00000460  01 00 01 00 01 00 00 00  43 41 47 44 5F 4C 49 42  2E 4C 49 42 00 01 00 01  00 01 00 01 00 01 00 01  .....CAGD_LIB.LIB......
00000480  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 00 00 49  52 49 54 32 52 41 59 2E  .............IRIT2RAY.
000004A0  43 00 18 00 74 02 01 00  5A 02 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 11 00 24 02 11 00  C..t.Z.................$.
000004C0  24 02 00 00 4D 49 53 43  5F 4C 49 42 2E 4C 49 42  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  $..MISC_LIB.LIB........
000004E0  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 00 00 43 41 47 44 5F  4C 49 42 2E 4C 49 42 00  ...........CAGD_LIB.LIB.
00000500  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  ................
00000520  00 00 49 52 49 54 32 52  41 59 2E 43 00 18 00 74  02 01 00 5A 02 00 00 00  00 00 00 00 00 00 00 00  ..IRIT2RAY.C..t.Z...........
00000540  00 00 00 00 00 11 00 24  02 11 00 24 02 00 00 4D  49 53 43 5F 4C 49 42 2E  4C 49 42 00 01 00 01 00  ......$.$..MISC_LIB.LIB...
00000560  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 00 00 43 41  ................CA
00000580  47 44 5F 4C 49 42 2E 4C  49 42 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  GD_LIB.LIB...........
000005A0  00 01 00 01 00 01 00 01  00 01 00 00 00 49 52 49  54 32 52 41 59 2E 43 00  18 00 74 02 01 00 5A 02  ........IRIT2RAY.C..t.Z
000005C0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  11 00 24 02 11 00 24 02  00 00 4D 49 53 43 5F 4C  .................$.$..MISC_L
000005E0  49 42 2E 4C 49 42 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  IB.LIB.............
00000600  00 01 00 01 00 01 00 00  00 43 41 47 44 5F 4C 49  42 2E 4C 49 42 00 01 00  01 00 01 00 01 00 01 00  ......CAGD_LIB.LIB......
00000620  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 00 00  49 52 49 54 32 52 41 59  .............IRIT2RAY
00000640  2E 43 00 18 00 74 02 01  00 5A 02 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 11 00 24 02 11  .C..t.Z.................$
00000660  00 24 02 00 00 65 00 F3  00 0F 00 1E 00 CF 00 00  00 17 00 25 00 35 00 3F  00 56 00 5C 00 6D 00 7D  .$..e........%.5.?.V.\.m.}
00000680  00 94 00 A4 00 B6 00 BC  00 C2 00 C9 00 2E 2E 5C  4D 49 53 43 5F 4C 49 42  5C 49 52 49 54 50 52 53  .ö.ñ.......\MISC_LIB\IRITPRS
000006A0  52 2E 43 00 5C 43 5C 50  4F 4C 59 33 44 5C 2A 2E  43 00 5C 43 5C 4D 49 53  43 5F 4C 49 42 5C 2A 2E  R.C.\C\POLY3D\*.C.\C\MISC_LIB\*.
000006C0  48 00 5C 43 5C 53 4D 5C  2A 2E 48 00 2E 2E 5C 4D  49 53 43 5F 4C 49 42 5C  49 52 49 54 50 52 53 52  H.\C\SM\*.H...\MISC_LIB\IRITPRSR
000006E0  2E 48 00 2A 2E 42 41 4B  00 2E 2E 5C 53 4D 5C 47  45 4F 4D 41 54 33 44 2E  43 00 2E 2E 5C 53 4D 5C  .H.*.BAK...\SM\GEOMAT3D.C...\SM\
00000700  50 52 4F 47 52 41 4D 2E  48 00 5C 43 5C 50 4F 4C  59 33 44 2D 52 5C 57 49  47 47 4C 45 2E 44 41 54  PROGRAM.H.\C\POLY3D-R\WIGGLE.DAT
00000720  00 2E 2E 5C 50 4F 4C 59  33 44 2D 52 5C 2A 2E 43  00 2E 2E 5C 50 4F 4C 59  33 44 2D 52 5C 2A 2E 44  ...\POLY3D-R\*.C...\POLY3D-R\*.D
00000740  41 54 00 2A 2E 47 45 4F  00 2A 2E 52 41 59 00 2A  2E 47 45 4F 4D 00 2A 2E  44 41 54 00 76 00 3D 01  AT.*.GEO.*.RAY.*.GEOM.*.DAT.v.=
00000760  0E 00 1C 00 1B 01 00 00  20 00 3C 00 46 00 59 00  70 00 8C 00 A9 00 BD 00  CB 00 E7 00 FE 00 04 01  .... .<.F.Y.p.î....τ..
00000780  10 01 2D 50 20 2D 4D 2D  20 2D 76 20 73 61 64 64  6C 65 2E 6D 61 74 20 73  61 64 64 6C 65 2E 62 7A  -P -M- -v saddle.mat saddle.bz
000007A0  72 00 2D 4D 20 2D 76 20  73 61 64 64 6C 65 2E 6D  61 74 20 73 61 64 64 6C  65 2E 62 7A 72 00 61 72  r.-M -v saddle.mat saddle.bzr.ar
000007C0  63 39 30 2E 62 7A 72 00  5C 63 5C 70 6F 6C 79 33  64 5C 63 75 62 65 2E 64  61 74 00 5C 63 5C 70 6F  c90.bzr.\c\poly3d\cube.dat.\c\po
000007E0  6C 79 33 64 2D 72 5C 77  69 67 67 6C 65 2E 64 61  74 00 2D 66 20 37 20 5C  63 5C 70 6F 6C 79 33 64  ly3d-r\wiggle.dat.-f 7 \c\poly3d
00000800  2D 72 5C 77 69 67 67 6C  65 2E 64 61 74 00 2D 66  20 31 35 20 5C 63 5C 70  6F 6C 79 33 64 2D 72 5C  -r\wiggle.dat.-f 15 \c\poly3d-r\
00000820  77 69 67 67 6C 65 2E 64  61 74 00 2D 66 20 35 20  66 3A 5C 74 77 69 67 67  6C 65 2E 64 61 74 00 2D  wiggle.dat.-f 5 f:\twiggle.dat.-
00000840  66 20 35 20 66 3A 5C 74  2E 64 61 74 00 2D 66 20  35 20 5C 63 5C 70 6F 6C  79 33 64 2D 72 5C 73 6F  f 5 f:\t.dat.-f 5 \c\poly3d-r\so
00000860  6C 69 64 32 2E 64 61 74  00 5C 63 5C 70 6F 6C 79  33 64 2D 72 5C 73 6F 6C  69 64 32 2E 64 61 74 00  lid2.dat.\c\poly3d-r\solid2.dat.
00000880  74 2E 64 61 74 00 73 6F  6C 69 64 31 63 2E 64 61  74 00 73 6F 6C 69 64 31  2E 64 61 74 00 77 00 4F  t.dat.solid1c.dat.solid1.dat.w.O
000008A0  00 06 00 0C 00 3D 00 00  00 09 00 14 00 1F 00 27  00 32 00 76 6F 69 64 20  2A 2E 63 00 73 74 72 75  ...=......'.2.void *.c.stru
000008C0  63 74 20 2A 2E 63 00 73  74 72 75 63 74 20 2A 2E  68 00 66 6F 72 20 2A 2E  63 00 20 76 6F 69 64 20  ct *.c.struct *.h.for *.c. void 
000008E0  2A 2E 63 20 00 70 72 69  6E 74 66 20 2A 2E 63 00  78 00 95 00 0F 00 1E 00  71 00 00 00 0C 00 1A 00  *.c .printf *.c.x.ò...q.....
00000900  1F 00 27 00 2E 00 36 00  3F 00 44 00 48 00 50 00  5F 00 66 00 6B 00 6C 00  47 72 61 70 68 69 63 4D  .'...6.?.D.H.P._.f.k.l.GraphicM
00000920  6F 64 65 00 53 63 72 65  65 6E 43 75 72 73 6F 72  43 00 53 56 47 41 00 41  6C 6C 53 72 66 73 00 4D  ode.ScreenCursorC.SVGA.AllSrfs.M
00000940  79 46 72 65 65 00 69 6E  63 6C 75 64 65 00 46 69  6E 65 4E 65 73 73 00 25  38 6C 67 00 36 6C 67 00  yFree.include.FineNess.%8lg.6lg.
00000960  50 4F 62 6A 65 63 74 00  50 4F 62 6A 65 63 74 20  2D 3E 20 52 47 42 00 43  72 6F 73 73 50 00 44 6F  PObject.PObject -> RGB.CrossP.Do
00000980  74 5F 00 00 44 4F 54 5F  00 79 00 44 00 05 00 0A  00 34 00 00 00 07 00 0B  00 0C 00 12 00 25 39 2E  t_..DOT_.y.D...4.......%9.
000009A0  36 6C 67 00 36 6C 66 00  00 54 72 61 6E 73 00 54  72 61 6E 73 43 6F 6C 6F  72 54 61 62 6C 65 5B 50  6lg.6lf..Trans.TransColorTable[P
000009C0  4F 62 6A 65 63 74 20 2D  3E 20 43 6F 6C 6F 72 5D  00 7A 00 F8 00 0D 00 1A  00 D8 00 00 00 04 00 14  Object -> Color].z.°.......
000009E0  00 2B 00 42 00 58 00 6F  00 85 00 9E 00 AB 00 B8  00 C3 00 CD 00 2A 2E 43  00 2E 2E 5C 43 41 47 44  .+.B.X.o.à..½....*.C...\CAGD
00000A00  5F 4C 49 42 5C 2A 2E 43  00 2E 2E 5C 43 41 47 44  5F 4C 49 42 5C 43 41 47  44 4D 45 53 48 2E 43 00  _LIB\*.C...\CAGD_LIB\CAGDMESH.C.
00000A20  2E 2E 5C 43 41 47 44 5F  4C 49 42 5C 43 41 47 44  43 4F 45 52 2E 43 00 2E  2E 5C 43 41 47 44 5F 4C  ..\CAGD_LIB\CAGDCOER.C...\CAGD_L
00000A40  49 42 5C 42 5A 52 5F 57  52 54 2E 43 00 2E 2E 5C  43 41 47 44 5F 4C 49 42  5C 42 5A 52 5F 52 45 41  IB\BZR_WRT.C...\CAGD_LIB\BZR_REA
00000A60  44 2E 43 00 2E 2E 5C 43  41 47 44 5F 4C 49 42 5C  42 5A 52 5F 47 45 4E 2E  43 00 2E 2E 5C 43 41 47  D.C...\CAGD_LIB\BZR_GEN.C...\CAG
00000A80  44 5F 4C 49 42 5C 43 41  47 44 5F 4C 49 42 2E 4C  49 42 00 43 41 47 44 5F  4C 49 42 2E 4C 49 42 00  D_LIB\CAGD_LIB.LIB.CAGD_LIB.LIB.
00000AA0  4D 49 53 43 5F 4C 49 42  2E 4C 49 42 00 49 4E 54  45 52 41 43 54 2E 43 00  50 43 47 52 41 50 48 2E  MISC_LIB.LIB.INTERACT.C.PCGRAPH.
00000AC0  43 00 49 52 49 54 32 52  41 59 2E 43 00 7C 00 42  00 06 00 0C 00 30 00 00  00 0C 00 17 00 1E 00 20  C.IRIT2RAY.C.|.B...0...... 
00000AE0  00 26 00 53 74 72 69 6E  67 54 6F 6B 65 6E 00 4C  61 73 74 4E 6F 72 6D 61  6C 00 4E 6F 72 6D 61 6C  .&.StringToken.LastNormal.Normal
00000B00  00 56 00 56 4E 65 78 74  00 56 4E 65 78 74 4E 65  78 74 00 F4 01 90 04 1E  00 00 32 00 00 0F 09 40  .V.VNext.VNextNext.É..2..@
00000B20  2B 0F 09 40 2B 04 00 06  B2 41 06 00 00 00 00 00  00 00 00 2E 00 12 00 00  32 00 00 00 27 4F 30 00  +@+.A............2...'O0.
00000B40  27 4F 30 02 00 8B 5E 4D  00 00 32 00 00 01 02 4F  26 00 01 4F 26 00 00 00  00 44 3A 5C 43 5C 4D 49  'O0.ï^M..2..O&.O&....D:\C\MI
00000B60  53 43 5F 4C 49 42 5C 49  52 49 54 50 52 53 52 2E  48 00 01 00 45 00 01 00  45 00 01 00 01 00 01 00  SC_LIB\IRITPRSR.H..E..E....
00000B80  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 00 00 4D 00 00 32  00 00 00 01 4F 26 00 01  ...........M..2...O&.
00000BA0  4F 26 00 00 00 00 44 3A  5C 43 5C 49 52 49 54 32  52 41 59 5C 49 52 49 54  32 52 41 59 2E 43 00 09  O&....D:\C\IRIT2RAY\IRIT2RAY.C.
00000BC0  00 0B 01 01 00 FF 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 01  00 08 01 01 00 09 01 00  .. ....................
00000BE0  00 4D 00 00 32 00 00 02  03 4F 26 00 01 4F 26 00  00 00 00 44 3A 5C 43 5C  50 4F 4C 59 33 44 2D 52  .M..2..O&.O&....D:\C\POLY3D-R
00000C00  5C 43 4F 4C 4F 52 54 42  4C 2E 43 00 06 00 20 00  01 00 15 00 01 00 01 00  01 00 01 00 01 00 01 00  \COLORTBL.C.. ..§.......
00000C20  01 00 01 00 05 00 20 00  06 00 20 00 00 00 4D 00  00 32 00 00 01 02 4F 26  00 01 4F 26 00 00 00 00  ... .. ...M..2..O&.O&....
00000C40  44 3A 5C 43 5C 50 4F 4C  59 33 44 2D 52 5C 45 56  41 4C 43 4F 4C 52 2E 43  00 01 00 01 00 01 00 01  D:\C\POLY3D-R\EVALCOLR.C....
00000C60  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 00 00 47 00 00 32 00  ...............G..2.
00000C80  00 01 02 4F 26 00 01 4F  26 00 00 00 00 44 3A 5C  43 5C 53 4D 5C 47 45 4F  4D 41 54 33 44 2E 43 00  .O&.O&....D:\C\SM\GEOMAT3D.C.
00000CA0  1A 00 4B 01 01 00 33 01  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 4B 01 01 00 4B 01  .K.3.........K.K
00000CC0  00 00 46 00 00 32 00 00  01 02 4F 26 00 01 4F 26  00 00 00 00 44 3A 5C 43  5C 53 4D 5C 50 52 4F 47  ..F..2..O&.O&....D:\C\SM\PROG
00000CE0  52 41 4D 2E 48 00 04 00  48 01 01 00 3F 01 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  RAM.H..H.?.........
00000D00  48 01 01 00 48 01 00 00  3D 00 00 32 00 00 01 02  4F 26 00 01 4F 26 00 00  00 00 46 3A 5C 54 2E 44  H.H..=..2..O&.O&....F:\T.D
00000D20  41 54 00 19 00 0C 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  AT...............
00000D40  00 01 00 00 00 3D 00 00  32 00 00 01 02 4F 26 00  01 4F 26 00 00 00 00 46  3A 5C 54 2E 44 41 54 00  ....=..2..O&.O&....F:\T.DAT.
00000D60  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  ................
00000D80  00 00 4F 00 00 32 00 00  01 02 4F 26 00 01 4F 26  00 00 00 00 44 3A 5C 43  5C 49 52 49 54 32 52 41  ..O..2..O&.O&....D:\C\IRIT2RA
00000DA0  59 5C 49 52 49 54 32 52  41 59 2E 47 45 4F 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  Y\IRIT2RAY.GEO.........
00000DC0  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 00  00 4F 00 00 32 00 00 01  02 4F 26 00 01 4F 26 00  ..........O..2..O&.O&.
00000DE0  00 00 00 44 3A 5C 43 5C  49 52 49 54 32 52 41 59  5C 49 52 49 54 32 52 41  59 2E 52 41 59 00 01 00  ...D:\C\IRIT2RAY\IRIT2RAY.RAY..
00000E00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 00 00  .................
00000E20  4F 00 00 32 00 00 01 02  4F 26 00 01 4F 26 00 00  00 00 44 3A 5C 43 5C 49  52 49 54 32 52 41 59 5C  O..2..O&.O&....D:\C\IRIT2RAY\
00000E40  49 52 49 54 32 52 41 59  2E 52 41 59 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  IRIT2RAY.RAY..........
00000E60  00 01 00 01 00 01 00 01  00 01 00 01 00 00 00 4F  00 00 32 00 00 02 03 4F  26 00 01 4F 26 00 00 00  .........O..2..O&.O&...
00000E80  00 44 3A 5C 43 5C 49 52  49 54 32 52 41 59 5C 49  52 49 54 32 52 41 59 2E  47 45 4F 00 01 00 A3 00  .D:\C\IRIT2RAY\IRIT2RAY.GEO..ú.
00000EA0  01 00 A3 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 01 00 01 00  01 00 01 00 00 00 4F 00  .ú...............O.
00000EC0  00 32 00 00 01 02 4F 26  00 01 4F 26 00 00 00 00  44 3A 5C 43 5C 49 52 49  54 32 52 41 59 5C 49 52  .2..O&.O&....D:\C\IRIT2RAY\IR
00000EE0  49 54 32 52 41 59 2E 52  41 59 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  IT2RAY.RAY...........
00000F00  00 01 00 01 00 01 00 01  00 01 00 00 00 4D 00 00  32 00 00 00 01 4F 26 00  01 4F 26 00 00 00 00 44  ........M..2...O&.O&....D
00000F20  3A 5C 43 5C 49 52 49 54  32 52 41 59 5C 49 52 49  54 32 52 41 59 2E 43 00  0D 00 A0 01 01 00 82 01  :\C\IRIT2RAY\IRIT2RAY.C..á.é
00000F40  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  15 00 54 00 15 00 54 00  00 00 4D 00 00 32 00 00  ................§.T.§.T...M..2..
00000F60  01 02 4F 26 00 01 4F 26  00 00 00 00 44 3A 5C 43  5C 49 52 49 54 46 4C 54  52 5C 53 4F 4C 49 44 31  O&.O&....D:\C\IRITFLTR\SOLID1
00000F80  2E 44 41 54 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  00 01 00 01 00 01 00 01  .DAT..............
00000FA0  00 01 00 01 00 00 00 F5  01 83 00 4D 00 00 32 00  00 00 01 4F 26 00 01 4F  26 00 00 00 00 44 3A 5C  .....â.M..2...O&.O&....D:\
00000FC0  43 5C 49 52 49 54 46 4C  54 52 5C 49 52 49 54 32  52 41 59 2E 43 00 01 00  9B 02 01 00 8A 02 00 00  C\IRITFLTR\IRIT2RAY.C..¢.è..
00000FE0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 0F 00  95 02 0F 00 95 02 00 00  12 00 00 32 00 00 00 27  ...............ò.ò....2...'
00001000  4F 30 00 27 4F 30 02 00  00 01 12 00 00 32 00 00  00 27 4F 30 00 27 4F 30  03 00 00 00 12 00 00 32  O0.'O0....2...'O0.'O0.....2
00001020  00 00 00 27 4F 30 00 27  4F 30 08 00 00 00 F6 01  C2 1B 42 47 49 44 72 69  76 65 72 50 61 74 68 0D  ...'O0.'O0...÷BGIDriverPath
00001040  0A 76 6F 69 64 20 47 47  49 6E 73 74 61 6C 6C 42  47 49 28 63 68 61 72 20  2A 42 47 49 44 72 69 76  void GGInstallBGI(char *BGIDriv
00001060  65 72 50 61 74 68 2C 20  63 68 61 72 20 2A 4E 61  6D 65 4D 6F 64 65 29 0D  0A 2F 2A 2A 2A 2A 2A 2A  erPath, char *NameMode)/******
00001080  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000010A0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000010C0  2A 2A 2A 2A 2A 2A 2A 0D  0A 2A 20 52 6F 75 74 69  6E 65 20 74 6F 20 64 72  61 77 20 61 6C 6C 20 74  ******** Routine to draw all t
000010E0  68 65 20 6F 62 6A 65 63  74 73 20 69 6E 20 6F 62  6A 65 63 74 20 6C 69 73  74 20 4F 62 6A 65 63 74  he objects in object list Object
00001100  73 2E 09 09 20 20 20 20  20 2A 0D 0A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  s.     *********************
00001120  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
00001140  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2F 0D 0A 76 6F 69 64  *************************/void
00001160  20 44 72 61 77 41 6C 6C  4F 62 6A 65 63 74 73 28  49 50 4F 62 6A 65 63 74  53 74 72 75 63 74 20 2A   DrawAllObjects(IPObjectStruct *
00001180  4F 62 6A 65 63 74 73 29  0D 0A 7B 0D 0A 20 20 20  20 77 68 69 6C 65 20 28  4F 62 6A 65 63 74 73 29  Objects){    while (Objects)
000011A0  20 7B 0D 0A 09 44 72 61  77 4F 6E 65 4F 62 6A 65  63 74 28 4F 62 6A 65 63  74 73 29 3B 0D 0A 09 4F   {DrawOneObject(Objects);O
000011C0  62 6A 65 63 74 73 20 3D  20 4F 62 6A 65 63 74 73  20 2D 3E 20 50 6E 65 78  74 3B 0D 0A 20 20 20 20  bjects = Objects -> Pnext;    
000011E0  7D 0D 0A 7D 0D 0A 0D 0A  2F 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  }}/***********************
00001200  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
00001220  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 0A  2A 20 52 6F 75 74 69 6E  *********************** Routin
00001240  65 20 74 6F 20 64 72 61  77 20 6F 6E 65 20 6F 62  6A 65 63 74 20 4F 62 6A  65 63 74 2E 09 09 09 09  e to draw one object Object.
00001260  09 20 20 20 20 20 2A 0D  0A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A       ************************
00001280  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000012A0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2F 0D  0A 73 74 61 74 69 63 20  **********************/static 
000012C0  76 6F 69 64 20 44 72 61  77 4F 6E 65 4F 62 6A 65  63 74 28 49 50 4F 62 6A  65 63 74 53 74 72 75 63  void DrawOneObject(IPObjectStruc
000012E0  74 20 2A 50 4F 62 6A 65  63 74 29 0D 0A 7B 0D 0A  20 20 20 20 49 50 50 6F  6C 79 67 6F 6E 53 74 72  t *PObject){    IPPolygonStr
00001300  75 63 74 20 2A 50 4C 69  73 74 20 3D 20 50 4F 62  6A 65 63 74 20 2D 3E 20  50 50 6F 6C 79 67 6F 6E  uct *PList = PObject -> PPolygon
00001320  3B 0D 0A 0D 0A 20 20 20  20 47 47 4D 79 53 65 74  43 6F 6C 6F 72 28 50 4F  62 6A 65 63 74 20 2D 3E  ;    GGMySetColor(PObject ->
00001340  20 43 6F 6C 6F 72 29 3B  0D 0A 0D 0A 20 20 20 20  77 68 69 6C 65 20 28 50  4C 69 73 74 29 20 7B 0D   Color);    while (PList) {
00001360  0A 09 44 72 61 77 4F 6E  65 50 6F 6C 79 67 6F 6E  28 50 4C 69 73 74 29 3B  0D 0A 09 50 4C 69 73 74  DrawOnePolygon(PList);PList
00001380  20 3D 09 50 4C 69 73 74  20 2D 3E 20 50 6E 65 78  74 3B 0D 0A 20 20 20 20  7D 0D 0A 7D 0D 0A 0D 0A   =PList -> Pnext;    }}
000013A0  2F 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  /*******************************
000013C0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000013E0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 0D 0A  2A 20 52 6F 75 74 69 6E  65 20 74 6F 20 64 72 61  *************** Routine to dra
00001400  77 20 6F 6E 65 20 70 6F  6C 79 67 6F 6E 2C 20 75  73 69 6E 67 20 67 6C 6F  62 61 6C 20 4D 61 74 72  w one polygon, using global Matr
00001420  69 78 20 74 72 61 6E 73  66 6F 72 6D 20 4D 61 74  2E 09 20 20 20 20 20 2A  0D 0A 2A 20 4E 6F 74 65  ix transform Mat.     ** Note
00001440  20 74 68 69 73 20 69 73  20 74 68 65 20 72 6F 75  74 69 6E 65 20 74 68 61  74 09 6D 61 6B 65 73 20   this is the routine thatmakes 
00001460  74 68 65 20 72 65 61 6C  20 64 72 61 77 69 6E 67  2E 2E 2E 09 09 20 20 20  20 20 2A 0D 0A 2A 2A 2A  the real drawing...     ****
00001480  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000014A0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000014C0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2F 0D 0A 73 74 61  74 69 63 20 76 6F 69 64  20 44 72 61 77 4F 6E 65  **********/static void DrawOne
000014E0  50 6F 6C 79 67 6F 6E 28  49 50 50 6F 6C 79 67 6F  6E 53 74 72 75 63 74 20  2A 50 50 6F 6C 79 67 6F  Polygon(IPPolygonStruct *PPolygo
00001500  6E 29 0D 0A 7B 0D 0A 20  20 20 20 69 6E 74 09 69  2C 20 6A 2C 20 44 72 61  77 4E 65 78 74 45 64 67  n){    inti, j, DrawNextEdg
00001520  65 2C 20 4E 75 6D 4F 66  56 65 72 74 69 63 65 73  3B 0D 0A 20 20 20 20 52  65 61 6C 54 79 70 65 20  e, NumOfVertices;    RealType 
00001540  4D 61 70 70 65 64 4E 6F  72 6D 61 6C 5B 33 5D 2C  20 50 6F 6C 79 4E 6F 72  6D 61 6C 5B 33 5D 3B 0D  MappedNormal[3], PolyNormal[3];
00001560  0A 20 20 20 20 49 50 56  65 72 74 65 78 53 74 72  75 63 74 0D 0A 09 2A 56  4C 69 73 74 20 3D 20 50      IPVertexStruct*VList = P
00001580  50 6F 6C 79 67 6F 6E 20  2D 3E 20 50 56 65 72 74  65 78 2C 0D 0A 09 2A 56  48 65 61 64 20 3D 20 56  Polygon -> PVertex,*VHead = V
000015A0  4C 69 73 74 3B 0D 0A 0D  0A 20 20 20 20 69 66 20  28 56 4C 69 73 74 20 3D  3D 20 4E 55 4C 4C 29 20  List;    if (VList == NULL) 
000015C0  72 65 74 75 72 6E 3B 0D  0A 0D 0A 20 20 20 20 54  65 73 74 51 75 69 74 56  69 65 77 28 29 3B 0D 0A  return;    TestQuitView();
000015E0  0D 0A 20 20 20 20 73 77  69 74 63 68 20 28 50 50  6F 6C 79 67 6F 6E 20 2D  3E 20 54 79 70 65 29 20      switch (PPolygon -> Type) 
00001600  7B 0D 0A 09 63 61 73 65  20 49 50 5F 50 4F 49 4E  54 4C 49 53 54 3A 0D 0A  09 20 20 20 20 4D 6F 76  {case IP_POINTLIST:    Mov
00001620  65 54 6F 50 74 72 28 56  4C 69 73 74 20 2D 3E 20  43 6F 6F 72 64 29 3B 0D  0A 09 20 20 20 20 44 72  eToPtr(VList -> Coord);    Dr
00001640  61 77 54 6F 50 74 72 28  56 4C 69 73 74 20 2D 3E  20 43 6F 6F 72 64 29 3B  0D 0A 09 20 20 20 20 56  awToPtr(VList -> Coord);    V
00001660  4C 69 73 74 20 3D 20 56  4C 69 73 74 20 2D 3E 20  50 6E 65 78 74 3B 0D 0A  09 20 20 20 20 66 6F 72  List = VList -> Pnext;    for
00001680  20 28 69 20 3D 20 30 3B  0D 0A 09 09 20 69 20 3C  20 47 6C 62 6C 4E 75 6D  45 64 67 65 73 20 26 26   (i = 0; i < GlblNumEdges &&
000016A0  20 56 4C 69 73 74 20 21  3D 20 4E 55 4C 4C 20 26  26 20 56 4C 69 73 74 20  21 3D 20 56 48 65 61 64   VList != NULL && VList != VHead
000016C0  3B 0D 0A 09 09 20 69 2B  2B 29 20 7B 0D 0A 09 09  4D 6F 76 65 54 6F 50 74  72 28 56 4C 69 73 74 20  ; i++) {MoveToPtr(VList 
000016E0  2D 3E 20 43 6F 6F 72 64  29 3B 0D 0A 09 09 44 72  61 77 54 6F 50 74 72 28  56 4C 69 73 74 20 2D 3E  -> Coord);DrawToPtr(VList ->
00001700  20 43 6F 6F 72 64 29 3B  0D 0A 09 09 56 4C 69 73  74 20 3D 20 56 4C 69 73  74 20 2D 3E 20 50 6E 65   Coord);VList = VList -> Pne
00001720  78 74 3B 0D 0A 09 20 20  20 20 7D 0D 0A 09 20 20  20 20 62 72 65 61 6B 3B  0D 0A 09 63 61 73 65 20  xt;    }    break;case 
00001740  49 50 5F 50 4F 4C 59 4C  49 4E 45 3A 0D 0A 09 20  20 20 20 4D 6F 76 65 54  6F 50 74 72 28 56 4C 69  IP_POLYLINE:    MoveToPtr(VLi
00001760  73 74 20 2D 3E 20 43 6F  6F 72 64 29 3B 0D 0A 09  20 20 20 20 44 72 61 77  4E 65 78 74 45 64 67 65  st -> Coord);    DrawNextEdge
00001780  20 3D 20 21 49 50 5F 49  53 5F 56 52 54 58 5F 49  4E 54 45 52 4E 41 4C 28  56 4C 69 73 74 29 3B 0D   = !IP_IS_VRTX_INTERNAL(VList);
000017A0  0A 09 20 20 20 20 56 4C  69 73 74 20 3D 20 56 4C  69 73 74 20 2D 3E 20 50  6E 65 78 74 3B 0D 0A 09      VList = VList -> Pnext;
000017C0  20 20 20 20 66 6F 72 20  28 69 20 3D 20 31 3B 0D  0A 09 09 20 69 20 3C 20  47 6C 62 6C 4E 75 6D 45      for (i = 1; i < GlblNumE
000017E0  64 67 65 73 20 26 26 20  56 4C 69 73 74 20 21 3D  20 4E 55 4C 4C 20 26 26  20 56 4C 69 73 74 20 21  dges && VList != NULL && VList !
00001800  3D 20 56 48 65 61 64 3B  0D 0A 09 09 20 69 2B 2B  29 20 7B 0D 0A 09 09 69  66 20 28 44 72 61 77 4E  = VHead; i++) {if (DrawN
00001820  65 78 74 45 64 67 65 20  7C 7C 20 47 6C 62 6C 49  6E 74 65 72 6E 61 6C 29  0D 0A 09 09 20 20 20 20  extEdge || GlblInternal)    
00001840  44 72 61 77 54 6F 50 74  72 28 56 4C 69 73 74 20  2D 3E 20 43 6F 6F 72 64  29 3B 0D 0A 09 09 65 6C  DrawToPtr(VList -> Coord);el
00001860  73 65 0D 0A 09 09 20 20  20 20 4D 6F 76 65 54 6F  50 74 72 28 56 4C 69 73  74 20 2D 3E 20 43 6F 6F  se    MoveToPtr(VList -> Coo
00001880  72 64 29 3B 0D 0A 0D 0A  09 09 44 72 61 77 4E 65  78 74 45 64 67 65 20 3D  20 21 49 50 5F 49 53 5F  rd);DrawNextEdge = !IP_IS_
000018A0  56 52 54 58 5F 49 4E 54  45 52 4E 41 4C 28 56 4C  69 73 74 29 3B 0D 0A 09  09 56 4C 69 73 74 20 3D  VRTX_INTERNAL(VList);VList =
000018C0  20 56 4C 69 73 74 20 2D  3E 20 50 6E 65 78 74 3B  0D 0A 09 20 20 20 20 7D  0D 0A 09 20 20 20 20 62   VList -> Pnext;    }    b
000018E0  72 65 61 6B 3B 0D 0A 09  63 61 73 65 20 49 50 5F  50 4F 4C 59 47 4F 4E 3A  0D 0A 23 69 66 64 65 66  reak;case IP_POLYGON:#ifdef
00001900  20 5F 5F 47 4C 5F 5F 0D  0A 09 20 20 20 20 69 66  20 28 47 6C 62 6C 44 72  61 77 53 6F 6C 69 64 29   __GL__    if (GlblDrawSolid)
00001920  20 7B 0D 0A 09 09 47 47  4D 79 44 72 61 77 50 6F  6C 79 67 6F 6E 53 6F 6C  69 64 28 50 50 6F 6C 79   {GGMyDrawPolygonSolid(PPoly
00001940  67 6F 6E 29 3B 0D 0A 09  09 62 72 65 61 6B 3B 0D  0A 09 20 20 20 20 7D 0D  0A 23 65 6E 64 69 66 0D  gon);break;    }#endif
00001960  0A 09 20 20 20 20 69 66  20 28 47 6C 62 6C 44 72  61 77 50 4E 6F 72 6D 61  6C 20 26 26 20 49 50 5F      if (GlblDrawPNormal && IP_
00001980  48 41 53 5F 50 4F 4C 59  5F 50 4C 41 4E 45 28 50  50 6F 6C 79 67 6F 6E 29  29 20 7B 0D 0A 09 09 2F  HAS_POLY_PLANE(PPolygon)) {/
000019A0  2A 20 53 75 6D 20 61 6C  6C 20 70 6F 69 6E 74 73  20 74 6F 20 62 65 20 61  76 65 72 61 67 65 64 20  * Sum all points to be averaged 
000019C0  66 6F 72 20 6E 6F 72 6D  61 6C 20 70 6F 73 69 74  69 6F 6E 2E 20 2A 2F 0D  0A 09 09 66 6F 72 20 28  for normal position. */for (
000019E0  69 20 3D 20 30 3B 20 69  20 3C 20 33 3B 20 69 2B  2B 29 20 50 6F 6C 79 4E  6F 72 6D 61 6C 5B 69 5D  i = 0; i < 3; i++) PolyNormal[i]
00001A00  20 3D 20 56 4C 69 73 74  20 2D 3E 20 43 6F 6F 72  64 5B 69 5D 3B 0D 0A 09  09 4E 75 6D 4F 66 56 65   = VList -> Coord[i];NumOfVe
00001A20  72 74 69 63 65 73 20 3D  20 31 3B 0D 0A 09 20 20  20 20 7D 0D 0A 0D 0A 09  20 20 20 20 4D 6F 76 65  rtices = 1;    }    Move
00001A40  54 6F 50 74 72 28 56 4C  69 73 74 20 2D 3E 20 43  6F 6F 72 64 29 3B 0D 0A  09 20 20 20 20 44 72 61  ToPtr(VList -> Coord);    Dra
00001A60  77 4E 65 78 74 45 64 67  65 20 3D 20 21 49 50 5F  49 53 5F 56 52 54 58 5F  49 4E 54 45 52 4E 41 4C  wNextEdge = !IP_IS_VRTX_INTERNAL
00001A80  28 56 4C 69 73 74 29 3B  0D 0A 09 20 20 20 20 56  4C 69 73 74 20 3D 20 56  4C 69 73 74 20 2D 3E 20  (VList);    VList = VList -> 
00001AA0  50 6E 65 78 74 3B 0D 0A  0D 0A 09 20 20 20 20 66  6F 72 20 28 69 20 3D 20  31 3B 0D 0A 09 09 20 69  Pnext;    for (i = 1; i
00001AC0  20 3C 20 47 6C 62 6C 4E  75 6D 45 64 67 65 73 20  26 26 20 56 4C 69 73 74  20 21 3D 20 4E 55 4C 4C   < GlblNumEdges && VList != NULL
00001AE0  20 26 26 20 56 4C 69 73  74 20 21 3D 20 56 48 65  61 64 3B 0D 0A 09 09 20  69 2B 2B 29 20 7B 0D 0A   && VList != VHead; i++) {
00001B00  09 09 69 66 20 28 44 72  61 77 4E 65 78 74 45 64  67 65 20 7C 7C 20 47 6C  62 6C 49 6E 74 65 72 6E  if (DrawNextEdge || GlblIntern
00001B20  61 6C 29 0D 0A 09 09 20  20 20 20 44 72 61 77 54  6F 50 74 72 28 56 4C 69  73 74 20 2D 3E 20 43 6F  al)    DrawToPtr(VList -> Co
00001B40  6F 72 64 29 3B 0D 0A 09  09 65 6C 73 65 0D 0A 09  09 20 20 20 20 4D 6F 76  65 54 6F 50 74 72 28 56  ord);else    MoveToPtr(V
00001B60  4C 69 73 74 20 2D 3E 20  43 6F 6F 72 64 29 3B 0D  0A 0D 0A 09 09 69 66 20  28 47 6C 62 6C 44 72 61  List -> Coord);if (GlblDra
00001B80  77 56 4E 6F 72 6D 61 6C  20 26 26 20 49 50 5F 48  41 53 5F 56 52 54 58 5F  4E 4F 52 4D 41 4C 28 56  wVNormal && IP_HAS_VRTX_NORMAL(V
00001BA0  4C 69 73 74 29 29 20 7B  0D 0A 09 09 20 20 20 20  66 6F 72 20 28 6A 20 3D  20 30 3B 20 6A 20 3C 20  List)) {    for (j = 0; j < 
00001BC0  33 3B 20 6A 2B 2B 29 20  4D 61 70 70 65 64 4E 6F  72 6D 61 6C 5B 6A 5D 20  3D 0D 0A 09 09 09 56 4C  3; j++) MappedNormal[j] =VL
00001BE0  69 73 74 20 2D 3E 20 43  6F 6F 72 64 5B 6A 5D 20  2B 20 56 4C 69 73 74 20  2D 3E 20 4E 6F 72 6D 61  ist -> Coord[j] + VList -> Norma
00001C00  6C 5B 6A 5D 20 2A 20 47  6C 62 6C 4E 6F 72 6D 61  6C 4C 65 6E 3B 0D 0A 09  09 20 20 20 20 6A 20 3D  l[j] * GlblNormalLen;    j =
00001C20  20 47 6C 62 6C 43 6C 6F  73 65 64 4F 62 6A 65 63  74 3B 0D 0A 09 09 20 20  20 20 47 6C 62 6C 43 6C   GlblClosedObject;    GlblCl
00001C40  6F 73 65 64 4F 62 6A 65  63 74 20 3D 20 46 41 4C  53 45 3B 0D 0A 09 09 20  20 20 20 44 72 61 77 54  osedObject = FALSE;    DrawT
00001C60  6F 50 74 72 28 4D 61 70  70 65 64 4E 6F 72 6D 61  6C 29 3B 0D 0A 09 09 20  20 20 20 4D 6F 76 65 54  oPtr(MappedNormal);    MoveT
00001C80  6F 50 74 72 28 56 4C 69  73 74 20 2D 3E 20 43 6F  6F 72 64 29 3B 0D 0A 09  09 20 20 20 20 47 6C 62  oPtr(VList -> Coord);    Glb
00001CA0  6C 43 6C 6F 73 65 64 4F  62 6A 65 63 74 20 3D 20  6A 3B 0D 0A 09 09 7D 0D  0A 0D 0A 09 09 69 66 20  lClosedObject = j;}if 
00001CC0  28 47 6C 62 6C 44 72 61  77 50 4E 6F 72 6D 61 6C  20 26 26 20 49 50 5F 48  41 53 5F 50 4F 4C 59 5F  (GlblDrawPNormal && IP_HAS_POLY_
00001CE0  50 4C 41 4E 45 28 50 50  6F 6C 79 67 6F 6E 29 29  20 7B 0D 0A 09 09 20 20  20 20 66 6F 72 20 28 6A  PLANE(PPolygon)) {    for (j
00001D00  20 3D 20 30 3B 20 6A 20  3C 20 33 3B 20 6A 2B 2B  29 20 50 6F 6C 79 4E 6F  72 6D 61 6C 5B 6A 5D 20   = 0; j < 3; j++) PolyNormal[j] 
00001D20  2B 3D 20 56 4C 69 73 74  20 2D 3E 20 43 6F 6F 72  64 5B 6A 5D 3B 0D 0A 09  09 20 20 20 20 4E 75 6D  += VList -> Coord[j];    Num
00001D40  4F 66 56 65 72 74 69 63  65 73 2B 2B 3B 0D 0A 09  09 7D 0D 0A 0D 0A 09 09  44 72 61 77 4E 65 78 74  OfVertices++;}DrawNext
00001D60  45 64 67 65 20 3D 20 21  49 50 5F 49 53 5F 56 52  54 58 5F 49 4E 54 45 52  4E 41 4C 28 56 4C 69 73  Edge = !IP_IS_VRTX_INTERNAL(VLis
00001D80  74 29 3B 0D 0A 09 09 56  4C 69 73 74 20 3D 20 56  4C 69 73 74 20 2D 3E 20  50 6E 65 78 74 3B 0D 0A  t);VList = VList -> Pnext;
00001DA0  09 20 20 20 20 7D 0D 0A  0D 0A 09 20 20 20 20 69  66 20 28 47 6C 62 6C 4E  75 6D 45 64 67 65 73 20      }    if (GlblNumEdges 
00001DC0  3E 20 69 29 20 7B 0D 0A  09 09 2F 2A 20 43 6C 6F  73 65 20 70 6F 6C 79 67  6F 6E 20 62 79 20 64 72  > i) {/* Close polygon by dr
00001DE0  61 77 69 6E 67 20 61 20  6C 69 6E 65 20 74 6F 20  66 69 72 73 74 20 76 65  72 74 65 78 2E 20 2A 2F  awing a line to first vertex. */
00001E00  0D 0A 09 09 69 66 20 28  44 72 61 77 4E 65 78 74  45 64 67 65 20 7C 7C 20  47 6C 62 6C 49 6E 74 65  if (DrawNextEdge || GlblInte
00001E20  72 6E 61 6C 29 0D 0A 09  09 20 20 20 20 44 72 61  77 54 6F 50 74 72 28 56  48 65 61 64 20 2D 3E 20  rnal)    DrawToPtr(VHead -> 
00001E40  43 6F 6F 72 64 29 3B 0D  0A 09 09 65 6C 73 65 0D  0A 09 09 20 20 20 20 4D  6F 76 65 54 6F 50 74 72  Coord);else    MoveToPtr
00001E60  28 56 48 65 61 64 20 2D  3E 20 43 6F 6F 72 64 29  3B 0D 0A 0D 0A 09 09 69  66 20 28 47 6C 62 6C 44  (VHead -> Coord);if (GlblD
00001E80  72 61 77 56 4E 6F 72 6D  61 6C 20 26 26 20 49 50  5F 48 41 53 5F 56 52 54  58 5F 4E 4F 52 4D 41 4C  rawVNormal && IP_HAS_VRTX_NORMAL
00001EA0  28 56 4C 69 73 74 29 29  20 7B 0D 0A 09 09 20 20  20 20 66 6F 72 20 28 6A  20 3D 20 30 3B 20 6A 20  (VList)) {    for (j = 0; j 
00001EC0  3C 20 33 3B 20 6A 2B 2B  29 20 4D 61 70 70 65 64  4E 6F 72 6D 61 6C 5B 6A  5D 20 3D 0D 0A 09 09 09  < 3; j++) MappedNormal[j] =
00001EE0  56 4C 69 73 74 20 2D 3E  20 43 6F 6F 72 64 5B 6A  5D 20 2B 20 56 4C 69 73  74 20 2D 3E 20 4E 6F 72  VList -> Coord[j] + VList -> Nor
00001F00  6D 61 6C 5B 6A 5D 20 2A  20 47 6C 62 6C 4E 6F 72  6D 61 6C 4C 65 6E 3B 0D  0A 09 09 20 20 20 20 6A  mal[j] * GlblNormalLen;    j
00001F20  20 3D 20 47 6C 62 6C 43  6C 6F 73 65 64 4F 62 6A  65 63 74 3B 0D 0A 09 09  20 20 20 20 47 6C 62 6C   = GlblClosedObject;    Glbl
00001F40  43 6C 6F 73 65 64 4F 62  6A 65 63 74 20 3D 20 46  41 4C 53 45 3B 0D 0A 09  09 20 20 20 20 44 72 61  ClosedObject = FALSE;    Dra
00001F60  77 54 6F 50 74 72 28 4D  61 70 70 65 64 4E 6F 72  6D 61 6C 29 3B 0D 0A 09  09 20 20 20 20 4D 6F 76  wToPtr(MappedNormal);    Mov
00001F80  65 54 6F 50 74 72 28 56  4C 69 73 74 20 2D 3E 20  43 6F 6F 72 64 29 3B 0D  0A 09 09 20 20 20 20 47  eToPtr(VList -> Coord);    G
00001FA0  6C 62 6C 43 6C 6F 73 65  64 4F 62 6A 65 63 74 20  3D 20 6A 3B 0D 0A 09 09  7D 0D 0A 09 20 20 20 20  lblClosedObject = j;}    
00001FC0  7D 0D 0A 0D 0A 09 20 20  20 20 69 66 20 28 47 6C  62 6C 44 72 61 77 50 4E  6F 72 6D 61 6C 20 26 26  }    if (GlblDrawPNormal &&
00001FE0  20 49 50 5F 48 41 53 5F  50 4F 4C 59 5F 50 4C 41  4E 45 28 50 50 6F 6C 79  67 6F 6E 29 29 20 7B 0D   IP_HAS_POLY_PLANE(PPolygon)) {
00002000  0A 09 09 66 6F 72 20 28  69 20 3D 20 30 3B 20 69  20 3C 20 33 3B 20 69 2B  2B 29 20 50 6F 6C 79 4E  for (i = 0; i < 3; i++) PolyN
00002020  6F 72 6D 61 6C 5B 69 5D  20 2F 3D 20 4E 75 6D 4F  66 56 65 72 74 69 63 65  73 3B 0D 0A 09 09 4D 6F  ormal[i] /= NumOfVertices;Mo
00002040  76 65 54 6F 50 74 72 28  50 6F 6C 79 4E 6F 72 6D  61 6C 29 3B 0D 0A 09 09  66 6F 72 20 28 69 20 3D  veToPtr(PolyNormal);for (i =
00002060  20 30 3B 20 69 20 3C 20  33 3B 20 69 2B 2B 29 0D  0A 09 20 20 20 20 09 20  20 20 20 50 6F 6C 79 4E   0; i < 3; i++)        PolyN
00002080  6F 72 6D 61 6C 5B 69 5D  20 2B 3D 20 50 50 6F 6C  79 67 6F 6E 20 2D 3E 20  50 6C 61 6E 65 5B 69 5D  ormal[i] += PPolygon -> Plane[i]
000020A0  20 2A 20 47 6C 62 6C 4E  6F 72 6D 61 6C 4C 65 6E  3B 0D 0A 09 09 69 20 3D  20 47 6C 62 6C 43 6C 6F   * GlblNormalLen;i = GlblClo
000020C0  73 65 64 4F 62 6A 65 63  74 3B 0D 0A 09 09 47 6C  62 6C 43 6C 6F 73 65 64  4F 62 6A 65 63 74 20 3D  sedObject;GlblClosedObject =
000020E0  20 46 41 4C 53 45 3B 0D  0A 09 09 44 72 61 77 54  6F 50 74 72 28 50 6F 6C  79 4E 6F 72 6D 61 6C 29   FALSE;DrawToPtr(PolyNormal)
00002100  3B 0D 0A 09 09 47 6C 62  6C 43 6C 6F 73 65 64 4F  62 6A 65 63 74 20 3D 20  69 3B 0D 0A 09 20 20 20  ;GlblClosedObject = i;   
00002120  20 7D 0D 0A 09 20 20 20  20 62 72 65 61 6B 3B 0D  0A 20 20 20 20 7D 0D 0A  7D 0D 0A 20 20 20 20 4D   }    break;    }}    M
00002140  75 6C 74 56 65 63 62 79  34 62 79 34 28 4C 61 73  74 43 6F 6F 72 64 2C 20  43 6F 6F 72 64 2C 20 43  ultVecby4by4(LastCoord, Coord, C
00002160  72 6E 74 56 69 65 77 4D  61 74 29 3B 20 20 20 2F  2A 20 53 65 74 20 6C 61  73 74 20 70 6F 69 6E 74  rntViewMat);   /* Set last point
00002180  20 63 6F 6F 72 64 2E 20  2A 2F 0D 0A 0D 0A 23 64  65 66 69 6E 65 20 4D 41  58 5F 4E 55 4D 5F 41 54   coord. */#define MAX_NUM_AT
000021A0  54 52 53 09 09 31 30 0D  0A 0D 0A 2F 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  TRS10/********************
000021C0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000021E0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 0D 0A 2A 20 41 74 74  ************************** Att
00002200  72 69 62 75 74 65 73 20  2D 20 67 65 6F 6D 65 74  72 79 20 74 79 70 65 73  20 28 53 75 72 66 61 63  ributes - geometry types (Surfac
00002220  65 73 2F 43 75 72 76 65  73 2F 50 6F 6C 79 67 6F  6E 73 2F 50 6F 6C 79 6C  69 6E 65 73 29 20 68 61  es/Curves/Polygons/Polylines) ha
00002240  76 65 20 74 68 69 73 20  2A 0D 0A 2A 20 73 74 72  75 63 74 75 72 65 20 66  6F 72 20 6B 65 65 70 69  ve this ** structure for keepi
00002260  6E 67 20 67 65 6E 65 72  61 6C 20 61 74 74 72 69  62 75 74 65 73 20 6C 69  6B 65 20 63 6F 6C 6F 72  ng general attributes like color
00002280  73 20 65 74 63 2E 09 09  20 20 20 20 20 2A 0D 0A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  s etc.     *****************
000022A0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
000022C0  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2F 0D 0A  *****************************/
000022E0  74 79 70 65 64 65 66 20  73 74 72 75 63 74 20 41  74 74 72 69 62 75 74 65  53 74 72 75 63 74 20 7B  typedef struct AttributeStruct {
00002300  0D 0A 20 20 20 20 42 79  74 65 54 79 70 65 20 43  6F 6C 6F 72 3B 09 09 09  09 20 20 20 20 20 20 20      ByteType Color;       
00002320  2F 2A 20 43 6F 6C 6F 72  20 6F 66 20 67 65 6F 6D  65 74 72 79 2E 20 2A 2F  0D 0A 20 20 20 20 42 79  /* Color of geometry. */    By
00002340  74 65 54 79 70 65 20 4E  75 6D 53 74 72 41 74 74  72 69 62 73 3B 0D 0A 20  20 20 20 63 68 61 72 20  teType NumStrAttribs;    char 
00002360  2A 53 74 72 41 74 74 72  4E 61 6D 65 5B 4D 41 58  5F 4E 55 4D 5F 41 54 54  52 53 20 2B 20 31 5D 3B  *StrAttrName[MAX_NUM_ATTRS + 1];
00002380  09 20 20 20 20 2F 2A 20  47 65 6E 65 72 69 63 20  73 74 72 69 6E 67 20 61  74 74 72 73 2E 20 2A 2F      /* Generic string attrs. */
000023A0  0D 0A 20 20 20 20 63 68  61 72 20 2A 53 74 72 41  74 74 72 44 61 74 61 5B  4D 41 58 5F 4E 55 4D 5F      char *StrAttrData[MAX_NUM_
000023C0  41 54 54 52 53 20 2B 20  31 5D 3B 0D 0A 7D 20 41  74 74 72 69 62 75 74 65  53 74 72 75 63 74 3B 0D  ATTRS + 1];} AttributeStruct;
000023E0  0A 0D 0A 4D 41 58 5F 4E  55 4D 5F 41 54 54 52 53  0D 0A 20 20 20 20 69 66  20 28 49 72 69 74 50 72  MAX_NUM_ATTRS    if (IritPr
00002400  73 72 57 61 73 50 72 73  70 4D 61 74 29 0D 0A 09  4D 75 6C 74 54 77 6F 34  62 79 34 28 47 6C 62 6C  srWasPrspMat)MultTwo4by4(Glbl
00002420  56 69 65 77 4D 61 74 2C  20 49 72 69 74 50 72 73  72 56 69 65 77 4D 61 74  2C 20 49 72 69 74 50 72  ViewMat, IritPrsrViewMat, IritPr
00002440  73 72 50 72 73 70 4D 61  74 29 3B 0D 0A 20 20 20  20 65 6C 73 65 0D 0A 09  47 45 4E 5F 43 4F 50 59  srPrspMat);    elseGEN_COPY
00002460  28 47 6C 62 6C 56 69 65  77 4D 61 74 2C 20 49 72  69 74 50 72 73 72 56 69  65 77 4D 61 74 2C 20 73  (GlblViewMat, IritPrsrViewMat, s
00002480  69 7A 65 6F 66 28 4D 61  74 72 69 78 54 79 70 65  29 29 3B 0D 0A 23 64 65  66 69 6E 65 20 47 45 4E  izeof(MatrixType));#define GEN
000024A0  5F 43 4F 50 59 28 44 65  73 74 2C 20 53 72 63 2C  20 53 69 7A 65 29 20 6D  65 6D 63 70 79 28 44 65  _COPY(Dest, Src, Size) memcpy(De
000024C0  73 74 2C 20 53 72 63 2C  20 53 69 7A 65 29 0D 0A  73 74 61 74 69 63 20 69  6E 74 20 54 72 61 6E 73  st, Src, Size)static int Trans
000024E0  43 6F 6C 6F 72 54 61 62  6C 65 5B 5D 5B 34 5D 20  3D 20 7B 0D 0A 20 20 20  20 7B 20 2F 2A 20 42 4C  ColorTable[][4] = {    { /* BL
00002500  41 43 4B 09 09 2A 2F 20  30 2C 20 20 20 20 30 2C  20 20 20 30 2C 20 20 20  30 20 7D 2C 0D 0A 20 20  ACK*/ 0,    0,   0,   0 },  
00002520  20 20 7B 20 2F 2A 20 42  4C 55 45 09 09 2A 2F 20  31 2C 20 20 20 20 30 2C  20 20 20 30 2C 20 32 35    { /* BLUE*/ 1,    0,   0, 25
00002540  35 20 7D 2C 0D 0A 20 20  20 20 7B 20 2F 2A 20 47  52 45 45 4E 09 09 2A 2F  20 32 2C 20 20 20 20 30  5 },    { /* GREEN*/ 2,    0
00002560  2C 20 32 35 35 2C 20 20  20 30 20 7D 2C 0D 0A 20  20 20 20 7B 20 2F 2A 20  43 59 41 4E 09 09 2A 2F  , 255,   0 },    { /* CYAN*/
00002580  20 33 2C 20 20 20 20 30  2C 20 32 35 35 2C 20 32  35 35 20 7D 2C 0D 0A 20  20 20 20 7B 20 2F 2A 20   3,    0, 255, 255 },    { /* 
000025A0  52 45 44 09 09 2A 2F 20  34 2C 20 20 32 35 35 2C  20 20 20 30 2C 20 20 20  30 20 7D 2C 0D 0A 20 20  RED*/ 4,  255,   0,   0 },  
000025C0  20 20 7B 20 2F 2A 20 4D  41 47 45 4E 54 41 20 09  2A 2F 20 35 2C 20 20 32  35 35 2C 20 20 20 30 2C    { /* MAGENTA */ 5,  255,   0,
000025E0  20 32 35 35 20 7D 2C 0D  0A 20 20 20 20 7B 20 2F  2A 20 42 52 4F 57 4E 09  09 2A 2F 20 36 2C 20 20   255 },    { /* BROWN*/ 6,  
00002600  20 35 30 2C 20 20 20 30  2C 20 20 20 30 20 7D 2C  0D 0A 20 20 20 20 7B 20  2F 2A 20 4C 49 47 48 54   50,   0,   0 },    { /* LIGHT
00002620  47 52 41 59 09 2A 2F 20  37 2C 20 20 31 32 37 2C  20 31 32 37 2C 20 31 32  37 20 7D 2C 0D 0A 20 20  GRAY*/ 7,  127, 127, 127 },  
00002640  20 20 7B 20 2F 2A 20 44  41 52 4B 47 52 41 59 09  2A 2F 20 38 2C 20 20 20  36 33 2C 20 20 36 33 2C    { /* DARKGRAY*/ 8,   63,  63,
00002660  20 20 36 33 20 7D 2C 0D  0A 20 20 20 20 7B 20 2F  2A 20 4C 49 47 48 54 42  4C 55 45 09 2A 2F 20 39    63 },    { /* LIGHTBLUE*/ 9
00002680  2C 20 20 20 20 30 2C 20  20 20 30 2C 20 32 35 35  20 7D 2C 0D 0A 20 20 20  20 7B 20 2F 2A 20 4C 49  ,    0,   0, 255 },    { /* LI
000026A0  47 48 54 47 52 45 45 4E  09 2A 2F 20 31 30 2C 20  20 20 30 2C 20 32 35 35  2C 20 20 20 30 20 7D 2C  GHTGREEN*/ 10,   0, 255,   0 },
000026C0  0D 0A 20 20 20 20 7B 20  2F 2A 20 4C 49 47 48 54  43 59 41 4E 09 2A 2F 20  31 31 2C 20 20 20 30 2C      { /* LIGHTCYAN*/ 11,   0,
000026E0  20 32 35 35 2C 20 32 35  35 20 7D 2C 0D 0A 20 20  20 20 7B 20 2F 2A 20 4C  49 47 48 54 52 45 44 09   255, 255 },    { /* LIGHTRED
00002700  2A 2F 20 31 32 2C 20 32  35 35 2C 20 20 20 30 2C  20 20 20 30 20 7D 2C 0D  0A 20 20 20 20 7B 20 2F  */ 12, 255,   0,   0 },    { /
00002720  2A 20 4C 49 47 48 54 4D  41 47 45 4E 54 41 09 2A  2F 20 31 33 2C 20 32 35  35 2C 20 20 20 30 2C 20  * LIGHTMAGENTA*/ 13, 255,   0, 
00002740  32 35 35 20 7D 2C 0D 0A  20 20 20 20 7B 20 2F 2A  20 59 45 4C 4C 4F 57 09  09 2A 2F 20 31 34 2C 20  255 },    { /* YELLOW*/ 14, 
00002760  32 35 35 2C 20 32 35 35  2C 20 20 20 30 20 7D 2C  0D 0A 20 20 20 20 7B 20  2F 2A 20 57 48 49 54 45  255, 255,   0 },    { /* WHITE
00002780  09 09 2A 2F 20 31 35 2C  20 32 35 35 2C 20 32 35  35 2C 20 32 35 35 20 7D  2C 0D 0A 20 20 20 20 7B  */ 15, 255, 255, 255 },    {
000027A0  20 2F 2A 20 42 52 4F 57  4E 09 09 2A 2F 20 32 30  2C 20 20 35 30 2C 20 20  20 30 2C 20 20 20 30 20   /* BROWN*/ 20,  50,   0,   0 
000027C0  7D 2C 0D 0A 20 20 20 20  7B 20 2F 2A 20 44 41 52  4B 47 52 41 59 09 2A 2F  20 35 36 2C 20 20 36 33  },    { /* DARKGRAY*/ 56,  63
000027E0  2C 20 20 36 33 2C 20 20  36 33 20 7D 2C 0D 0A 20  20 20 20 7B 20 2F 2A 20  4C 49 47 48 54 42 4C 55  ,  63,  63 },    { /* LIGHTBLU
00002800  45 09 2A 2F 20 35 37 2C  20 20 20 30 2C 20 20 20  30 2C 20 32 35 35 20 7D  2C 0D 0A 20 20 20 20 7B  E*/ 57,   0,   0, 255 },    {
00002820  20 2F 2A 20 4C 49 47 48  54 47 52 45 45 4E 09 2A  2F 20 35 38 2C 20 20 20  30 2C 20 32 35 35 2C 20   /* LIGHTGREEN*/ 58,   0, 255, 
00002840  20 20 30 20 7D 2C 0D 0A  20 20 20 20 7B 20 2F 2A  20 4C 49 47 48 54 43 59  41 4E 09 2A 2F 20 35 39    0 },    { /* LIGHTCYAN*/ 59
00002860  2C 20 20 20 30 2C 20 32  35 35 2C 20 32 35 35 20  7D 2C 0D 0A 20 20 20 20  7B 20 2F 2A 20 4C 49 47  ,   0, 255, 255 },    { /* LIG
00002880  48 54 52 45 44 09 2A 2F  20 36 30 2C 20 32 35 35  2C 20 20 20 30 2C 20 20  20 30 20 7D 2C 0D 0A 20  HTRED*/ 60, 255,   0,   0 }, 
000028A0  20 20 20 7B 20 2F 2A 20  4C 49 47 48 54 4D 41 47  45 4E 54 41 09 2A 2F 20  36 31 2C 20 32 35 35 2C     { /* LIGHTMAGENTA*/ 61, 255,
000028C0  20 20 20 30 2C 20 32 35  35 20 7D 2C 0D 0A 20 20  20 20 7B 20 2F 2A 20 59  45 4C 4C 4F 57 09 09 2A     0, 255 },    { /* YELLOW*
000028E0  2F 20 36 32 2C 20 32 35  35 2C 20 32 35 35 2C 20  20 20 30 20 7D 2C 0D 0A  20 20 20 20 7B 20 2F 2A  / 62, 255, 255,   0 },    { /*
00002900  20 57 48 49 54 45 09 09  2A 2F 20 36 33 2C 20 32  35 35 2C 20 32 35 35 2C  20 32 35 35 20 7D 2C 0D   WHITE*/ 63, 255, 255, 255 },
00002920  0A 20 20 20 20 7B 09 09  09 20 20 20 2D 31 2C 20  20 20 30 2C 20 20 20 30  2C 20 20 20 30 20 7D 0D      {   -1,   0,   0,   0 }
00002940  0A 7D 3B 0D 0A 0D 0A 2F  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  };/************************
00002960  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
00002980  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 0D 0A 2A  20 20 52 6F 75 74 69 6E  **********************  Routin
000029A0  65 20 74 6F 20 63 61 6C  63 75 6C 61 74 65 20 74  68 65 20 63 72 6F 73 73  20 70 72 6F 64 75 63 74  e to calculate the cross product
000029C0  20 6F 66 20 74 77 6F 20  76 65 63 74 6F 72 73 3A  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   of two vectors:                
000029E0  20 20 20 20 2A 0D 0A 2A  20 4E 6F 74 65 20 56 72  65 73 20 6D 69 67 68 74  20 62 65 20 74 68 65 20      ** Note Vres might be the 
00002A00  73 61 6D 65 20 61 73 20  56 31 20 6F 72 20 56 32  20 21 20 20 20 20 20 20  20 20 20 20 20 20 20 20  same as V1 or V2 !              
00002A20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  20 20 20 20 2A 0D 0A 2A  2A 2A 2A 2A 2A 2A 2A 2A                      **********
00002A40  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
00002A60  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  2A 2A 2A 2A 2A 2A 2A 2A  ********************************
00002A80  2A 2A 2A 2A 2F 0D 0A 76  6F 69 64 20 56 65 63 43  72 6F 73 73 50 72 6F 64  28 56 65 63 74 6F 72 54  ****/void VecCrossProd(VectorT
00002AA0  79 70 65 20 56 72 65 73  2C 20 56 65 63 74 6F 72  54 79 70 65 20 56 31 2C  20 56 65 63 74 6F 72 54  ype Vres, VectorType V1, VectorT
00002AC0  79 70 65 20 56 32 29 0D  0A 7B 0D 0A 20 20 20 20  56 65 63 74 6F 72 54 79  70 65 20 56 74 65 6D 70  ype V2){    VectorType Vtemp
00002AE0  3B 0D 0A 0D 0A 20 20 20  20 56 74 65 6D 70 5B 30  5D 20 3D 20 56 31 5B 31  5D 20 2A 20 56 32 5B 32  ;    Vtemp[0] = V1[1] * V2[2
00002B00  5D 20 2D 20 56 32 5B 31  5D 20 2A 20 56 31 5B 32  5D 3B 0D 0A 20 20 20 20  56 74 65 6D 70 5B 31 5D  ] - V2[1] * V1[2];    Vtemp[1]
00002B20  20 3D 20 56 31 5B 32 5D  20 2A 20 56 32 5B 30 5D  20 2D 20 56 32 5B 32 5D  20 2A 20 56 31 5B 30 5D   = V1[2] * V2[0] - V2[2] * V1[0]
00002B40  3B 0D 0A 20 20 20 20 56  74 65 6D 70 5B 32 5D 20  3D 20 56 31 5B 30 5D 20  2A 20 56 32 5B 31 5D 20  ;    Vtemp[2] = V1[0] * V2[1] 
00002B60  2D 20 56 32 5B 30 5D 20  2A 20 56 31 5B 31 5D 3B  0D 0A 0D 0A 20 20 20 20  56 65 63 43 6F 70 79 28  - V2[0] * V1[1];    VecCopy(
00002B80  56 72 65 73 2C 20 56 74  65 6D 70 29 3B 0D 0A 7D  0D 0A 23 64 65 66 69 6E  65 20 44 4F 54 5F 50 52  Vres, Vtemp);}#define DOT_PR
00002BA0  4F 44 28 50 74 31 2C 20  50 74 32 29 09 28 50 74  31 5B 30 5D 20 2A 20 50  74 32 5B 30 5D 20 2B 20  OD(Pt1, Pt2)(Pt1[0] * Pt2[0] + 
00002BC0  5C 0D 0A 09 09 09 09 20  50 74 31 5B 31 5D 20 2A  20 50 74 32 5B 31 5D 20  2B 20 5C 0D 0A 09 09 09  \ Pt1[1] * Pt2[1] + \
00002BE0  09 20 50 74 31 5B 32 5D  20 2A 20 50 74 32 5B 32  5D 29 0D 0A FF FF 00 00                            Pt1[2] * Pt2[2])  ..
[ RETURN TO DIRECTORY ]