home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 September / Macworld (1997-09).dmg / Serious Software / Cherwell Scientific Demos / pro Fit / pro Fit 5.0 demo (ppc).sea / pro Fit 5.0 demo (ppc) / External Modules / Plot3D sources / Plotter3D.c < prev    next >
MacBinary  |  1996-07-24  |  81.5 KB  |  [TEXT/CWIE]

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: Plotter3D.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Jul 24 14:44:47 1996, modified Wed Jul 24 14:44:47 1996, creator 'CWIE', type ASCII, 82786 bytes "Plotter3D.c" , at 0x143e2 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 50 6c 6f 74 74 65 | 72 33 44 2e 63 00 00 00 |..Plotte|r3D.c...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 01 43 62 00 | 00 01 9a ae 1c 1f 9f ae |.....Cb.|........|
|00000060| 1c 1f 9f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 e7 eb 00 00 |........|........|
|00000080| 23 64 65 66 69 6e 65 20 | 44 45 42 55 47 47 49 4e |#define |DEBUGGIN|
|00000090| 47 20 31 09 09 2f 2a 20 | 73 65 74 20 74 6f 20 31 |G 1../* |set to 1|
|000000a0| 20 77 68 65 6e 20 79 6f | 75 20 77 61 6e 74 20 74 | when yo|u want t|
|000000b0| 6f 20 77 72 69 74 65 20 | 51 44 33 44 20 65 72 72 |o write |QD3D err|
|000000c0| 6f 72 73 20 74 6f 20 74 | 68 65 20 72 65 73 75 6c |ors to t|he resul|
|000000d0| 74 73 20 77 69 6e 64 6f | 77 20 2a 2f 0d 0d 0d 23 |ts windo|w */...#|
|000000e0| 69 6e 63 6c 75 64 65 20 | 22 70 72 6f 46 69 74 5f |include |"proFit_|
|000000f0| 69 6e 74 65 72 66 61 63 | 65 2e 68 22 0d 0d 23 69 |interfac|e.h"..#i|
|00000100| 66 6e 64 65 66 20 5f 5f | 4d 4f 44 55 4c 45 5f 55 |fndef __|MODULE_U|
|00000110| 54 49 4c 49 54 49 45 53 | 5f 5f 0d 23 69 6e 63 6c |TILITIES|__.#incl|
|00000120| 75 64 65 20 22 4d 6f 64 | 75 6c 65 55 74 69 6c 69 |ude "Mod|uleUtili|
|00000130| 74 69 65 73 2e 68 22 0d | 23 65 6e 64 69 66 0d 23 |ties.h".|#endif.#|
|00000140| 69 66 6e 64 65 66 20 5f | 5f 50 4c 4f 54 54 45 52 |ifndef _|_PLOTTER|
|00000150| 5f 33 44 5f 5f 0d 23 69 | 6e 63 6c 75 64 65 20 22 |_3D__.#i|nclude "|
|00000160| 50 6c 6f 74 74 65 72 33 | 44 2e 68 22 0d 23 65 6e |Plotter3|D.h".#en|
|00000170| 64 69 66 0d 23 69 66 6e | 64 65 66 20 5f 5f 50 4c |dif.#ifn|def __PL|
|00000180| 4f 54 33 44 56 49 45 57 | 45 52 5f 5f 0d 23 69 6e |OT3DVIEW|ER__.#in|
|00000190| 63 6c 75 64 65 20 22 50 | 6c 6f 74 33 44 56 69 65 |clude "P|lot3DVie|
|000001a0| 77 65 72 2e 68 22 0d 23 | 65 6e 64 69 66 0d 23 69 |wer.h".#|endif.#i|
|000001b0| 66 6e 64 65 66 20 5f 5f | 50 4c 4f 54 33 44 50 52 |fndef __|PLOT3DPR|
|000001c0| 45 46 53 5f 5f 0d 23 69 | 6e 63 6c 75 64 65 20 22 |EFS__.#i|nclude "|
|000001d0| 50 6c 6f 74 33 44 50 72 | 65 66 73 2e 68 22 0d 23 |Plot3DPr|efs.h".#|
|000001e0| 65 6e 64 69 66 0d 23 69 | 66 6e 64 65 66 20 5f 5f |endif.#i|fndef __|
|000001f0| 50 4c 4f 54 33 44 54 45 | 58 54 55 52 45 53 5f 5f |PLOT3DTE|XTURES__|
|00000200| 0d 23 69 6e 63 6c 75 64 | 65 20 22 50 6c 6f 74 33 |.#includ|e "Plot3|
|00000210| 44 54 65 78 74 75 72 65 | 73 2e 68 22 0d 23 65 6e |DTexture|s.h".#en|
|00000220| 64 69 66 0d 0d 0d 23 69 | 6e 63 6c 75 64 65 20 3c |dif...#i|nclude <|
|00000230| 43 6f 64 65 46 72 61 67 | 6d 65 6e 74 73 2e 68 3e |CodeFrag|ments.h>|
|00000240| 0d 0d 2f 2f 20 66 6f 72 | 20 51 75 69 63 6b 44 72 |..// for| QuickDr|
|00000250| 61 77 20 33 44 0d 23 69 | 6e 63 6c 75 64 65 20 3c |aw 3D.#i|nclude <|
|00000260| 51 44 33 44 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |QD3D.h>.|#include|
|00000270| 20 3c 51 44 33 44 44 72 | 61 77 43 6f 6e 74 65 78 | <QD3DDr|awContex|
|00000280| 74 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 51 |t.h>.#in|clude <Q|
|00000290| 44 33 44 53 68 61 64 65 | 72 2e 68 3e 0d 23 69 6e |D3DShade|r.h>.#in|
|000002a0| 63 6c 75 64 65 20 3c 51 | 44 33 44 54 72 61 6e 73 |clude <Q|D3DTrans|
|000002b0| 66 6f 72 6d 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |form.h>.|#include|
|000002c0| 20 3c 51 44 33 44 47 72 | 6f 75 70 2e 68 3e 0d 23 | <QD3DGr|oup.h>.#|
|000002d0| 69 6e 63 6c 75 64 65 20 | 3c 51 44 33 44 52 65 6e |include |<QD3DRen|
|000002e0| 64 65 72 65 72 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |derer.h>|.#includ|
|000002f0| 65 20 3c 51 44 33 44 43 | 61 6d 65 72 61 2e 68 3e |e <QD3DC|amera.h>|
|00000300| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 51 44 33 44 4c |.#includ|e <QD3DL|
|00000310| 69 67 68 74 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |ight.h>.|#include|
|00000320| 20 3c 51 44 33 44 47 65 | 6f 6d 65 74 72 79 2e 68 | <QD3DGe|ometry.h|
|00000330| 3e 0d 23 69 6e 63 6c 75 | 64 65 20 3c 51 44 33 44 |>.#inclu|de <QD3D|
|00000340| 4d 61 74 68 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |Math.h>.|#include|
|00000350| 20 3c 51 44 33 44 53 65 | 74 2e 68 3e 0d 23 69 6e | <QD3DSe|t.h>.#in|
|00000360| 63 6c 75 64 65 20 3c 51 | 44 33 44 41 63 63 65 6c |clude <Q|D3DAccel|
|00000370| 65 72 61 74 69 6f 6e 2e | 68 3e 0d 23 69 6e 63 6c |eration.|h>.#incl|
|00000380| 75 64 65 20 3c 51 44 33 | 44 56 69 65 77 2e 68 3e |ude <QD3|DView.h>|
|00000390| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 51 44 33 44 45 |.#includ|e <QD3DE|
|000003a0| 72 72 6f 72 73 2e 68 3e | 0d 0d 0d 2f 2f 20 76 69 |rrors.h>|...// vi|
|000003b0| 65 77 65 72 0d 2f 2f 23 | 69 6e 63 6c 75 64 65 20 |ewer.//#|include |
|000003c0| 3c 51 44 33 44 56 69 65 | 77 65 72 2e 68 3e 0d 0d |<QD3DVie|wer.h>..|
|000003d0| 23 69 6e 63 6c 75 64 65 | 20 3c 66 70 2e 68 3e 0d |#include| <fp.h>.|
|000003e0| 23 69 6e 63 6c 75 64 65 | 20 3c 66 65 6e 76 2e 68 |#include| <fenv.h|
|000003f0| 3e 0d 0d 23 69 6e 63 6c | 75 64 65 20 22 54 65 78 |>..#incl|ude "Tex|
|00000400| 74 33 44 4c 69 62 2e 68 | 22 0d 0d 23 64 65 66 69 |t3DLib.h|"..#defi|
|00000410| 6e 65 20 52 41 44 28 78 | 29 20 28 28 33 2e 31 34 |ne RAD(x|) ((3.14|
|00000420| 31 35 39 32 36 35 33 35 | 38 39 37 39 33 2f 31 38 |15926535|89793/18|
|00000430| 30 2e 30 29 2a 66 6c 6f | 61 74 28 78 29 29 0d 23 |0.0)*flo|at(x)).#|
|00000440| 64 65 66 69 6e 65 20 44 | 45 47 28 78 29 20 28 28 |define D|EG(x) ((|
|00000450| 31 38 30 2e 30 2f 33 2e | 31 34 31 35 39 32 36 35 |180.0/3.|14159265|
|00000460| 33 35 38 39 37 39 33 29 | 2a 78 29 0d 0d 73 74 61 |3589793)|*x)..sta|
|00000470| 74 69 63 20 63 6f 6e 73 | 74 20 75 6e 73 69 67 6e |tic cons|t unsign|
|00000480| 65 64 20 63 68 61 72 2a | 20 76 65 72 73 69 6f 6e |ed char*| version|
|00000490| 53 74 72 69 6e 67 20 3d | 20 22 5c 70 32 2e 30 2e |String =| "\p2.0.|
|000004a0| 30 22 3b 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |0";..//-|--------|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000500| 2d 2d 0d 74 79 70 65 64 | 65 66 20 73 74 72 75 63 |--.typed|ef struc|
|00000510| 74 0d 7b 09 64 6f 75 62 | 6c 65 09 72 4d 69 6e 2c |t.{.doub|le.rMin,|
|00000520| 20 72 4d 61 78 3b 09 09 | 09 09 2f 2f 20 6d 69 6e | rMax;..|..// min|
|00000530| 20 61 6e 64 20 6d 61 78 | 20 69 6e 20 6d 61 74 68 | and max| in math|
|00000540| 65 6d 61 74 69 63 61 6c | 20 63 6f 6f 72 64 69 6e |ematical| coordin|
|00000550| 61 74 65 73 0d 09 64 6f | 75 62 6c 65 09 6c 6f 77 |ates..do|uble.low|
|00000560| 65 72 4c 69 6d 69 74 2c | 20 75 70 70 65 72 4c 69 |erLimit,| upperLi|
|00000570| 6d 69 74 3b 09 2f 2f 20 | 6c 69 6d 69 74 73 20 69 |mit;.// |limits i|
|00000580| 6e 20 6d 61 74 68 65 6d | 61 74 69 63 61 6c 20 63 |n mathem|atical c|
|00000590| 6f 6f 72 64 69 6e 61 74 | 65 73 0d 09 64 6f 75 62 |oordinat|es..doub|
|000005a0| 6c 65 09 73 63 61 6c 65 | 3b 09 09 09 09 09 2f 2f |le.scale|;.....//|
|000005b0| 20 32 2a 28 61 78 69 73 | 4c 65 6e 67 74 68 2f 31 | 2*(axis|Length/1|
|000005c0| 30 30 29 2f 28 6d 61 78 | 2d 6d 69 6e 29 0d 09 64 |00)/(max|-min)..d|
|000005d0| 6f 75 62 6c 65 09 6f 66 | 66 73 65 74 3b 09 09 09 |ouble.of|fset;...|
|000005e0| 09 09 2f 2f 20 2d 31 2a | 61 78 69 73 4c 65 6e 67 |..// -1*|axisLeng|
|000005f0| 74 68 2f 31 30 30 0d 7d | 20 4f 6e 65 53 63 61 6c |th/100.}| OneScal|
|00000600| 65 3b 0d 0d 23 64 65 66 | 69 6e 65 20 6d 61 78 4e |e;..#def|ine maxN|
|00000610| 61 6d 65 4c 65 6e 67 74 | 68 20 33 31 09 09 09 2f |ameLengt|h 31.../|
|00000620| 2a 20 6d 61 78 20 6c 65 | 6e 67 74 68 20 6f 66 20 |* max le|ngth of |
|00000630| 61 78 69 73 20 6e 61 6d | 65 20 69 74 65 6d 73 20 |axis nam|e items |
|00000640| 2a 2f 0d 23 64 65 66 69 | 6e 65 09 78 49 6e 64 65 |*/.#defi|ne.xInde|
|00000650| 78 20 30 09 09 09 09 09 | 2f 2a 20 74 68 65 20 69 |x 0.....|/* the i|
|00000660| 6e 64 65 78 20 6f 66 20 | 74 68 65 20 78 20 61 78 |ndex of |the x ax|
|00000670| 69 73 20 69 6e 20 61 78 | 65 73 44 65 73 63 72 20 |is in ax|esDescr |
|00000680| 2a 2f 0d 23 64 65 66 69 | 6e 65 09 79 49 6e 64 65 |*/.#defi|ne.yInde|
|00000690| 78 20 35 09 09 09 09 09 | 2f 2a 20 74 68 65 20 69 |x 5.....|/* the i|
|000006a0| 6e 64 65 78 20 6f 66 20 | 74 68 65 20 79 20 61 78 |ndex of |the y ax|
|000006b0| 69 73 20 69 6e 20 61 78 | 65 73 44 65 73 63 72 20 |is in ax|esDescr |
|000006c0| 2a 2f 0d 23 64 65 66 69 | 6e 65 09 7a 49 6e 64 65 |*/.#defi|ne.zInde|
|000006d0| 78 20 31 30 09 09 09 09 | 09 2f 2a 20 74 68 65 20 |x 10....|./* the |
|000006e0| 69 6e 64 65 78 20 6f 66 | 20 74 68 65 20 7a 20 61 |index of| the z a|
|000006f0| 78 69 73 20 69 6e 20 61 | 78 65 73 44 65 73 63 72 |xis in a|xesDescr|
|00000700| 20 2a 2f 0d 0d 0d 74 79 | 70 65 64 65 66 20 73 74 | */...ty|pedef st|
|00000710| 72 75 63 74 0d 7b 0d 09 | 75 6e 73 69 67 6e 65 64 |ruct.{..|unsigned|
|00000720| 20 63 68 61 72 09 6e 61 | 6d 65 5b 6d 61 78 4e 61 | char.na|me[maxNa|
|00000730| 6d 65 4c 65 6e 67 74 68 | 5d 3b 0d 09 2f 2f 20 74 |meLength|];..// t|
|00000740| 68 65 20 6f 72 69 65 6e | 74 61 74 69 6f 6e 20 6f |he orien|tation o|
|00000750| 66 20 74 68 65 20 74 65 | 78 74 2e 20 5a 65 72 6f |f the te|xt. Zero|
|00000760| 20 70 6f 73 69 74 69 6f | 6e 20 69 73 20 61 20 74 | positio|n is a t|
|00000770| 65 78 74 20 77 69 74 68 | 20 64 69 72 65 63 74 69 |ext with| directi|
|00000780| 6f 6e 20 28 2d 31 2c 30 | 2c 30 29 20 61 6e 64 20 |on (-1,0|,0) and |
|00000790| 75 70 2d 76 65 63 74 6f | 72 20 28 30 2c 30 2c 31 |up-vecto|r (0,0,1|
|000007a0| 29 0d 09 66 6c 6f 61 74 | 09 78 52 6f 74 3b 09 09 |)..float|.xRot;..|
|000007b0| 09 09 09 09 09 2f 2f 20 | 6f 72 69 65 6e 74 61 74 |.....// |orientat|
|000007c0| 69 6f 6e 3a 20 72 6f 74 | 61 74 69 6f 6e 20 61 62 |ion: rot|ation ab|
|000007d0| 6f 75 74 20 78 0d 09 66 | 6c 6f 61 74 09 79 52 6f |out x..f|loat.yRo|
|000007e0| 74 3b 09 09 09 09 09 09 | 09 2f 2f 20 6f 72 69 65 |t;......|.// orie|
|000007f0| 6e 74 61 74 69 6f 6e 3a | 20 72 6f 74 61 74 69 6f |ntation:| rotatio|
|00000800| 6e 20 61 62 6f 75 74 20 | 79 0d 09 66 6c 6f 61 74 |n about |y..float|
|00000810| 09 7a 52 6f 74 3b 09 09 | 09 09 09 09 09 2f 2f 20 |.zRot;..|.....// |
|00000820| 6f 72 69 65 6e 74 61 74 | 69 6f 6e 3a 20 72 6f 74 |orientat|ion: rot|
|00000830| 61 74 69 6f 6e 20 61 62 | 6f 75 74 20 7a 0d 09 2f |ation ab|out z../|
|00000840| 2f 20 74 68 65 20 70 6f | 73 69 74 69 6f 6e 20 6f |/ the po|sition o|
|00000850| 66 20 74 68 65 20 74 65 | 78 74 0d 09 66 6c 6f 61 |f the te|xt..floa|
|00000860| 74 09 78 50 6f 73 2c 20 | 79 50 6f 73 2c 20 7a 50 |t.xPos, |yPos, zP|
|00000870| 6f 73 3b 09 09 09 09 2f | 2f 20 70 6f 73 69 74 69 |os;..../|/ positi|
|00000880| 6f 6e 20 72 65 6c 61 74 | 69 76 65 20 74 6f 20 61 |on relat|ive to a|
|00000890| 78 69 73 20 63 65 6e 74 | 65 72 0d 09 66 6c 6f 61 |xis cent|er..floa|
|000008a0| 74 09 6c 61 62 58 52 6f | 74 2c 20 6c 61 62 59 52 |t.labXRo|t, labYR|
|000008b0| 6f 74 2c 20 6c 61 62 5a | 52 6f 74 3b 09 09 2f 2f |ot, labZ|Rot;..//|
|000008c0| 20 6f 72 69 65 6e 74 61 | 74 69 6f 6e 20 6f 66 20 | orienta|tion of |
|000008d0| 6c 61 62 65 6c 73 0d 09 | 66 6c 6f 61 74 09 6c 61 |labels..|float.la|
|000008e0| 62 4f 66 66 31 2c 20 6c | 61 62 4f 66 66 32 3b 09 |bOff1, l|abOff2;.|
|000008f0| 09 09 09 2f 2f 20 66 6f | 72 20 78 3a 20 6f 66 66 |...// fo|r x: off|
|00000900| 73 65 74 20 61 6c 6f 6e | 67 20 79 2c 7a 3b 20 66 |set alon|g y,z; f|
|00000910| 6f 72 20 79 3a 20 6f 66 | 66 73 65 74 20 61 6c 6f |or y: of|fset alo|
|00000920| 6e 67 20 78 2c 7a 3b 20 | 66 6f 72 20 7a 3a 20 6f |ng x,z; |for z: o|
|00000930| 66 66 73 65 74 20 61 6c | 6f 6e 67 20 78 2c 79 0d |ffset al|ong x,y.|
|00000940| 09 42 6f 6f 6c 65 61 6e | 09 76 69 73 69 62 6c 65 |.Boolean|.visible|
|00000950| 3b 09 09 09 09 09 09 2f | 2f 20 74 72 75 65 20 69 |;....../|/ true i|
|00000960| 66 20 74 68 65 20 61 78 | 69 73 20 69 73 20 76 69 |f the ax|is is vi|
|00000970| 73 69 62 6c 65 0d 09 42 | 6f 6f 6c 65 61 6e 20 73 |sible..B|oolean s|
|00000980| 68 6f 77 54 69 63 6b 73 | 2c 20 73 68 6f 77 4c 61 |howTicks|, showLa|
|00000990| 62 65 6c 73 3b 0d 09 63 | 68 61 72 09 6c 61 62 41 |bels;..c|har.labA|
|000009a0| 6c 69 67 6e 2c 20 6e 61 | 6d 65 41 6c 69 67 6e 3b |lign, na|meAlign;|
|000009b0| 09 09 09 2f 2f 20 41 6c | 69 67 6e 6d 65 6e 74 20 |...// Al|ignment |
|000009c0| 66 6f 72 20 6c 61 62 65 | 6c 73 20 61 6e 64 20 6e |for labe|ls and n|
|000009d0| 61 6d 65 3a 20 2d 31 3a | 20 6c 65 66 74 2c 20 30 |ame: -1:| left, 0|
|000009e0| 3a 20 63 65 6e 74 65 72 | 2c 20 31 3a 72 69 67 68 |: center|, 1:righ|
|000009f0| 74 0d 7d 20 41 78 69 73 | 44 65 73 63 72 3b 0d 0d |t.} Axis|Descr;..|
|00000a00| 74 79 70 65 64 65 66 20 | 73 74 72 75 63 74 0d 7b |typedef |struct.{|
|00000a10| 0d 09 64 6f 75 62 6c 65 | 09 6d 69 6e 2c 20 6d 61 |..double|.min, ma|
|00000a20| 78 3b 09 09 09 09 09 09 | 2f 2f 20 72 61 6e 67 65 |x;......|// range|
|00000a30| 20 6f 66 20 74 68 65 20 | 61 78 69 73 0d 09 64 6f | of the |axis..do|
|00000a40| 75 62 6c 65 09 6f 72 69 | 67 69 6e 3b 09 09 09 09 |uble.ori|gin;....|
|00000a50| 09 09 09 2f 2f 20 6f 72 | 69 67 69 6e 20 69 6e 20 |...// or|igin in |
|00000a60| 74 68 69 73 20 63 6f 6f | 72 64 69 6e 61 74 65 0d |this coo|rdinate.|
|00000a70| 09 64 6f 75 62 6c 65 09 | 66 69 72 73 74 4d 61 6a |.double.|firstMaj|
|00000a80| 6f 72 3b 09 09 09 09 09 | 09 2f 2f 20 6c 6f 63 61 |or;.....|.// loca|
|00000a90| 74 69 6f 6e 20 6f 66 20 | 31 73 74 20 6d 61 6a 6f |tion of |1st majo|
|00000aa0| 72 0d 09 64 6f 75 62 6c | 65 09 64 69 73 74 4d 61 |r..doubl|e.distMa|
|00000ab0| 6a 6f 72 3b 09 09 09 09 | 09 09 2f 2f 20 64 69 73 |jor;....|..// dis|
|00000ac0| 74 61 6e 63 65 20 62 65 | 74 77 65 65 6e 20 6d 61 |tance be|tween ma|
|00000ad0| 6a 6f 72 0d 09 66 6c 6f | 61 74 09 6c 65 6e 67 74 |jor..flo|at.lengt|
|00000ae0| 68 3b 09 09 09 09 09 09 | 09 2f 2f 20 6c 65 6e 67 |h;......|.// leng|
|00000af0| 74 68 20 69 6e 20 25 20 | 28 62 65 74 77 65 65 6e |th in % |(between|
|00000b00| 20 31 30 20 61 6e 64 20 | 31 30 30 29 0d 09 73 68 | 10 and |100)..sh|
|00000b10| 6f 72 74 09 6e 72 4d 69 | 6e 6f 72 3b 09 09 09 09 |ort.nrMi|nor;....|
|00000b20| 09 09 2f 2f 20 6e 75 6d | 62 65 72 20 6f 66 20 6d |..// num|ber of m|
|00000b30| 69 6e 6f 72 20 74 69 63 | 6b 73 0d 09 73 68 6f 72 |inor tic|ks..shor|
|00000b40| 74 09 64 69 67 69 74 73 | 3b 09 09 09 09 09 09 09 |t.digits|;.......|
|00000b50| 2f 2f 20 6e 75 6d 62 65 | 72 20 6f 66 20 64 69 67 |// numbe|r of dig|
|00000b60| 69 74 73 20 69 6e 20 6c | 61 62 65 6c 73 0d 7d 20 |its in l|abels.} |
|00000b70| 53 63 61 6c 69 6e 67 44 | 65 73 63 72 3b 0d 0d 74 |ScalingD|escr;..t|
|00000b80| 79 70 65 64 65 66 20 73 | 74 72 75 63 74 20 09 09 |ypedef s|truct ..|
|00000b90| 09 09 09 09 09 09 2f 2f | 20 69 6e 66 6f 20 61 62 |......//| info ab|
|00000ba0| 6f 75 74 20 61 20 33 64 | 2d 67 72 61 66 20 28 61 |out a 3d|-graf (a|
|00000bb0| 78 69 73 20 6c 6f 63 61 | 74 69 6f 6e 73 2c 20 6e |xis loca|tions, n|
|00000bc0| 61 6d 65 73 2c 20 65 74 | 63 29 0d 7b 0d 09 66 6c |ames, et|c).{..fl|
|00000bd0| 6f 61 74 09 09 09 6e 61 | 6d 65 53 69 7a 65 3b 09 |oat...na|meSize;.|
|00000be0| 09 09 09 2f 2f 20 74 68 | 65 20 73 69 7a 65 20 6f |...// th|e size o|
|00000bf0| 66 20 74 68 65 20 6e 61 | 6d 65 73 0d 09 66 6c 6f |f the na|mes..flo|
|00000c00| 61 74 09 09 09 6c 61 62 | 65 6c 53 69 7a 65 3b 09 |at...lab|elSize;.|
|00000c10| 09 09 09 2f 2f 20 74 68 | 65 20 73 69 7a 65 20 6f |...// th|e size o|
|00000c20| 66 20 74 68 65 20 6c 61 | 62 65 6c 73 0d 09 66 6c |f the la|bels..fl|
|00000c30| 6f 61 74 09 09 09 61 78 | 69 73 54 68 69 63 6b 6e |oat...ax|isThickn|
|00000c40| 65 73 73 3b 09 09 09 2f | 2f 20 74 68 65 20 74 68 |ess;.../|/ the th|
|00000c50| 69 63 6b 6e 65 73 73 20 | 6f 66 20 6f 75 72 20 61 |ickness |of our a|
|00000c60| 78 65 73 20 69 66 20 73 | 6f 6c 69 64 0d 09 52 47 |xes if s|olid..RG|
|00000c70| 42 43 6f 6c 6f 72 09 09 | 73 75 72 66 61 63 65 43 |BColor..|surfaceC|
|00000c80| 6f 6c 6f 72 3b 09 09 09 | 0d 09 52 47 42 43 6f 6c |olor;...|..RGBCol|
|00000c90| 6f 72 09 09 61 78 65 73 | 43 6f 6c 6f 72 3b 0d 09 |or..axes|Color;..|
|00000ca0| 52 47 42 43 6f 6c 6f 72 | 09 09 6c 61 62 65 6c 73 |RGBColor|..labels|
|00000cb0| 43 6f 6c 6f 72 3b 0d 09 | 42 6f 6f 6c 65 61 6e 09 |Color;..|Boolean.|
|00000cc0| 09 09 73 68 6f 77 4e 61 | 6d 65 73 41 6e 64 4c 61 |..showNa|mesAndLa|
|00000cd0| 62 65 6c 73 3b 0d 09 42 | 6f 6f 6c 65 61 6e 09 09 |bels;..B|oolean..|
|00000ce0| 09 73 68 6f 77 41 78 65 | 73 3b 0d 09 42 6f 6f 6c |.showAxe|s;..Bool|
|00000cf0| 65 61 6e 09 09 09 73 68 | 6f 77 53 75 72 66 61 63 |ean...sh|owSurfac|
|00000d00| 65 3b 0d 09 73 68 6f 72 | 74 09 09 09 73 75 72 66 |e;..shor|t...surf|
|00000d10| 61 63 65 53 74 79 6c 65 | 3b 09 09 09 2f 2f 20 63 |aceStyle|;...// c|
|00000d20| 75 72 72 65 6e 74 6c 79 | 20 73 65 6c 65 63 74 65 |urrently| selecte|
|00000d30| 64 20 73 74 79 6c 65 20 | 6d 69 6e 75 73 20 6f 6e |d style |minus on|
|00000d40| 65 0d 09 42 6f 6f 6c 65 | 61 6e 09 09 09 69 73 54 |e..Boole|an...isT|
|00000d50| 65 78 74 75 72 65 64 3b | 09 09 09 09 2f 2f 20 74 |extured;|....// t|
|00000d60| 72 75 65 20 69 66 20 73 | 75 72 66 61 63 65 20 69 |rue if s|urface i|
|00000d70| 73 20 74 65 78 75 74 72 | 65 64 0d 09 73 68 6f 72 |s texutr|ed..shor|
|00000d80| 74 09 09 09 74 65 78 74 | 75 72 65 49 44 3b 09 09 |t...text|ureID;..|
|00000d90| 09 09 2f 2f 20 72 65 73 | 6f 75 72 63 65 20 49 44 |..// res|ource ID|
|00000da0| 20 6f 66 20 74 65 78 74 | 75 72 65 0d 09 73 68 6f | of text|ure..sho|
|00000db0| 72 74 09 09 09 74 65 78 | 74 75 72 65 52 65 70 65 |rt...tex|tureRepe|
|00000dc0| 61 74 58 3b 09 09 09 2f | 2f 20 72 65 70 65 61 74 |atX;.../|/ repeat|
|00000dd0| 73 20 6f 66 20 74 65 78 | 74 75 72 65 20 61 6c 6f |s of tex|ture alo|
|00000de0| 6e 67 20 78 20 61 6e 64 | 20 79 0d 09 73 68 6f 72 |ng x and| y..shor|
|00000df0| 74 09 09 09 74 65 78 74 | 75 72 65 52 65 70 65 61 |t...text|ureRepea|
|00000e00| 74 59 3b 0d 0d 09 53 63 | 61 6c 69 6e 67 44 65 73 |tY;...Sc|alingDes|
|00000e10| 63 72 09 73 63 61 6c 69 | 6e 67 44 65 73 63 72 5b |cr.scali|ngDescr[|
|00000e20| 33 5d 3b 09 09 2f 2f 20 | 73 61 63 6c 69 6e 67 20 |3];..// |sacling |
|00000e30| 64 65 73 63 72 20 66 6f | 72 20 65 61 63 68 20 64 |descr fo|r each d|
|00000e40| 69 72 65 63 74 69 6f 6e | 20 28 78 3d 30 2c 20 79 |irection| (x=0, y|
|00000e50| 3d 31 2c 20 7a 3d 32 29 | 0d 09 41 78 69 73 44 65 |=1, z=2)|..AxisDe|
|00000e60| 73 63 72 09 09 61 78 69 | 73 44 65 73 63 72 5b 31 |scr..axi|sDescr[1|
|00000e70| 35 5d 3b 0d 7d 20 47 72 | 61 66 33 44 49 6e 66 6f |5];.} Gr|af3DInfo|
|00000e80| 3b 0d 0d 23 64 65 66 69 | 6e 65 20 70 69 63 4f 70 |;..#defi|ne picOp|
|00000e90| 74 69 6f 6e 73 56 65 72 | 73 69 6f 6e 4e 72 20 28 |tionsVer|sionNr (|
|00000ea0| 30 4c 29 0d 0d 74 79 70 | 65 64 65 66 20 73 74 72 |0L)..typ|edef str|
|00000eb0| 75 63 74 09 09 09 09 09 | 09 09 09 2f 2f 20 74 68 |uct.....|...// th|
|00000ec0| 65 20 70 69 63 20 6f 70 | 74 69 6f 6e 73 0d 7b 0d |e pic op|tions.{.|
|00000ed0| 09 6c 6f 6e 67 09 09 09 | 76 65 72 73 69 6f 6e 3b |.long...|version;|
|00000ee0| 09 09 09 09 2f 2f 20 3d | 20 70 69 63 4f 70 74 69 |....// =| picOpti|
|00000ef0| 6f 6e 73 56 65 72 73 69 | 6f 6e 4e 72 0d 09 73 68 |onsVersi|onNr..sh|
|00000f00| 6f 72 74 09 09 09 72 65 | 73 6f 6c 75 74 69 6f 6e |ort...re|solution|
|00000f10| 3b 09 09 09 09 2f 2f 20 | 74 68 65 20 72 65 73 6f |;....// |the reso|
|00000f20| 6c 75 74 69 6f 6e 20 6f | 66 20 74 68 65 20 62 69 |lution o|f the bi|
|00000f30| 74 6d 61 70 20 70 69 63 | 74 75 72 65 20 69 6e 20 |tmap pic|ture in |
|00000f40| 64 70 69 0d 09 73 68 6f | 72 74 09 09 09 70 69 63 |dpi..sho|rt...pic|
|00000f50| 44 65 70 74 68 3b 09 09 | 09 09 2f 2f 20 74 68 65 |Depth;..|..// the|
|00000f60| 20 62 69 74 20 64 65 70 | 74 68 20 6f 66 20 74 68 | bit dep|th of th|
|00000f70| 65 20 70 69 63 20 77 65 | 20 67 65 6e 65 72 61 74 |e pic we| generat|
|00000f80| 65 0d 09 73 68 6f 72 74 | 09 09 09 70 69 63 4d 6f |e..short|...picMo|
|00000f90| 64 65 3b 09 09 09 09 2f | 2f 20 74 68 65 20 74 72 |de;..../|/ the tr|
|00000fa0| 61 6e 73 66 65 72 20 6d | 6f 64 65 20 6f 66 20 74 |ansfer m|ode of t|
|00000fb0| 68 65 20 70 69 63 20 77 | 65 20 67 65 6e 65 72 61 |he pic w|e genera|
|00000fc0| 74 65 0d 7d 20 50 69 63 | 4f 70 74 69 6f 6e 73 3b |te.} Pic|Options;|
|00000fd0| 0d 0d 50 69 63 4f 70 74 | 69 6f 6e 73 20 70 69 63 |..PicOpt|ions pic|
|00000fe0| 4f 70 74 69 6f 6e 73 20 | 3d 0d 09 7b 09 70 69 63 |Options |=..{.pic|
|00000ff0| 4f 70 74 69 6f 6e 73 56 | 65 72 73 69 6f 6e 4e 72 |OptionsV|ersionNr|
|00001000| 2c 09 09 09 09 2f 2f 20 | 76 65 72 73 69 6f 6e 0d |,....// |version.|
|00001010| 09 09 37 32 2c 09 09 09 | 09 09 09 09 09 09 2f 2f |..72,...|......//|
|00001020| 20 72 65 73 6f 6c 75 74 | 69 6f 6e 0d 09 09 33 32 | resolut|ion...32|
|00001030| 2c 09 09 09 09 09 09 09 | 09 09 2f 2f 20 64 65 70 |,.......|..// dep|
|00001040| 74 68 0d 09 09 73 72 63 | 43 6f 70 79 09 09 09 09 |th...src|Copy....|
|00001050| 09 09 09 09 2f 2f 20 6d | 6f 64 65 0d 09 7d 3b 0d |....// m|ode..};.|
|00001060| 0d 0d 73 74 61 74 69 63 | 20 47 72 61 66 33 44 49 |..static| Graf3DI|
|00001070| 6e 66 6f 20 67 72 61 66 | 33 44 49 6e 66 6f 20 3d |nfo graf|3DInfo =|
|00001080| 20 0d 7b 0d 09 30 2e 32 | 35 2c 09 09 09 09 09 09 | .{..0.2|5,......|
|00001090| 2f 2f 20 6e 61 6d 65 53 | 69 7a 65 0d 09 30 2e 32 |// nameS|ize..0.2|
|000010a0| 30 2c 09 09 09 09 09 09 | 2f 2f 20 6c 61 62 65 6c |0,......|// label|
|000010b0| 53 69 7a 65 0d 09 30 2e | 30 31 35 2c 09 09 09 09 |Size..0.|015,....|
|000010c0| 09 09 2f 2f 20 61 78 69 | 73 20 74 68 69 63 6b 6e |..// axi|s thickn|
|000010d0| 65 73 73 20 69 66 20 61 | 78 65 73 20 73 6f 6c 69 |ess if a|xes soli|
|000010e0| 64 0d 09 7b 30 78 30 30 | 30 30 2c 20 30 78 38 30 |d..{0x00|00, 0x80|
|000010f0| 30 30 2c 20 30 78 31 31 | 42 30 7d 2c 09 2f 2f 20 |00, 0x11|B0},.// |
|00001100| 73 75 72 66 61 63 65 20 | 63 6f 6c 6f 72 2c 20 67 |surface |color, g|
|00001110| 72 65 65 6e 0d 09 7b 30 | 78 44 44 36 42 2c 20 30 |reen..{0|xDD6B, 0|
|00001120| 78 30 38 43 32 2c 20 30 | 78 30 36 41 32 7d 2c 09 |x08C2, 0|x06A2},.|
|00001130| 2f 2f 20 61 78 69 73 20 | 63 6f 6c 6f 72 2c 20 72 |// axis |color, r|
|00001140| 65 64 0d 09 7b 30 78 30 | 30 30 30 2c 20 30 78 30 |ed..{0x0|000, 0x0|
|00001150| 30 30 30 2c 20 30 78 30 | 30 30 30 7d 2c 09 2f 2f |000, 0x0|000},.//|
|00001160| 20 6c 61 62 65 6c 73 43 | 6f 6c 6f 72 2c 20 62 6c | labelsC|olor, bl|
|00001170| 61 63 6b 0d 09 74 72 75 | 65 2c 09 09 09 09 09 09 |ack..tru|e,......|
|00001180| 2f 2f 20 73 68 6f 77 4e | 61 6d 65 73 41 6e 64 4c |// showN|amesAndL|
|00001190| 61 62 65 6c 73 0d 09 74 | 72 75 65 2c 09 09 09 09 |abels..t|rue,....|
|000011a0| 09 09 2f 2f 20 73 68 6f | 77 41 78 65 73 0d 09 74 |..// sho|wAxes..t|
|000011b0| 72 75 65 2c 20 09 09 09 | 09 09 09 2f 2f 20 73 68 |rue, ...|...// sh|
|000011c0| 6f 77 53 75 72 66 61 63 | 65 0d 09 30 2c 09 09 09 |owSurfac|e..0,...|
|000011d0| 09 09 09 09 2f 2f 20 73 | 75 72 66 61 63 65 53 54 |....// s|urfaceST|
|000011e0| 79 6c 65 0d 09 66 61 6c | 73 65 2c 09 09 09 09 09 |yle..fal|se,.....|
|000011f0| 09 2f 2f 20 69 73 54 65 | 78 74 75 72 65 64 0d 09 |.// isTe|xtured..|
|00001200| 33 31 30 30 30 2c 09 09 | 09 09 09 09 2f 2f 20 74 |31000,..|....// t|
|00001210| 65 78 74 75 72 65 49 44 | 0d 09 31 30 2c 20 31 30 |extureID|..10, 10|
|00001220| 2c 09 09 09 09 09 09 2f | 2f 20 74 65 78 74 75 72 |,....../|/ textur|
|00001230| 65 52 65 70 65 61 74 58 | 20 61 6e 64 20 74 65 78 |eRepeatX| and tex|
|00001240| 74 75 72 65 52 65 70 65 | 61 74 59 0d 09 2f 2f 20 |tureRepe|atY..// |
|00001250| 73 63 61 6c 69 6e 67 44 | 65 73 63 72 3a 0d 09 2f |scalingD|escr:../|
|00001260| 2f 09 20 20 20 6d 69 6e | 20 20 6d 61 78 20 6f 72 |/. min| max or|
|00001270| 69 67 69 6e 20 66 69 72 | 73 74 4d 61 6a 20 64 69 |igin fir|stMaj di|
|00001280| 73 74 20 6c 65 6e 67 74 | 68 20 6e 72 4d 69 6e 6f |st lengt|h nrMino|
|00001290| 72 20 64 69 67 69 74 73 | 0d 09 7b 09 7b 20 2d 31 |r digits|..{.{ -1|
|000012a0| 2e 30 2c 20 31 2e 30 2c | 20 30 2e 30 2c 20 20 20 |.0, 1.0,| 0.0, |
|000012b0| 2d 31 2e 30 2c 20 20 20 | 31 2e 30 2c 20 20 20 31 |-1.0, |1.0, 1|
|000012c0| 30 30 2c 20 20 20 31 2c | 20 20 20 20 20 20 31 7d |00, 1,| 1}|
|000012d0| 2c 09 09 09 09 2f 2f 20 | 78 0d 09 09 7b 20 2d 31 |,....// |x...{ -1|
|000012e0| 2e 30 2c 20 31 2e 30 2c | 20 30 2e 30 2c 20 20 20 |.0, 1.0,| 0.0, |
|000012f0| 2d 31 2e 30 2c 20 20 20 | 31 2e 30 2c 20 20 20 31 |-1.0, |1.0, 1|
|00001300| 30 30 2c 20 20 20 31 2c | 20 20 20 20 20 20 31 7d |00, 1,| 1}|
|00001310| 2c 09 09 09 09 2f 2f 20 | 79 0d 09 09 7b 20 2d 31 |,....// |y...{ -1|
|00001320| 2e 30 2c 20 31 2e 30 2c | 20 30 2e 30 2c 20 20 20 |.0, 1.0,| 0.0, |
|00001330| 2d 31 2e 30 2c 20 20 20 | 31 2e 30 2c 20 20 20 31 |-1.0, |1.0, 1|
|00001340| 30 30 2c 20 20 20 31 2c | 20 20 20 20 20 20 31 7d |00, 1,| 1}|
|00001350| 2c 09 09 09 09 2f 2f 20 | 7a 0d 09 7d 2c 0d 09 2f |,....// |z..},../|
|00001360| 2f 20 61 78 69 73 44 65 | 73 63 72 3a 0d 09 2f 2f |/ axisDe|scr:..//|
|00001370| 09 09 6e 61 6d 65 2c 20 | 20 78 52 6f 74 2c 20 20 |..name, | xRot, |
|00001380| 20 20 20 79 52 6f 74 2c | 20 20 20 20 20 7a 52 6f | yRot,| zRo|
|00001390| 74 2c 20 20 20 20 20 78 | 50 6f 73 2c 20 20 79 50 |t, x|Pos, yP|
|000013a0| 6f 73 2c 20 20 7a 50 6f | 73 2c 20 20 6c 61 62 58 |os, zPo|s, labX|
|000013b0| 52 6f 74 2c 20 20 6c 61 | 62 59 52 6f 74 2c 20 20 |Rot, la|bYRot, |
|000013c0| 6c 61 62 5a 52 6f 74 2c | 20 6c 61 62 4f 66 66 31 |labZRot,| labOff1|
|000013d0| 2c 6c 61 62 4f 66 66 32 | 2c 76 69 73 2c 20 73 68 |,labOff2|,vis, sh|
|000013e0| 77 54 69 63 6b 73 2c 73 | 68 77 4c 61 62 65 6c 73 |wTicks,s|hwLabels|
|000013f0| 2c 6c 61 62 41 6c 69 67 | 6e 2c 20 6e 61 6d 65 41 |,labAlig|n, nameA|
|00001400| 6c 69 67 6e 0d 09 7b 09 | 7b 09 22 5c 70 58 22 2c |lign..{.|{."\pX",|
|00001410| 20 52 41 44 28 30 30 29 | 2c 20 20 52 41 44 28 30 | RAD(00)|, RAD(0|
|00001420| 30 30 29 2c 20 52 41 44 | 28 30 30 30 29 2c 20 20 |00), RAD|(000), |
|00001430| 31 2e 30 35 2c 20 20 30 | 2e 30 30 2c 20 20 30 2e |1.05, 0|.00, 0.|
|00001440| 30 30 2c 20 52 41 44 28 | 39 30 29 2c 20 20 52 41 |00, RAD(|90), RA|
|00001450| 44 28 30 30 29 2c 20 20 | 52 41 44 28 32 37 30 29 |D(00), |RAD(270)|
|00001460| 2c 20 2d 30 2e 31 30 2c | 20 20 30 2e 30 30 2c 20 |, -0.10,| 0.00, |
|00001470| 20 74 72 75 65 2c 20 66 | 61 6c 73 65 2c 20 20 66 | true, f|alse, f|
|00001480| 61 6c 73 65 2c 20 20 20 | 20 31 2c 20 20 31 7d 2c |alse, | 1, 1},|
|00001490| 09 2f 2f 20 58 0d 09 09 | 7b 09 22 5c 70 22 2c 20 |.// X...|{."\p", |
|000014a0| 20 52 41 44 28 39 30 29 | 2c 20 20 52 41 44 28 30 | RAD(90)|, RAD(0|
|000014b0| 30 30 29 2c 20 52 41 44 | 28 30 30 30 29 2c 20 20 |00), RAD|(000), |
|000014c0| 30 2e 30 30 2c 20 2d 30 | 2e 31 30 2c 20 20 30 2e |0.00, -0|.10, 0.|
|000014d0| 30 30 2c 20 52 41 44 28 | 39 30 29 2c 20 20 52 41 |00, RAD(|90), RA|
|000014e0| 44 28 30 30 29 2c 20 20 | 52 41 44 28 32 37 30 29 |D(00), |RAD(270)|
|000014f0| 2c 20 2d 30 2e 31 30 2c | 20 20 30 2e 30 30 2c 20 |, -0.10,| 0.00, |
|00001500| 20 66 61 6c 73 65 2c 20 | 66 61 6c 73 65 2c 20 66 | false, |false, f|
|00001510| 61 6c 73 65 2c 20 20 20 | 20 31 2c 20 20 30 7d 2c |alse, | 1, 0},|
|00001520| 09 2f 2f 20 58 31 0d 09 | 09 7b 09 22 5c 70 22 2c |.// X1..|.{."\p",|
|00001530| 20 20 52 41 44 28 39 30 | 29 2c 20 20 52 41 44 28 | RAD(90|), RAD(|
|00001540| 30 30 30 29 2c 20 52 41 | 44 28 30 30 30 29 2c 20 |000), RA|D(000), |
|00001550| 20 30 2e 30 30 2c 20 20 | 30 2e 32 35 2c 20 20 30 | 0.00, |0.25, 0|
|00001560| 2e 30 30 2c 20 52 41 44 | 28 39 30 29 2c 20 20 52 |.00, RAD|(90), R|
|00001570| 41 44 28 30 30 29 2c 20 | 20 52 41 44 28 32 37 30 |AD(00), | RAD(270|
|00001580| 29 2c 20 20 30 2e 31 30 | 2c 20 20 30 2e 30 30 2c |), 0.10|, 0.00,|
|00001590| 20 20 66 61 6c 73 65 2c | 20 66 61 6c 73 65 2c 20 | false,| false, |
|000015a0| 66 61 6c 73 65 2c 20 20 | 20 2d 31 2c 20 20 30 7d |false, | -1, 0}|
|000015b0| 2c 09 2f 2f 20 58 32 0d | 09 09 7b 09 22 5c 70 22 |,.// X2.|..{."\p"|
|000015c0| 2c 20 20 52 41 44 28 39 | 30 29 2c 20 20 52 41 44 |, RAD(9|0), RAD|
|000015d0| 28 30 30 30 29 2c 20 52 | 41 44 28 30 30 30 29 2c |(000), R|AD(000),|
|000015e0| 20 20 30 2e 30 30 2c 20 | 20 30 2e 32 35 2c 20 20 | 0.00, | 0.25, |
|000015f0| 30 2e 30 30 2c 20 52 41 | 44 28 39 30 29 2c 20 20 |0.00, RA|D(90), |
|00001600| 52 41 44 28 30 30 29 2c | 20 20 52 41 44 28 32 37 |RAD(00),| RAD(27|
|00001610| 30 29 2c 20 20 30 2e 31 | 30 2c 20 20 30 2e 30 30 |0), 0.1|0, 0.00|
|00001620| 2c 20 20 66 61 6c 73 65 | 2c 20 66 61 6c 73 65 2c |, false|, false,|
|00001630| 20 66 61 6c 73 65 2c 20 | 20 20 2d 31 2c 20 20 30 | false, | -1, 0|
|00001640| 7d 2c 09 2f 2f 20 58 33 | 0d 09 09 7b 09 22 5c 70 |},.// X3|...{."\p|
|00001650| 22 2c 20 20 52 41 44 28 | 39 30 29 2c 20 20 52 41 |", RAD(|90), RA|
|00001660| 44 28 30 30 30 29 2c 20 | 52 41 44 28 30 30 30 29 |D(000), |RAD(000)|
|00001670| 2c 20 20 30 2e 30 30 2c | 20 2d 30 2e 31 30 2c 20 |, 0.00,| -0.10, |
|00001680| 20 30 2e 30 30 2c 20 52 | 41 44 28 39 30 29 2c 20 | 0.00, R|AD(90), |
|00001690| 20 52 41 44 28 30 30 29 | 2c 20 20 52 41 44 28 32 | RAD(00)|, RAD(2|
|000016a0| 37 30 29 2c 20 2d 30 2e | 31 30 2c 20 20 30 2e 30 |70), -0.|10, 0.0|
|000016b0| 30 2c 20 20 66 61 6c 73 | 65 2c 20 66 61 6c 73 65 |0, fals|e, false|
|000016c0| 2c 20 66 61 6c 73 65 2c | 20 20 20 20 31 2c 20 20 |, false,| 1, |
|000016d0| 30 7d 2c 09 2f 2f 20 58 | 34 0d 09 09 7b 09 22 5c |0},.// X|4...{."\|
|000016e0| 70 59 22 2c 20 52 41 44 | 28 30 30 30 29 2c 20 52 |pY", RAD|(000), R|
|000016f0| 41 44 28 30 30 30 29 2c | 20 52 41 44 28 32 37 30 |AD(000),| RAD(270|
|00001700| 29 2c 20 20 30 2e 30 30 | 2c 20 20 31 2e 30 35 2c |), 0.00|, 1.05,|
|00001710| 20 20 30 2e 30 30 2c 20 | 52 41 44 28 39 30 29 2c | 0.00, |RAD(90),|
|00001720| 20 20 52 41 44 28 30 30 | 30 29 2c 20 52 41 44 28 | RAD(00|0), RAD(|
|00001730| 30 30 30 29 2c 20 20 30 | 2e 31 30 2c 20 20 30 2e |000), 0|.10, 0.|
|00001740| 30 30 2c 20 20 74 72 75 | 65 2c 20 20 66 61 6c 73 |00, tru|e, fals|
|00001750| 65 2c 20 66 61 6c 73 65 | 2c 20 20 20 20 31 2c 20 |e, false|, 1, |
|00001760| 2d 31 7d 2c 09 2f 2f 20 | 59 0d 09 09 7b 09 22 5c |-1},.// |Y...{."\|
|00001770| 70 22 2c 20 20 52 41 44 | 28 39 30 29 2c 20 20 52 |p", RAD|(90), R|
|00001780| 41 44 28 30 30 30 29 2c | 20 52 41 44 28 32 37 30 |AD(000),| RAD(270|
|00001790| 29 2c 20 2d 30 2e 31 30 | 2c 20 20 30 2e 30 30 2c |), -0.10|, 0.00,|
|000017a0| 20 20 30 2e 30 30 2c 20 | 52 41 44 28 39 30 29 2c | 0.00, |RAD(90),|
|000017b0| 20 20 52 41 44 28 30 30 | 30 29 2c 20 52 41 44 28 | RAD(00|0), RAD(|
|000017c0| 30 30 30 29 2c 20 2d 30 | 2e 31 30 2c 20 20 30 2e |000), -0|.10, 0.|
|000017d0| 30 30 2c 20 20 66 61 6c | 73 65 2c 20 66 61 6c 73 |00, fal|se, fals|
|000017e0| 65 2c 20 66 61 6c 73 65 | 2c 20 20 20 2d 31 2c 20 |e, false|, -1, |
|000017f0| 20 30 7d 2c 09 2f 2f 20 | 59 31 0d 09 09 7b 09 22 | 0},.// |Y1...{."|
|00001800| 5c 70 22 2c 20 20 52 41 | 44 28 39 30 29 2c 20 20 |\p", RA|D(90), |
|00001810| 52 41 44 28 30 30 30 29 | 2c 20 52 41 44 28 32 37 |RAD(000)|, RAD(27|
|00001820| 30 29 2c 20 20 30 2e 32 | 35 2c 20 20 30 2e 30 30 |0), 0.2|5, 0.00|
|00001830| 2c 20 20 30 2e 30 30 2c | 20 52 41 44 28 39 30 29 |, 0.00,| RAD(90)|
|00001840| 2c 20 20 52 41 44 28 30 | 30 30 29 2c 20 52 41 44 |, RAD(0|00), RAD|
|00001850| 28 30 30 30 29 2c 20 20 | 30 2e 31 30 2c 20 20 30 |(000), |0.10, 0|
|00001860| 2e 30 30 2c 20 20 66 61 | 6c 73 65 2c 20 66 61 6c |.00, fa|lse, fal|
|00001870| 73 65 2c 20 66 61 6c 73 | 65 2c 20 20 20 20 31 2c |se, fals|e, 1,|
|00001880| 20 20 30 7d 2c 09 2f 2f | 20 59 32 0d 09 09 7b 09 | 0},.//| Y2...{.|
|00001890| 22 5c 70 22 2c 20 20 52 | 41 44 28 39 30 29 2c 20 |"\p", R|AD(90), |
|000018a0| 20 52 41 44 28 30 30 30 | 29 2c 20 52 41 44 28 32 | RAD(000|), RAD(2|
|000018b0| 37 30 29 2c 20 20 30 2e | 32 35 2c 20 20 30 2e 30 |70), 0.|25, 0.0|
|000018c0| 30 2c 20 20 30 2e 30 30 | 2c 20 52 41 44 28 39 30 |0, 0.00|, RAD(90|
|000018d0| 29 2c 20 20 52 41 44 28 | 30 30 30 29 2c 20 52 41 |), RAD(|000), RA|
|000018e0| 44 28 30 30 30 29 2c 20 | 20 30 2e 31 30 2c 20 20 |D(000), | 0.10, |
|000018f0| 30 2e 30 30 2c 20 20 66 | 61 6c 73 65 2c 20 66 61 |0.00, f|alse, fa|
|00001900| 6c 73 65 2c 20 66 61 6c | 73 65 2c 20 20 20 20 31 |lse, fal|se, 1|
|00001910| 2c 20 20 30 7d 2c 09 2f | 2f 20 59 33 0d 09 09 7b |, 0},./|/ Y3...{|
|00001920| 09 22 5c 70 22 2c 20 20 | 52 41 44 28 39 30 29 2c |."\p", |RAD(90),|
|00001930| 20 20 52 41 44 28 30 30 | 30 29 2c 20 52 41 44 28 | RAD(00|0), RAD(|
|00001940| 32 37 30 29 2c 20 2d 30 | 2e 31 30 2c 20 20 30 2e |270), -0|.10, 0.|
|00001950| 30 30 2c 20 20 30 2e 30 | 30 2c 20 52 41 44 28 39 |00, 0.0|0, RAD(9|
|00001960| 30 29 2c 20 20 52 41 44 | 28 30 30 30 29 2c 20 52 |0), RAD|(000), R|
|00001970| 41 44 28 30 30 30 29 2c | 20 2d 30 2e 31 30 2c 20 |AD(000),| -0.10, |
|00001980| 20 30 2e 30 30 2c 20 20 | 66 61 6c 73 65 2c 20 66 | 0.00, |false, f|
|00001990| 61 6c 73 65 2c 20 66 61 | 6c 73 65 2c 20 20 20 2d |alse, fa|lse, -|
|000019a0| 31 2c 20 20 30 7d 2c 09 | 2f 2f 20 59 34 0d 09 09 |1, 0},.|// Y4...|
|000019b0| 7b 09 22 5c 70 5a 22 2c | 20 52 41 44 28 30 30 30 |{."\pZ",| RAD(000|
|000019c0| 29 2c 20 52 41 44 28 30 | 30 30 29 2c 20 52 41 44 |), RAD(0|00), RAD|
|000019d0| 28 32 37 30 29 2c 20 20 | 30 2e 30 30 2c 20 20 30 |(270), |0.00, 0|
|000019e0| 2e 30 30 2c 20 20 31 2e | 31 35 2c 20 52 41 44 28 |.00, 1.|15, RAD(|
|000019f0| 30 30 29 2c 20 20 52 41 | 44 28 30 30 30 29 2c 20 |00), RA|D(000), |
|00001a00| 52 41 44 28 32 37 30 29 | 2c 20 20 30 2e 30 30 2c |RAD(270)|, 0.00,|
|00001a10| 20 2d 30 2e 31 30 2c 20 | 20 74 72 75 65 2c 20 20 | -0.10, | true, |
|00001a20| 66 61 6c 73 65 2c 20 66 | 61 6c 73 65 2c 20 20 20 |false, f|alse, |
|00001a30| 20 31 2c 20 20 30 7d 2c | 09 2f 2f 20 5a 0d 09 09 | 1, 0},|.// Z...|
|00001a40| 7b 09 22 5c 70 22 2c 20 | 20 52 41 44 28 31 38 30 |{."\p", | RAD(180|
|00001a50| 29 2c 20 52 41 44 28 39 | 30 29 2c 20 20 52 41 44 |), RAD(9|0), RAD|
|00001a60| 28 39 30 29 2c 20 20 20 | 30 2e 30 30 2c 20 2d 30 |(90), |0.00, -0|
|00001a70| 2e 31 30 2c 20 20 30 2e | 30 30 2c 20 52 41 44 28 |.10, 0.|00, RAD(|
|00001a80| 30 30 29 2c 20 20 52 41 | 44 28 30 30 30 29 2c 20 |00), RA|D(000), |
|00001a90| 52 41 44 28 32 37 30 29 | 2c 20 20 30 2e 30 30 2c |RAD(270)|, 0.00,|
|00001aa0| 20 2d 30 2e 31 30 2c 20 | 20 66 61 6c 73 65 2c 20 | -0.10, | false, |
|00001ab0| 66 61 6c 73 65 2c 20 66 | 61 6c 73 65 2c 20 20 20 |false, f|alse, |
|00001ac0| 20 31 2c 20 20 30 7d 2c | 09 2f 2f 20 5a 31 0d 09 | 1, 0},|.// Z1..|
|00001ad0| 09 7b 09 22 5c 70 22 2c | 20 20 52 41 44 28 31 38 |.{."\p",| RAD(18|
|00001ae0| 30 29 2c 20 52 41 44 28 | 39 30 29 2c 20 20 52 41 |0), RAD(|90), RA|
|00001af0| 44 28 39 30 29 2c 20 20 | 20 30 2e 30 30 2c 20 2d |D(90), | 0.00, -|
|00001b00| 30 2e 31 30 2c 20 20 30 | 2e 30 30 2c 20 52 41 44 |0.10, 0|.00, RAD|
|00001b10| 28 30 30 29 2c 20 20 52 | 41 44 28 30 30 30 29 2c |(00), R|AD(000),|
|00001b20| 20 52 41 44 28 32 37 30 | 29 2c 20 20 30 2e 30 30 | RAD(270|), 0.00|
|00001b30| 2c 20 2d 30 2e 31 30 2c | 20 20 66 61 6c 73 65 2c |, -0.10,| false,|
|00001b40| 20 66 61 6c 73 65 2c 20 | 66 61 6c 73 65 2c 20 20 | false, |false, |
|00001b50| 20 20 31 2c 20 20 30 7d | 2c 09 2f 2f 20 5a 32 0d | 1, 0}|,.// Z2.|
|00001b60| 09 09 7b 09 22 5c 70 22 | 2c 20 20 52 41 44 28 31 |..{."\p"|, RAD(1|
|00001b70| 38 30 29 2c 20 52 41 44 | 28 39 30 29 2c 20 20 52 |80), RAD|(90), R|
|00001b80| 41 44 28 39 30 29 2c 20 | 20 20 30 2e 30 30 2c 20 |AD(90), | 0.00, |
|00001b90| 20 30 2e 32 35 2c 20 20 | 30 2e 30 30 2c 20 52 41 | 0.25, |0.00, RA|
|00001ba0| 44 28 30 30 29 2c 20 20 | 52 41 44 28 30 30 30 29 |D(00), |RAD(000)|
|00001bb0| 2c 20 52 41 44 28 32 37 | 30 29 2c 20 20 30 2e 30 |, RAD(27|0), 0.0|
|00001bc0| 30 2c 20 20 30 2e 31 30 | 2c 20 20 66 61 6c 73 65 |0, 0.10|, false|
|00001bd0| 2c 20 66 61 6c 73 65 2c | 20 66 61 6c 73 65 2c 20 |, false,| false, |
|00001be0| 20 20 2d 31 2c 20 20 30 | 7d 2c 09 2f 2f 20 5a 33 | -1, 0|},.// Z3|
|00001bf0| 0d 09 09 7b 09 22 5c 70 | 22 2c 20 20 52 41 44 28 |...{."\p|", RAD(|
|00001c00| 31 38 30 29 2c 20 52 41 | 44 28 39 30 29 2c 20 20 |180), RA|D(90), |
|00001c10| 52 41 44 28 39 30 29 2c | 20 20 20 30 2e 30 30 2c |RAD(90),| 0.00,|
|00001c20| 20 20 30 2e 32 35 2c 20 | 20 30 2e 30 30 2c 20 52 | 0.25, | 0.00, R|
|00001c30| 41 44 28 30 30 29 2c 20 | 20 52 41 44 28 30 30 30 |AD(00), | RAD(000|
|00001c40| 29 2c 20 52 41 44 28 32 | 37 30 29 2c 20 20 30 2e |), RAD(2|70), 0.|
|00001c50| 30 30 2c 20 20 30 2e 31 | 30 2c 20 20 66 61 6c 73 |00, 0.1|0, fals|
|00001c60| 65 2c 20 66 61 6c 73 65 | 2c 20 66 61 6c 73 65 2c |e, false|, false,|
|00001c70| 20 20 20 2d 31 2c 20 20 | 30 7d 09 2f 2f 20 5a 34 | -1, |0}.// Z4|
|00001c80| 0d 09 7d 0d 7d 3b 09 0d | 0d 0d 23 64 65 66 69 6e |..}.};..|..#defin|
|00001c90| 65 20 73 74 79 6c 65 56 | 65 72 73 69 6f 6e 4e 72 |e styleV|ersionNr|
|00001ca0| 20 28 31 4c 29 09 09 09 | 09 09 09 2f 2a 20 74 68 | (1L)...|.../* th|
|00001cb0| 65 20 76 65 72 73 69 6f | 6e 20 6e 72 2c 20 73 74 |e versio|n nr, st|
|00001cc0| 6f 72 65 64 20 69 6e 20 | 73 74 79 6c 65 20 72 65 |ored in |style re|
|00001cd0| 73 6f 75 72 63 65 20 2a | 2f 0d 0d 74 79 70 65 64 |source *|/..typed|
|00001ce0| 65 66 20 73 74 72 75 63 | 74 0d 7b 0d 09 6c 6f 6e |ef struc|t.{..lon|
|00001cf0| 67 09 09 09 09 76 65 72 | 73 69 6f 6e 4e 72 3b 09 |g....ver|sionNr;.|
|00001d00| 09 09 09 2f 2f 20 74 68 | 65 20 76 65 72 73 69 6f |...// th|e versio|
|00001d10| 6e 20 6e 75 6d 62 65 72 | 2c 20 73 74 79 6c 65 56 |n number|, styleV|
|00001d20| 65 72 73 69 6f 6e 4e 72 | 0d 09 47 72 61 66 33 44 |ersionNr|..Graf3D|
|00001d30| 49 6e 66 6f 09 09 09 67 | 72 61 66 49 6e 66 6f 3b |Info...g|rafInfo;|
|00001d40| 0d 09 50 33 56 69 65 77 | 65 72 53 65 74 74 69 6e |..P3View|erSettin|
|00001d50| 67 73 09 76 69 65 77 65 | 72 53 65 74 74 69 6e 67 |gs.viewe|rSetting|
|00001d60| 73 3b 0d 7d 20 53 74 79 | 6c 65 49 6e 66 6f 3b 0d |s;.} Sty|leInfo;.|
|00001d70| 0d 0d 0d 73 74 61 74 69 | 63 20 54 51 33 47 72 6f |...stati|c TQ3Gro|
|00001d80| 75 70 4f 62 6a 65 63 74 | 09 09 73 75 72 66 61 63 |upObject|..surfac|
|00001d90| 65 3b 09 09 09 09 09 2f | 2f 20 74 68 65 20 73 75 |e;...../|/ the su|
|00001da0| 72 66 61 63 65 20 62 65 | 69 6e 67 20 70 6c 6f 74 |rface be|ing plot|
|00001db0| 74 65 64 0d 73 74 61 74 | 69 63 20 54 51 33 41 74 |ted.stat|ic TQ3At|
|00001dc0| 74 72 69 62 75 74 65 53 | 65 74 09 09 73 75 72 66 |tributeS|et..surf|
|00001dd0| 61 63 65 41 74 74 72 69 | 62 75 74 65 73 3b 09 09 |aceAttri|butes;..|
|00001de0| 09 09 2f 2f 20 74 68 65 | 20 61 74 74 72 69 62 75 |..// the| attribu|
|00001df0| 74 65 73 20 6f 66 20 74 | 68 65 20 73 75 72 66 61 |tes of t|he surfa|
|00001e00| 63 65 0d 73 74 61 74 69 | 63 20 54 51 33 53 74 79 |ce.stati|c TQ3Sty|
|00001e10| 6c 65 4f 62 6a 65 63 74 | 09 09 73 75 72 66 61 63 |leObject|..surfac|
|00001e20| 65 46 69 6c 6c 53 74 79 | 6c 65 3b 09 09 09 09 2f |eFillSty|le;..../|
|00001e30| 2f 20 77 68 65 74 68 65 | 72 20 64 72 61 77 6e 20 |/ whethe|r drawn |
|00001e40| 61 73 20 73 6f 6c 69 64 | 20 66 69 6c 6c 65 64 20 |as solid| filled |
|00001e50| 6f 62 6a 65 63 74 20 6f | 72 20 64 65 63 6f 6d 70 |object o|r decomp|
|00001e60| 6f 73 65 64 20 74 6f 20 | 63 6f 6d 70 6f 6e 65 6e |osed to |componen|
|00001e70| 74 73 0d 0d 74 79 70 65 | 64 65 66 20 54 51 33 47 |ts..type|def TQ3G|
|00001e80| 65 6f 6d 65 74 72 79 4f | 62 6a 65 63 74 20 28 2a |eometryO|bject (*|
|00001e90| 4d 61 6b 65 53 75 72 66 | 61 63 65 50 74 72 29 28 |MakeSurf|acePtr)(|
|00001ea0| 76 6f 69 64 29 3b 09 2f | 2f 20 70 72 6f 63 20 70 |void);./|/ proc p|
|00001eb0| 6f 69 6e 74 65 72 20 66 | 6f 72 20 72 6f 75 74 69 |ointer f|or routi|
|00001ec0| 6e 65 20 67 65 6e 65 72 | 61 74 69 6e 67 20 74 68 |ne gener|ating th|
|00001ed0| 65 20 6d 6f 64 65 6c 0d | 74 79 70 65 64 65 66 20 |e model.|typedef |
|00001ee0| 42 6f 6f 6c 65 61 6e 20 | 28 2a 50 6c 6f 74 44 69 |Boolean |(*PlotDi|
|00001ef0| 61 6c 6f 67 50 74 72 29 | 28 76 6f 69 64 29 3b 09 |alogPtr)|(void);.|
|00001f00| 09 09 09 2f 2f 20 70 72 | 6f 63 20 70 6f 69 6e 74 |...// pr|oc point|
|00001f10| 65 72 20 66 6f 72 20 72 | 6f 75 74 69 6e 65 20 73 |er for r|outine s|
|00001f20| 68 6f 77 69 6e 67 20 70 | 6c 6f 74 20 64 69 61 6c |howing p|lot dial|
|00001f30| 6f 67 0d 73 74 61 74 69 | 63 20 4d 61 6b 65 53 75 |og.stati|c MakeSu|
|00001f40| 72 66 61 63 65 50 74 72 | 20 6d 61 6b 65 53 75 72 |rfacePtr| makeSur|
|00001f50| 66 61 63 65 50 72 6f 63 | 73 5b 33 5d 20 3d 20 7b |faceProc|s[3] = {|
|00001f60| 26 4d 61 6b 65 53 75 72 | 66 61 63 65 46 75 6e 63 |&MakeSur|faceFunc|
|00001f70| 74 69 6f 6e 2c 20 26 4d | 61 6b 65 53 75 72 66 61 |tion, &M|akeSurfa|
|00001f80| 63 65 44 61 74 61 58 59 | 2c 20 26 4d 61 6b 65 53 |ceDataXY|, &MakeS|
|00001f90| 75 72 66 61 63 65 44 61 | 74 61 52 6f 77 43 6f 6c |urfaceDa|taRowCol|
|00001fa0| 7d 3b 0d 73 74 61 74 69 | 63 20 50 6c 6f 74 44 69 |};.stati|c PlotDi|
|00001fb0| 61 6c 6f 67 50 74 72 20 | 70 6c 6f 74 44 69 61 6c |alogPtr |plotDial|
|00001fc0| 6f 67 50 72 6f 63 73 5b | 33 5d 20 3d 20 7b 26 44 |ogProcs[|3] = {&D|
|00001fd0| 69 61 6c 6f 67 50 6c 6f | 74 46 75 6e 63 74 69 6f |ialogPlo|tFunctio|
|00001fe0| 6e 2c 20 26 44 69 61 6c | 6f 67 50 6c 6f 74 44 61 |n, &Dial|ogPlotDa|
|00001ff0| 74 61 58 59 2c 20 26 44 | 69 61 6c 6f 67 50 6c 6f |taXY, &D|ialogPlo|
|00002000| 74 44 61 74 61 52 6f 77 | 43 6f 6c 7d 3b 0d 0d 73 |tDataRow|Col};..s|
|00002010| 74 61 74 69 63 20 73 68 | 6f 72 74 20 63 75 72 72 |tatic sh|ort curr|
|00002020| 65 6e 74 53 75 72 66 61 | 63 65 54 79 70 65 3b 09 |entSurfa|ceType;.|
|00002030| 09 09 09 2f 2f 20 30 20 | 69 66 20 66 75 6e 63 74 |...// 0 |if funct|
|00002040| 69 6f 6e 2c 20 31 20 69 | 66 20 64 61 74 61 58 59 |ion, 1 i|f dataXY|
|00002050| 2c 20 32 20 69 66 20 64 | 61 74 61 52 6f 77 43 6f |, 2 if d|ataRowCo|
|00002060| 6c 0d 0d 73 74 61 74 69 | 63 20 42 6f 6f 6c 65 61 |l..stati|c Boolea|
|00002070| 6e 09 09 09 75 73 65 53 | 6f 6c 69 64 41 78 65 73 |n...useS|olidAxes|
|00002080| 20 3d 20 74 72 75 65 3b | 09 09 09 2f 2f 20 74 72 | = true;|...// tr|
|00002090| 75 65 20 69 66 20 77 65 | 20 73 68 6f 75 6c 64 20 |ue if we| should |
|000020a0| 75 73 65 20 73 6f 6c 69 | 64 20 61 78 65 73 0d 0d |use soli|d axes..|
|000020b0| 73 74 61 74 69 63 20 54 | 51 33 47 72 6f 75 70 4f |static T|Q3GroupO|
|000020c0| 62 6a 65 63 74 09 61 78 | 65 73 54 68 69 6e 3b 09 |bject.ax|esThin;.|
|000020d0| 09 09 09 2f 2f 20 74 68 | 65 20 61 78 69 73 20 6c |...// th|e axis l|
|000020e0| 69 6e 65 73 20 28 68 61 | 69 72 6c 69 6e 65 73 29 |ines (ha|irlines)|
|000020f0| 0d 73 74 61 74 69 63 20 | 54 51 33 47 72 6f 75 70 |.static |TQ3Group|
|00002100| 4f 62 6a 65 63 74 09 61 | 78 65 73 53 6f 6c 69 64 |Object.a|xesSolid|
|00002110| 3b 09 09 09 09 2f 2f 20 | 74 68 65 20 61 78 69 73 |;....// |the axis|
|00002120| 20 6c 69 6e 65 73 20 28 | 73 6f 6c 69 64 20 6c 69 | lines (|solid li|
|00002130| 6e 65 73 20 77 69 74 68 | 20 74 68 69 63 6b 6e 65 |nes with| thickne|
|00002140| 73 73 20 22 61 78 69 73 | 54 68 69 63 6b 6e 65 73 |ss "axis|Thicknes|
|00002150| 73 22 0d 73 74 61 74 69 | 63 20 54 51 33 47 72 6f |s".stati|c TQ3Gro|
|00002160| 75 70 4f 62 6a 65 63 74 | 09 6c 61 62 65 6c 73 3b |upObject|.labels;|
|00002170| 09 09 09 09 09 2f 2f 20 | 74 68 65 20 6c 61 62 65 |.....// |the labe|
|00002180| 6c 73 0d 73 74 61 74 69 | 63 20 54 51 33 47 72 6f |ls.stati|c TQ3Gro|
|00002190| 75 70 4f 62 6a 65 63 74 | 09 6d 6f 64 65 6c 3b 09 |upObject|.model;.|
|000021a0| 09 09 09 09 2f 2f 20 74 | 68 65 20 6f 62 6a 65 63 |....// t|he objec|
|000021b0| 74 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 6f 6e 65 |t contai|ning one|
|000021c0| 20 6f 72 20 6d 6f 72 65 | 20 6f 66 20 74 68 65 20 | or more| of the |
|000021d0| 61 62 6f 76 65 20 67 72 | 6f 75 70 73 0d 0d 0d 73 |above gr|oups...s|
|000021e0| 74 61 74 69 63 20 54 51 | 33 41 74 74 72 69 62 75 |tatic TQ|3Attribu|
|000021f0| 74 65 53 65 74 09 61 78 | 65 73 41 74 74 72 69 62 |teSet.ax|esAttrib|
|00002200| 75 74 65 73 3b 09 09 09 | 2f 2f 20 74 68 65 20 61 |utes;...|// the a|
|00002210| 74 74 72 69 62 75 74 65 | 73 20 6f 66 20 74 68 65 |ttribute|s of the|
|00002220| 20 61 78 65 73 0d 73 74 | 61 74 69 63 20 54 51 33 | axes.st|atic TQ3|
|00002230| 41 74 74 72 69 62 75 74 | 65 53 65 74 09 6c 61 62 |Attribut|eSet.lab|
|00002240| 65 6c 73 41 74 74 72 69 | 62 75 74 65 73 3b 09 09 |elsAttri|butes;..|
|00002250| 2f 2f 20 74 68 65 20 61 | 74 74 72 69 62 75 74 65 |// the a|ttribute|
|00002260| 73 20 6f 66 20 74 68 65 | 20 61 78 65 73 0d 0d 73 |s of the| axes..s|
|00002270| 74 61 74 69 63 20 54 51 | 33 53 74 79 6c 65 4f 62 |tatic TQ|3StyleOb|
|00002280| 6a 65 63 74 09 62 61 63 | 6b 66 61 63 69 6e 67 53 |ject.bac|kfacingS|
|00002290| 74 79 6c 65 3b 09 09 2f | 2f 20 74 68 65 20 62 61 |tyle;../|/ the ba|
|000022a0| 63 6b 66 61 63 69 6e 67 | 20 73 74 79 6c 65 20 6f |ckfacing| style o|
|000022b0| 66 20 74 68 65 20 77 68 | 6f 6c 65 20 6d 6f 64 65 |f the wh|ole mode|
|000022c0| 6c 0d 0d 73 74 61 74 69 | 63 20 50 33 56 69 65 77 |l..stati|c P3View|
|000022d0| 65 72 44 61 74 61 2a 09 | 76 69 65 77 65 72 3d 4e |erData*.|viewer=N|
|000022e0| 55 4c 4c 3b 0d 0d 0d 73 | 74 61 74 69 63 20 52 65 |ULL;...s|tatic Re|
|000022f0| 63 74 09 09 09 09 6d 61 | 69 6e 57 69 6e 64 6f 77 |ct....ma|inWindow|
|00002300| 52 65 63 74 20 3d 20 7b | 30 2c 30 2c 30 2c 30 7d |Rect = {|0,0,0,0}|
|00002310| 3b 09 09 09 09 09 2f 2f | 20 64 65 66 61 75 6c 74 |;.....//| default|
|00002320| 20 70 6f 73 69 74 69 6f | 6e 20 6f 66 20 77 69 6e | positio|n of win|
|00002330| 64 6f 77 73 0d 0d 0d 73 | 74 61 74 69 63 20 43 6f |dows...s|tatic Co|
|00002340| 6e 74 72 6f 6c 48 61 6e | 64 6c 65 09 66 69 6c 6c |ntrolHan|dle.fill|
|00002350| 53 74 79 6c 65 43 74 6c | 3b 0d 73 74 61 74 69 63 |StyleCtl|;.static|
|00002360| 20 43 6f 6e 74 72 6f 6c | 48 61 6e 64 6c 65 09 73 | Control|Handle.s|
|00002370| 68 6f 77 53 75 72 66 61 | 63 65 43 74 6c 3b 0d 73 |howSurfa|ceCtl;.s|
|00002380| 74 61 74 69 63 20 43 6f | 6e 74 72 6f 6c 48 61 6e |tatic Co|ntrolHan|
|00002390| 64 6c 65 09 73 68 6f 77 | 4c 61 62 65 6c 73 43 74 |dle.show|LabelsCt|
|000023a0| 6c 3b 0d 73 74 61 74 69 | 63 20 43 6f 6e 74 72 6f |l;.stati|c Contro|
|000023b0| 6c 48 61 6e 64 6c 65 09 | 73 68 6f 77 41 78 65 73 |lHandle.|showAxes|
|000023c0| 43 74 6c 3b 0d 73 74 61 | 74 69 63 20 43 6f 6e 74 |Ctl;.sta|tic Cont|
|000023d0| 72 6f 6c 48 61 6e 64 6c | 65 09 73 75 72 66 61 63 |rolHandl|e.surfac|
|000023e0| 65 43 6f 6c 6f 72 43 74 | 6c 3b 0d 73 74 61 74 69 |eColorCt|l;.stati|
|000023f0| 63 20 43 6f 6e 74 72 6f | 6c 48 61 6e 64 6c 65 09 |c Contro|lHandle.|
|00002400| 61 78 65 73 43 6f 6c 6f | 72 43 74 6c 3b 0d 73 74 |axesColo|rCtl;.st|
|00002410| 61 74 69 63 20 43 6f 6e | 74 72 6f 6c 48 61 6e 64 |atic Con|trolHand|
|00002420| 6c 65 09 6c 61 62 65 6c | 73 43 6f 6c 6f 72 43 74 |le.label|sColorCt|
|00002430| 6c 3b 0d 0d 73 74 61 74 | 69 63 20 43 6f 6e 74 72 |l;..stat|ic Contr|
|00002440| 6f 6c 48 61 6e 64 6c 65 | 09 64 6f 6e 65 43 74 6c |olHandle|.doneCtl|
|00002450| 3b 0d 73 74 61 74 69 63 | 20 43 6f 6e 74 72 6f 6c |;.static| Control|
|00002460| 48 61 6e 64 6c 65 09 63 | 61 6e 63 65 6c 43 74 6c |Handle.c|ancelCtl|
|00002470| 3b 0d 0d 0d 73 74 61 74 | 69 63 20 42 6f 6f 6c 65 |;...stat|ic Boole|
|00002480| 61 6e 09 09 09 73 61 76 | 65 64 3b 09 09 09 09 09 |an...sav|ed;.....|
|00002490| 2f 2f 20 74 72 75 65 20 | 69 66 20 77 65 20 73 75 |// true |if we su|
|000024a0| 63 63 65 73 73 66 75 6c | 6c 79 20 68 61 76 65 20 |ccessful|ly have |
|000024b0| 73 61 76 65 64 20 74 68 | 69 73 20 66 69 6c 65 0d |saved th|is file.|
|000024c0| 73 74 61 74 69 63 20 46 | 53 53 70 65 63 09 09 09 |static F|SSpec...|
|000024d0| 64 65 66 61 75 6c 74 46 | 69 6c 65 3b 09 09 09 2f |defaultF|ile;.../|
|000024e0| 2f 20 69 66 20 73 61 76 | 65 64 20 69 73 20 74 72 |/ if sav|ed is tr|
|000024f0| 75 65 3a 20 74 68 65 20 | 66 69 6c 65 20 77 68 65 |ue: the |file whe|
|00002500| 72 65 20 77 65 20 73 61 | 76 65 64 20 69 74 0d 0d |re we sa|ved it..|
|00002510| 73 74 61 74 69 63 20 57 | 69 6e 64 6f 77 50 74 72 |static W|indowPtr|
|00002520| 09 09 67 4d 61 69 6e 57 | 69 6e 64 6f 77 3b 0d 0d |..gMainW|indow;..|
|00002530| 73 74 61 74 69 63 20 4d | 65 6e 75 48 61 6e 64 6c |static M|enuHandl|
|00002540| 65 09 09 66 69 6c 65 4d | 65 6e 75 3b 09 09 09 09 |e..fileM|enu;....|
|00002550| 2f 2f 20 6f 75 72 20 66 | 69 6c 65 20 6d 65 6e 75 |// our f|ile menu|
|00002560| 20 28 6e 69 6c 20 69 66 | 20 77 65 20 63 6f 75 6c | (nil if| we coul|
|00002570| 64 20 6e 6f 74 20 70 75 | 74 20 69 74 20 69 6e 74 |d not pu|t it int|
|00002580| 6f 20 6d 65 6e 75 29 0d | 73 74 61 74 69 63 20 4d |o menu).|static M|
|00002590| 65 6e 75 48 61 6e 64 6c | 65 09 09 65 64 69 74 4d |enuHandl|e..editM|
|000025a0| 65 6e 75 3b 09 09 09 09 | 2f 2f 20 6f 75 72 20 65 |enu;....|// our e|
|000025b0| 64 69 74 20 6d 65 6e 75 | 20 28 6e 69 6c 20 69 66 |dit menu| (nil if|
|000025c0| 20 77 65 20 63 6f 75 6c | 64 20 6e 6f 74 20 70 75 | we coul|d not pu|
|000025d0| 74 20 69 74 20 69 6e 74 | 6f 20 6d 65 6e 75 29 0d |t it int|o menu).|
|000025e0| 73 74 61 74 69 63 20 4d | 65 6e 75 48 61 6e 64 6c |static M|enuHandl|
|000025f0| 65 09 09 64 65 6c 65 74 | 65 53 74 79 6c 65 4d 65 |e..delet|eStyleMe|
|00002600| 6e 75 3b 09 09 2f 2f 20 | 74 68 65 20 73 74 79 6c |nu;..// |the styl|
|00002610| 65 20 73 75 62 2d 6d 65 | 6e 75 20 28 6e 69 6c 20 |e sub-me|nu (nil |
|00002620| 69 66 20 77 65 20 63 6f | 75 6c 64 20 6e 6f 74 20 |if we co|uld not |
|00002630| 70 75 74 20 69 74 20 69 | 6e 74 6f 20 6d 65 6e 75 |put it i|nto menu|
|00002640| 29 0d 73 74 61 74 69 63 | 20 4d 65 6e 75 48 61 6e |).static| MenuHan|
|00002650| 64 6c 65 09 09 6c 6f 61 | 64 53 74 79 6c 65 4d 65 |dle..loa|dStyleMe|
|00002660| 6e 75 3b 09 09 09 2f 2f | 20 74 68 65 20 73 74 79 |nu;...//| the sty|
|00002670| 6c 65 20 73 75 62 2d 6d | 65 6e 75 20 28 6e 69 6c |le sub-m|enu (nil|
|00002680| 20 69 66 20 77 65 20 63 | 6f 75 6c 64 20 6e 6f 74 | if we c|ould not|
|00002690| 20 70 75 74 20 69 74 20 | 69 6e 74 6f 20 6d 65 6e | put it |into men|
|000026a0| 75 29 0d 0d 2f 2f 20 73 | 6f 6d 65 20 6d 65 6e 75 |u)..// s|ome menu|
|000026b0| 49 44 27 73 20 6f 66 20 | 70 72 6f 20 46 69 74 27 |ID's of |pro Fit'|
|000026c0| 73 20 6d 65 6e 75 0d 65 | 6e 75 6d 0d 09 7b 09 66 |s menu.e|num..{.f|
|000026d0| 69 6c 65 4d 65 6e 75 49 | 44 20 3d 20 31 32 39 2c |ileMenuI|D = 129,|
|000026e0| 0d 09 09 65 64 69 74 4d | 65 6e 75 49 44 20 3d 20 |...editM|enuID = |
|000026f0| 31 33 30 2c 0d 09 09 6c | 6f 61 64 53 74 79 6c 65 |130,...l|oadStyle|
|00002700| 4d 65 6e 75 49 44 20 3d | 20 32 35 35 2c 0d 09 09 |MenuID =| 255,...|
|00002710| 64 65 6c 65 74 65 53 74 | 79 6c 65 4d 65 6e 75 49 |deleteSt|yleMenuI|
|00002720| 44 20 3d 20 32 35 34 2c | 0d 09 09 0d 09 09 0d 09 |D = 254,|........|
|00002730| 09 73 61 76 65 49 74 65 | 6d 4e 72 20 3d 20 31 2c |.saveIte|mNr = 1,|
|00002740| 09 09 09 09 09 2f 2f 20 | 74 68 65 20 65 6e 74 72 |.....// |the entr|
|00002750| 69 65 73 20 69 6e 20 74 | 68 65 20 66 69 6c 65 20 |ies in t|he file |
|00002760| 6d 65 6e 75 0d 09 09 73 | 61 76 65 41 73 49 74 65 |menu...s|aveAsIte|
|00002770| 6d 4e 72 2c 0d 09 73 65 | 70 61 72 61 74 6f 72 30 |mNr,..se|parator0|
|00002780| 49 74 65 6d 2c 0d 09 09 | 73 61 76 65 53 74 79 6c |Item,...|saveStyl|
|00002790| 65 49 74 65 6d 4e 72 2c | 0d 09 09 6c 6f 61 64 53 |eItemNr,|...loadS|
|000027a0| 74 79 6c 65 49 74 65 6d | 4e 72 2c 0d 09 09 64 65 |tyleItem|Nr,...de|
|000027b0| 6c 65 74 65 53 74 79 6c | 65 49 74 65 6d 4e 72 2c |leteStyl|eItemNr,|
|000027c0| 0d 0d 09 09 75 6e 64 6f | 49 74 65 6d 4e 72 20 3d |....undo|ItemNr =|
|000027d0| 20 31 2c 0d 09 73 65 70 | 61 72 61 74 6f 72 31 49 | 1,..sep|arator1I|
|000027e0| 74 65 6d 2c 0d 09 09 63 | 75 74 49 74 65 6d 4e 72 |tem,...c|utItemNr|
|000027f0| 2c 09 09 09 09 09 09 2f | 2f 20 74 68 65 20 65 6e |,....../|/ the en|
|00002800| 74 72 69 65 73 20 69 6e | 20 74 68 65 20 65 64 69 |tries in| the edi|
|00002810| 74 20 6d 65 6e 75 0d 09 | 09 63 6f 70 79 49 74 65 |t menu..|.copyIte|
|00002820| 6d 4e 72 2c 0d 09 09 70 | 61 73 74 65 49 74 65 6d |mNr,...p|asteItem|
|00002830| 4e 72 2c 0d 09 09 63 6c | 65 61 72 49 74 65 6d 4e |Nr,...cl|earItemN|
|00002840| 72 2c 0d 09 73 65 70 61 | 72 61 74 6f 72 32 49 74 |r,..sepa|rator2It|
|00002850| 65 6d 2c 0d 09 09 70 6c | 6f 74 46 75 6e 63 74 69 |em,...pl|otFuncti|
|00002860| 6f 6e 49 74 65 6d 4e 72 | 2c 0d 09 09 70 6c 6f 74 |onItemNr|,...plot|
|00002870| 44 61 74 61 58 59 49 74 | 65 6d 4e 72 2c 0d 09 09 |DataXYIt|emNr,...|
|00002880| 70 6c 6f 74 44 61 74 61 | 52 6f 77 43 6f 6c 49 74 |plotData|RowColIt|
|00002890| 65 6d 4e 72 2c 0d 09 20 | 73 65 70 61 72 61 74 6f |emNr,.. |separato|
|000028a0| 72 33 49 74 65 6d 2c 0d | 09 09 61 78 69 73 4f 70 |r3Item,.|..axisOp|
|000028b0| 74 69 6f 6e 73 49 74 65 | 6d 4e 72 2c 0d 09 09 6c |tionsIte|mNr,...l|
|000028c0| 69 6e 65 73 49 74 65 6d | 4e 72 2c 0d 09 09 63 61 |inesItem|Nr,...ca|
|000028d0| 6d 65 72 61 41 6e 64 49 | 6c 6c 75 6d 4e 72 2c 0d |meraAndI|llumNr,.|
|000028e0| 09 20 73 65 70 61 72 61 | 74 6f 72 34 49 74 65 6d |. separa|tor4Item|
|000028f0| 2c 0d 09 09 70 69 63 74 | 4f 70 74 69 6f 6e 73 49 |,...pict|OptionsI|
|00002900| 74 65 6d 4e 72 0d 0d 09 | 7d 3b 0d 0d 23 64 65 66 |temNr...|};..#def|
|00002910| 69 6e 65 20 73 74 79 6c | 65 52 65 73 54 79 70 65 |ine styl|eResType|
|00002920| 20 27 53 74 33 44 27 09 | 09 09 09 2f 2a 20 72 65 | 'St3D'.|.../* re|
|00002930| 73 20 74 79 70 65 20 6f | 66 20 73 74 79 6c 65 20 |s type o|f style |
|00002940| 72 65 73 6f 75 72 63 65 | 20 2a 2f 0d 23 64 65 66 |resource| */.#def|
|00002950| 69 6e 65 20 70 69 63 4f | 70 74 69 6f 6e 73 52 65 |ine picO|ptionsRe|
|00002960| 73 54 79 70 65 20 27 50 | 63 33 44 27 09 09 2f 2a |sType 'P|c3D'../*|
|00002970| 20 70 69 63 20 6f 70 74 | 69 6f 6e 73 20 72 65 73 | pic opt|ions res|
|00002980| 6f 75 72 63 65 20 74 79 | 70 65 20 2a 2f 0d 0d 73 |ource ty|pe */..s|
|00002990| 74 61 74 69 63 20 63 6f | 6e 73 74 20 73 74 72 75 |tatic co|nst stru|
|000029a0| 63 74 20 43 75 72 76 65 | 53 74 79 6c 65 49 6e 66 |ct Curve|StyleInf|
|000029b0| 6f 09 09 2f 2f 20 61 72 | 72 61 79 20 6f 66 20 69 |o..// ar|ray of i|
|000029c0| 6e 66 6f 20 66 6f 72 20 | 65 61 63 68 20 69 74 65 |nfo for |each ite|
|000029d0| 6d 20 6f 66 20 74 68 65 | 20 73 74 79 6c 65 20 70 |m of the| style p|
|000029e0| 6f 70 75 70 0d 7b 09 54 | 51 33 46 69 6c 6c 53 74 |opup.{.T|Q3FillSt|
|000029f0| 79 6c 65 09 66 69 6c 6c | 53 74 79 6c 65 3b 09 09 |yle.fill|Style;..|
|00002a00| 09 2f 2f 20 66 69 6c 6c | 20 73 74 79 6c 65 20 74 |.// fill| style t|
|00002a10| 6f 20 62 65 20 75 73 65 | 64 20 62 79 20 73 75 72 |o be use|d by sur|
|00002a20| 66 61 63 65 0d 09 54 51 | 33 4f 62 6a 65 63 74 54 |face..TQ|3ObjectT|
|00002a30| 79 70 65 09 72 65 6e 64 | 65 72 65 72 3b 09 09 09 |ype.rend|erer;...|
|00002a40| 2f 2f 20 72 65 6e 64 65 | 72 65 72 20 74 6f 20 62 |// rende|rer to b|
|00002a50| 65 20 75 73 65 64 20 62 | 79 20 76 69 65 77 0d 09 |e used b|y view..|
|00002a60| 73 68 6f 72 74 09 09 09 | 73 68 61 64 65 72 3b 09 |short...|shader;.|
|00002a70| 09 09 09 2f 2f 20 30 3a | 20 70 68 6f 6e 67 20 73 |...// 0:| phong s|
|00002a80| 68 61 64 65 72 2c 20 31 | 3a 20 6c 61 6d 62 65 72 |hader, 1|: lamber|
|00002a90| 74 2c 20 32 3a 20 6e 75 | 6c 6c 0d 7d 20 73 74 79 |t, 2: nu|ll.} sty|
|00002aa0| 6c 65 49 6e 66 6f 5b 5d | 20 3d 0d 0d 09 2f 2f 20 |leInfo[]| =...// |
|00002ab0| 20 66 69 6c 6c 53 74 79 | 6c 65 3a 09 09 09 72 65 | fillSty|le:...re|
|00002ac0| 6e 64 65 72 65 72 3a 09 | 09 09 09 09 73 68 61 64 |nderer:.|....shad|
|00002ad0| 65 72 3a 0d 7b 09 7b 6b | 51 33 46 69 6c 6c 53 74 |er:.{.{k|Q3FillSt|
|00002ae0| 79 6c 65 46 69 6c 6c 65 | 64 2c 09 6b 51 33 52 65 |yleFille|d,.kQ3Re|
|00002af0| 6e 64 65 72 65 72 54 79 | 70 65 49 6e 74 65 72 61 |ndererTy|peIntera|
|00002b00| 63 74 69 76 65 2c 09 30 | 7d 2c 09 2f 2f 20 6d 65 |ctive,.0|},.// me|
|00002b10| 74 61 6c 0d 09 7b 6b 51 | 33 46 69 6c 6c 53 74 79 |tal..{kQ|3FillSty|
|00002b20| 6c 65 46 69 6c 6c 65 64 | 2c 09 6b 51 33 52 65 6e |leFilled|,.kQ3Ren|
|00002b30| 64 65 72 65 72 54 79 70 | 65 49 6e 74 65 72 61 63 |dererTyp|eInterac|
|00002b40| 74 69 76 65 2c 09 31 7d | 2c 09 2f 2f 20 6e 6f 72 |tive,.1}|,.// nor|
|00002b50| 6d 61 6c 0d 09 7b 6b 51 | 33 46 69 6c 6c 53 74 79 |mal..{kQ|3FillSty|
|00002b60| 6c 65 46 69 6c 6c 65 64 | 2c 09 6b 51 33 52 65 6e |leFilled|,.kQ3Ren|
|00002b70| 64 65 72 65 72 54 79 70 | 65 49 6e 74 65 72 61 63 |dererTyp|eInterac|
|00002b80| 74 69 76 65 2c 09 32 7d | 2c 09 2f 2f 20 62 61 73 |tive,.2}|,.// bas|
|00002b90| 69 63 0d 09 7b 6b 51 33 | 46 69 6c 6c 53 74 79 6c |ic..{kQ3|FillStyl|
|00002ba0| 65 45 64 67 65 73 2c 09 | 09 6b 51 33 52 65 6e 64 |eEdges,.|.kQ3Rend|
|00002bb0| 65 72 65 72 54 79 70 65 | 49 6e 74 65 72 61 63 74 |ererType|Interact|
|00002bc0| 69 76 65 2c 09 30 7d 2c | 09 2f 2f 20 6d 65 74 61 |ive,.0},|.// meta|
|00002bd0| 6c 6c 69 63 20 77 69 72 | 65 0d 09 7b 6b 51 33 46 |llic wir|e..{kQ3F|
|00002be0| 69 6c 6c 53 74 79 6c 65 | 45 64 67 65 73 2c 09 09 |illStyle|Edges,..|
|00002bf0| 6b 51 33 52 65 6e 64 65 | 72 65 72 54 79 70 65 57 |kQ3Rende|rerTypeW|
|00002c00| 69 72 65 46 72 61 6d 65 | 2c 09 31 7d 2c 09 2f 2f |ireFrame|,.1},.//|
|00002c10| 20 77 69 72 65 66 72 61 | 6d 65 0d 09 7b 6b 51 33 | wirefra|me..{kQ3|
|00002c20| 46 69 6c 6c 53 74 79 6c | 65 50 6f 69 6e 74 73 2c |FillStyl|ePoints,|
|00002c30| 09 6b 51 33 52 65 6e 64 | 65 72 65 72 54 79 70 65 |.kQ3Rend|ererType|
|00002c40| 49 6e 74 65 72 61 63 74 | 69 76 65 2c 09 31 7d 2c |Interact|ive,.1},|
|00002c50| 09 2f 2f 20 70 6f 69 6e | 74 73 0d 7d 3b 0d 0d 0d |.// poin|ts.};...|
|00002c60| 73 74 61 74 69 63 20 63 | 6f 6e 73 74 20 52 47 42 |static c|onst RGB|
|00002c70| 43 6f 6c 6f 72 20 64 65 | 66 61 75 6c 74 43 6f 6c |Color de|faultCol|
|00002c80| 6f 72 5b 39 5d 20 3d 09 | 09 09 2f 2f 20 74 68 65 |or[9] =.|..// the|
|00002c90| 20 73 74 61 6e 64 61 72 | 64 20 63 6f 6c 6f 72 73 | standar|d colors|
|00002ca0| 0d 7b 09 7b 20 30 78 30 | 30 30 30 2c 20 30 78 30 |.{.{ 0x0|000, 0x0|
|00002cb0| 30 30 30 2c 20 30 78 30 | 30 30 30 20 7d 2c 09 2f |000, 0x0|000 },./|
|00002cc0| 2f 20 62 6c 61 63 6b 0d | 09 7b 20 30 78 46 46 46 |/ black.|.{ 0xFFF|
|00002cd0| 46 2c 20 30 78 46 46 46 | 46 2c 20 30 78 46 46 46 |F, 0xFFF|F, 0xFFF|
|00002ce0| 46 20 7d 2c 09 2f 2f 20 | 77 68 69 74 65 0d 09 7b |F },.// |white..{|
|00002cf0| 20 30 78 44 44 36 42 2c | 20 30 78 30 38 43 32 2c | 0xDD6B,| 0x08C2,|
|00002d00| 20 30 78 30 36 41 32 20 | 7d 2c 09 2f 2f 20 72 65 | 0x06A2 |},.// re|
|00002d10| 64 0d 09 7b 20 30 78 30 | 30 30 30 2c 20 30 78 30 |d..{ 0x0|000, 0x0|
|00002d20| 30 30 30 2c 20 30 78 44 | 34 30 30 20 7d 2c 09 2f |000, 0xD|400 },./|
|00002d30| 2f 20 62 6c 75 65 0d 09 | 7b 20 30 78 30 30 30 30 |/ blue..|{ 0x0000|
|00002d40| 2c 20 30 78 38 30 30 30 | 2c 20 30 78 31 31 42 30 |, 0x8000|, 0x11B0|
|00002d50| 20 7d 2c 09 2f 2f 20 67 | 72 65 65 6e 0d 09 7b 20 | },.// g|reen..{ |
|00002d60| 30 78 30 32 34 31 2c 20 | 30 78 41 42 35 34 2c 20 |0x0241, |0xAB54, |
|00002d70| 30 78 45 41 46 46 20 7d | 2c 09 2f 2f 20 63 79 61 |0xEAFF }|,.// cya|
|00002d80| 6e 0d 09 7b 20 30 78 46 | 32 44 37 2c 20 30 78 30 |n..{ 0xF|2D7, 0x0|
|00002d90| 38 35 36 2c 20 30 78 38 | 34 45 43 20 7d 2c 09 2f |856, 0x8|4EC },./|
|00002da0| 2f 20 6d 61 67 65 6e 74 | 61 0d 09 7b 20 30 78 46 |/ magent|a..{ 0xF|
|00002db0| 43 30 30 2c 20 30 78 46 | 33 37 44 2c 20 30 78 30 |C00, 0xF|37D, 0x0|
|00002dc0| 35 32 46 20 7d 2c 09 2f | 2f 20 79 65 6c 6c 6f 77 |52F },./|/ yellow|
|00002dd0| 0d 09 7b 20 30 78 38 30 | 30 30 2c 20 30 78 38 30 |..{ 0x80|00, 0x80|
|00002de0| 30 30 2c 20 30 78 38 30 | 30 30 20 7d 09 2f 2f 20 |00, 0x80|00 }.// |
|00002df0| 67 72 61 79 0d 7d 3b 0d | 0d 0d 73 74 61 74 69 63 |gray.};.|..static|
|00002e00| 20 4f 6e 65 53 63 61 6c | 65 09 73 63 61 6c 69 6e | OneScal|e.scalin|
|00002e10| 67 5b 33 5d 3b 09 09 09 | 09 09 09 09 2f 2f 20 30 |g[3];...|....// 0|
|00002e20| 3a 20 73 63 61 6c 69 6e | 67 20 66 6f 72 20 78 2c |: scalin|g for x,|
|00002e30| 20 31 3a 20 73 63 61 6c | 69 6e 67 20 66 6f 72 20 | 1: scal|ing for |
|00002e40| 79 2c 20 2e 2e 2e 2e 0d | 0d 0d 65 6e 75 6d 20 7b |y, .....|..enum {|
|00002e50| 0d 09 09 6c 65 66 74 4d | 61 72 67 20 3d 20 31 30 |...leftM|arg = 10|
|00002e60| 2c 09 09 09 09 09 09 09 | 09 2f 2f 20 74 68 65 20 |,.......|.// the |
|00002e70| 77 68 69 74 65 20 6d 61 | 72 69 6e 67 73 20 6f 66 |white ma|rings of|
|00002e80| 20 74 68 65 20 6d 61 69 | 6e 20 77 69 6e 64 6f 77 | the mai|n window|
|00002e90| 0d 09 09 74 6f 70 4d 61 | 72 67 20 3d 20 31 30 2c |...topMa|rg = 10,|
|00002ea0| 0d 09 09 62 6f 74 74 6f | 6d 4d 61 72 67 20 3d 20 |...botto|mMarg = |
|00002eb0| 31 30 2c 0d 09 09 72 69 | 67 68 74 4d 61 72 67 20 |10,...ri|ghtMarg |
|00002ec0| 3d 20 31 30 2c 0d 09 09 | 0d 09 09 63 65 6e 74 72 |= 10,...|...centr|
|00002ed0| 61 6c 4d 61 72 67 20 3d | 20 31 30 2c 09 09 09 09 |alMarg =| 10,....|
|00002ee0| 09 09 09 2f 2f 20 6d 61 | 72 67 69 6e 20 62 65 74 |...// ma|rgin bet|
|00002ef0| 77 65 65 6e 20 63 6f 6e | 74 72 6f 6c 73 20 61 6e |ween con|trols an|
|00002f00| 64 20 76 69 65 77 0d 09 | 09 0d 09 09 76 69 65 77 |d view..|....view|
|00002f10| 65 72 57 69 64 74 68 20 | 3d 20 32 30 30 2c 09 09 |erWidth |= 200,..|
|00002f20| 09 09 09 09 09 2f 2f 20 | 6d 69 6e 20 76 69 65 77 |.....// |min view|
|00002f30| 65 72 20 73 69 7a 65 20 | 28 69 6e 63 6c 75 64 69 |er size |(includi|
|00002f40| 6e 67 20 69 74 73 20 62 | 75 74 74 6f 6e 73 29 0d |ng its b|uttons).|
|00002f50| 09 09 76 69 65 77 65 72 | 48 65 69 67 68 74 20 3d |..viewer|Height =|
|00002f60| 20 32 34 35 2c 0d 0d 09 | 09 63 6f 6e 74 72 6f 6c | 245,...|.control|
|00002f70| 57 69 64 74 68 20 3d 20 | 31 37 30 2c 09 09 09 09 |Width = |170,....|
|00002f80| 09 09 09 09 09 09 2f 2f | 20 77 69 64 74 68 2f 68 |......//| width/h|
|00002f90| 65 69 67 68 74 20 6f 66 | 20 63 6f 6e 74 72 6f 6c |eight of| control|
|00002fa0| 20 61 72 65 61 0d 09 09 | 63 6f 6e 74 72 6f 6c 48 | area...|controlH|
|00002fb0| 65 69 67 68 74 20 3d 20 | 31 38 30 2c 0d 0d 09 09 |eight = |180,....|
|00002fc0| 66 69 6c 6c 50 6f 70 75 | 70 57 69 64 74 68 20 3d |fillPopu|pWidth =|
|00002fd0| 20 63 6f 6e 74 72 6f 6c | 57 69 64 74 68 2d 72 69 | control|Width-ri|
|00002fe0| 67 68 74 4d 61 72 67 2d | 63 65 6e 74 72 61 6c 4d |ghtMarg-|centralM|
|00002ff0| 61 72 67 2c 09 2f 2f 20 | 77 69 64 74 68 20 6f 66 |arg,.// |width of|
|00003000| 20 70 6f 70 75 70 20 22 | 66 69 6c 6c 20 73 74 79 | popup "|fill sty|
|00003010| 6c 65 22 0d 09 09 66 69 | 6c 6c 50 6f 70 75 70 4c |le"...fi|llPopupL|
|00003020| 65 66 74 20 3d 20 30 2c | 09 09 09 09 09 09 09 09 |eft = 0,|........|
|00003030| 09 09 2f 2f 20 6c 65 66 | 74 20 6f 66 20 70 6f 70 |..// lef|t of pop|
|00003040| 75 70 20 28 72 65 6c 61 | 74 69 76 65 20 74 6f 20 |up (rela|tive to |
|00003050| 63 6f 6e 74 72 6f 6c 20 | 6d 61 72 67 69 6e 29 0d |control |margin).|
|00003060| 09 09 66 69 6c 6c 50 6f | 70 75 70 54 6f 70 20 3d |..fillPo|pupTop =|
|00003070| 20 74 6f 70 4d 61 72 67 | 2b 32 2c 09 09 09 09 09 | topMarg|+2,.....|
|00003080| 09 09 09 2f 2f 20 74 6f | 70 20 6f 66 20 70 6f 70 |...// to|p of pop|
|00003090| 75 70 0d 0d 09 09 73 68 | 6f 77 53 75 72 66 61 63 |up....sh|owSurfac|
|000030a0| 65 43 68 65 63 6b 62 6f | 78 57 69 64 74 68 20 3d |eCheckbo|xWidth =|
|000030b0| 20 63 6f 6e 74 72 6f 6c | 57 69 64 74 68 2d 72 69 | control|Width-ri|
|000030c0| 67 68 74 4d 61 72 67 2d | 63 65 6e 74 72 61 6c 4d |ghtMarg-|centralM|
|000030d0| 61 72 67 2c 0d 09 09 73 | 68 6f 77 53 75 72 66 61 |arg,...s|howSurfa|
|000030e0| 63 65 43 68 65 63 6b 62 | 6f 78 4c 65 66 74 20 3d |ceCheckb|oxLeft =|
|000030f0| 20 35 2c 0d 09 09 73 68 | 6f 77 53 75 72 66 61 63 | 5,...sh|owSurfac|
|00003100| 65 43 68 65 63 6b 62 6f | 78 54 6f 70 20 3d 20 74 |eCheckbo|xTop = t|
|00003110| 6f 70 4d 61 72 67 20 2b | 20 33 35 2c 0d 0d 09 09 |opMarg +| 35,....|
|00003120| 73 75 72 66 61 63 65 43 | 6f 6c 6f 72 57 69 64 74 |surfaceC|olorWidt|
|00003130| 68 20 3d 20 63 6f 6e 74 | 72 6f 6c 57 69 64 74 68 |h = cont|rolWidth|
|00003140| 2d 72 69 67 68 74 4d 61 | 72 67 2d 63 65 6e 74 72 |-rightMa|rg-centr|
|00003150| 61 6c 4d 61 72 67 20 2d | 20 31 35 2c 0d 09 09 73 |alMarg -| 15,...s|
|00003160| 75 72 66 61 63 65 43 6f | 6c 6f 72 4c 65 66 74 20 |urfaceCo|lorLeft |
|00003170| 3d 20 31 35 2c 0d 09 09 | 73 75 72 66 61 63 65 43 |= 15,...|surfaceC|
|00003180| 6f 6c 6f 72 54 6f 70 20 | 3d 20 74 6f 70 4d 61 72 |olorTop |= topMar|
|00003190| 67 20 2b 20 35 33 2c 0d | 0d 09 09 73 68 6f 77 41 |g + 53,.|...showA|
|000031a0| 78 65 73 43 68 65 63 6b | 62 6f 78 57 69 64 74 68 |xesCheck|boxWidth|
|000031b0| 20 3d 20 63 6f 6e 74 72 | 6f 6c 57 69 64 74 68 2d | = contr|olWidth-|
|000031c0| 72 69 67 68 74 4d 61 72 | 67 2d 63 65 6e 74 72 61 |rightMar|g-centra|
|000031d0| 6c 4d 61 72 67 2c 0d 09 | 09 73 68 6f 77 41 78 65 |lMarg,..|.showAxe|
|000031e0| 73 43 68 65 63 6b 62 6f | 78 4c 65 66 74 20 3d 20 |sCheckbo|xLeft = |
|000031f0| 35 2c 0d 09 09 73 68 6f | 77 41 78 65 73 43 68 65 |5,...sho|wAxesChe|
|00003200| 63 6b 62 6f 78 54 6f 70 | 20 3d 20 74 6f 70 4d 61 |ckboxTop| = topMa|
|00003210| 72 67 20 2b 20 38 30 2c | 0d 0d 09 09 61 78 65 73 |rg + 80,|....axes|
|00003220| 43 6f 6c 6f 72 57 69 64 | 74 68 20 3d 20 63 6f 6e |ColorWid|th = con|
|00003230| 74 72 6f 6c 57 69 64 74 | 68 2d 72 69 67 68 74 4d |trolWidt|h-rightM|
|00003240| 61 72 67 2d 63 65 6e 74 | 72 61 6c 4d 61 72 67 20 |arg-cent|ralMarg |
|00003250| 2d 20 31 35 2c 0d 09 09 | 61 78 65 73 43 6f 6c 6f |- 15,...|axesColo|
|00003260| 72 4c 65 66 74 20 3d 20 | 31 35 2c 0d 09 09 61 78 |rLeft = |15,...ax|
|00003270| 65 73 43 6f 6c 6f 72 54 | 6f 70 20 3d 20 74 6f 70 |esColorT|op = top|
|00003280| 4d 61 72 67 20 2b 20 39 | 38 2c 0d 0d 09 09 73 68 |Marg + 9|8,....sh|
|00003290| 6f 77 4c 61 62 65 6c 73 | 43 68 65 63 6b 62 6f 78 |owLabels|Checkbox|
|000032a0| 57 69 64 74 68 20 3d 20 | 63 6f 6e 74 72 6f 6c 57 |Width = |controlW|
|000032b0| 69 64 74 68 2d 72 69 67 | 68 74 4d 61 72 67 2d 63 |idth-rig|htMarg-c|
|000032c0| 65 6e 74 72 61 6c 4d 61 | 72 67 2c 0d 09 09 73 68 |entralMa|rg,...sh|
|000032d0| 6f 77 4c 61 62 65 6c 73 | 43 68 65 63 6b 62 6f 78 |owLabels|Checkbox|
|000032e0| 4c 65 66 74 20 3d 20 35 | 2c 0d 09 09 73 68 6f 77 |Left = 5|,...show|
|000032f0| 4c 61 62 65 6c 73 43 68 | 65 63 6b 62 6f 78 54 6f |LabelsCh|eckboxTo|
|00003300| 70 20 3d 20 74 6f 70 4d | 61 72 67 20 2b 20 31 32 |p = topM|arg + 12|
|00003310| 35 2c 0d 0d 09 09 6c 61 | 62 65 6c 73 43 6f 6c 6f |5,....la|belsColo|
|00003320| 72 57 69 64 74 68 20 3d | 20 63 6f 6e 74 72 6f 6c |rWidth =| control|
|00003330| 57 69 64 74 68 2d 72 69 | 67 68 74 4d 61 72 67 2d |Width-ri|ghtMarg-|
|00003340| 63 65 6e 74 72 61 6c 4d | 61 72 67 20 2d 20 31 35 |centralM|arg - 15|
|00003350| 2c 0d 09 09 6c 61 62 65 | 6c 73 43 6f 6c 6f 72 4c |,...labe|lsColorL|
|00003360| 65 66 74 20 3d 20 31 35 | 2c 0d 09 09 6c 61 62 65 |eft = 15|,...labe|
|00003370| 6c 73 43 6f 6c 6f 72 54 | 6f 70 20 3d 20 74 6f 70 |lsColorT|op = top|
|00003380| 4d 61 72 67 20 2b 20 31 | 34 33 2c 0d 20 0d 0d 09 |Marg + 1|43,. ...|
|00003390| 09 64 6f 6e 65 42 75 74 | 74 6f 6e 42 6f 74 74 6f |.doneBut|tonBotto|
|000033a0| 6d 20 3d 20 31 34 2c 09 | 09 2f 2f 20 64 69 73 74 |m = 14,.|.// dist|
|000033b0| 61 6e 63 65 20 66 72 6f | 6d 20 62 6f 74 74 6f 6d |ance fro|m bottom|
|000033c0| 2f 72 69 67 68 74 20 6f | 66 20 77 69 6e 64 6f 77 |/right o|f window|
|000033d0| 0d 09 09 64 6f 6e 65 42 | 75 74 74 6f 6e 52 69 67 |...doneB|uttonRig|
|000033e0| 68 74 20 3d 20 32 31 2c | 0d 09 09 63 61 6e 63 65 |ht = 21,|...cance|
|000033f0| 6c 42 75 74 74 6f 6e 42 | 6f 74 74 6f 6d 20 3d 20 |lButtonB|ottom = |
|00003400| 31 34 2c 0d 09 09 63 61 | 6e 63 65 6c 42 75 74 74 |14,...ca|ncelButt|
|00003410| 6f 6e 52 69 67 68 74 20 | 3d 20 39 33 2c 0d 09 09 |onRight |= 93,...|
|00003420| 0d 09 09 74 65 78 74 52 | 65 63 74 42 6f 74 74 6f |...textR|ectBotto|
|00003430| 6d 20 3d 20 34 32 2c 0d | 09 09 74 65 78 74 52 65 |m = 42,.|..textRe|
|00003440| 63 74 52 69 67 68 74 20 | 3d 20 31 30 2c 0d 0d 09 |ctRight |= 10,...|
|00003450| 09 6d 69 6e 57 69 6e 64 | 6f 77 57 69 64 74 68 20 |.minWind|owWidth |
|00003460| 3d 20 6c 65 66 74 4d 61 | 72 67 2b 72 69 67 68 74 |= leftMa|rg+right|
|00003470| 4d 61 72 67 2b 63 65 6e | 74 72 61 6c 4d 61 72 67 |Marg+cen|tralMarg|
|00003480| 2b 76 69 65 77 65 72 57 | 69 64 74 68 2b 63 6f 6e |+viewerW|idth+con|
|00003490| 74 72 6f 6c 57 69 64 74 | 68 2c 0d 09 09 6d 69 6e |trolWidt|h,...min|
|000034a0| 57 69 6e 64 6f 77 48 65 | 69 67 68 74 20 3d 20 74 |WindowHe|ight = t|
|000034b0| 6f 70 4d 61 72 67 2b 62 | 6f 74 74 6f 6d 4d 61 72 |opMarg+b|ottomMar|
|000034c0| 67 2b 76 69 65 77 65 72 | 48 65 69 67 68 74 0d 09 |g+viewer|Height..|
|000034d0| 7d 3b 0d 0d 73 74 61 74 | 69 63 20 52 65 63 74 09 |};..stat|ic Rect.|
|000034e0| 64 6f 6e 65 52 65 63 74 | 20 3d 20 7b 20 30 2c 20 |doneRect| = { 0, |
|000034f0| 30 2c 20 32 30 2c 20 35 | 38 20 7d 3b 09 09 09 09 |0, 20, 5|8 };....|
|00003500| 09 2f 2f 20 72 65 63 74 | 20 6f 66 20 64 6f 6e 65 |.// rect| of done|
|00003510| 20 62 75 74 74 6f 6e 0d | 73 74 61 74 69 63 20 52 | button.|static R|
|00003520| 65 63 74 09 63 61 6e 63 | 65 6c 52 65 63 74 20 3d |ect.canc|elRect =|
|00003530| 20 7b 20 30 2c 20 30 2c | 20 32 30 2c 20 35 38 20 | { 0, 0,| 20, 58 |
|00003540| 7d 3b 09 09 09 09 09 2f | 2f 20 72 65 63 74 20 6f |};...../|/ rect o|
|00003550| 66 20 63 61 6e 63 65 6c | 20 62 75 74 74 6f 6e 0d |f cancel| button.|
|00003560| 73 74 61 74 69 63 20 52 | 65 63 74 09 73 65 74 75 |static R|ect.setu|
|00003570| 70 52 65 63 74 20 3d 20 | 7b 20 30 2c 20 30 2c 20 |pRect = |{ 0, 0, |
|00003580| 32 30 2c 20 35 38 20 7d | 3b 09 09 09 09 09 2f 2f |20, 58 }|;.....//|
|00003590| 20 72 65 63 74 20 6f 66 | 20 73 65 74 75 70 20 62 | rect of| setup b|
|000035a0| 75 74 74 6f 6e 0d 73 74 | 61 74 69 63 20 52 65 63 |utton.st|atic Rec|
|000035b0| 74 09 6f 70 74 69 6f 6e | 73 52 65 63 74 20 3d 20 |t.option|sRect = |
|000035c0| 7b 20 30 2c 20 30 2c 20 | 32 30 2c 20 35 38 20 7d |{ 0, 0, |20, 58 }|
|000035d0| 3b 09 09 09 09 09 2f 2f | 20 72 65 63 74 20 6f 66 |;.....//| rect of|
|000035e0| 20 6f 70 74 69 6f 6e 73 | 20 62 75 74 74 6f 6e 0d | options| button.|
|000035f0| 0d 0d 73 74 61 74 69 63 | 20 52 65 63 74 09 76 69 |..static| Rect.vi|
|00003600| 65 77 65 72 52 65 63 74 | 20 3d 20 7b 6c 65 66 74 |ewerRect| = {left|
|00003610| 4d 61 72 67 2c 20 74 6f | 70 4d 61 72 67 2c 20 6c |Marg, to|pMarg, l|
|00003620| 65 66 74 4d 61 72 67 2b | 76 69 65 77 65 72 57 69 |eftMarg+|viewerWi|
|00003630| 64 74 68 2c 20 74 6f 70 | 4d 61 72 67 2b 76 69 65 |dth, top|Marg+vie|
|00003640| 77 65 72 48 65 69 67 68 | 74 7d 3b 0d 73 74 61 74 |werHeigh|t};.stat|
|00003650| 69 63 20 52 65 63 74 09 | 66 69 6c 6c 53 74 79 6c |ic Rect.|fillStyl|
|00003660| 65 52 65 63 74 20 3d 20 | 7b 20 30 2c 20 30 2c 20 |eRect = |{ 0, 0, |
|00003670| 32 30 2c 20 66 69 6c 6c | 50 6f 70 75 70 57 69 64 |20, fill|PopupWid|
|00003680| 74 68 7d 3b 09 2f 2f 20 | 72 65 63 74 20 6f 66 20 |th};.// |rect of |
|00003690| 66 69 6c 6c 20 73 74 79 | 6c 65 20 70 6f 70 75 70 |fill sty|le popup|
|000036a0| 0d 73 74 61 74 69 63 20 | 52 65 63 74 20 73 68 6f |.static |Rect sho|
|000036b0| 77 53 75 72 66 61 63 65 | 52 65 63 74 20 3d 20 7b |wSurface|Rect = {|
|000036c0| 30 2c 20 30 2c 20 31 36 | 2c 20 73 68 6f 77 53 75 |0, 0, 16|, showSu|
|000036d0| 72 66 61 63 65 43 68 65 | 63 6b 62 6f 78 57 69 64 |rfaceChe|ckboxWid|
|000036e0| 74 68 7d 3b 0d 73 74 61 | 74 69 63 20 52 65 63 74 |th};.sta|tic Rect|
|000036f0| 20 73 68 6f 77 41 78 65 | 73 52 65 63 74 20 3d 20 | showAxe|sRect = |
|00003700| 7b 30 2c 20 30 2c 20 31 | 36 2c 20 73 68 6f 77 41 |{0, 0, 1|6, showA|
|00003710| 78 65 73 43 68 65 63 6b | 62 6f 78 57 69 64 74 68 |xesCheck|boxWidth|
|00003720| 7d 3b 0d 73 74 61 74 69 | 63 20 52 65 63 74 20 73 |};.stati|c Rect s|
|00003730| 68 6f 77 4c 61 62 65 6c | 73 52 65 63 74 20 3d 20 |howLabel|sRect = |
|00003740| 7b 30 2c 20 30 2c 20 31 | 36 2c 20 73 68 6f 77 4c |{0, 0, 1|6, showL|
|00003750| 61 62 65 6c 73 43 68 65 | 63 6b 62 6f 78 57 69 64 |abelsChe|ckboxWid|
|00003760| 74 68 7d 3b 0d 73 74 61 | 74 69 63 20 52 65 63 74 |th};.sta|tic Rect|
|00003770| 20 73 75 72 66 61 63 65 | 43 6f 6c 6f 72 52 65 63 | surface|ColorRec|
|00003780| 74 20 3d 20 7b 30 2c 20 | 30 2c 20 32 30 2c 20 73 |t = {0, |0, 20, s|
|00003790| 75 72 66 61 63 65 43 6f | 6c 6f 72 57 69 64 74 68 |urfaceCo|lorWidth|
|000037a0| 7d 3b 0d 73 74 61 74 69 | 63 20 52 65 63 74 20 61 |};.stati|c Rect a|
|000037b0| 78 65 73 43 6f 6c 6f 72 | 52 65 63 74 20 3d 20 7b |xesColor|Rect = {|
|000037c0| 30 2c 20 30 2c 20 32 30 | 2c 20 61 78 65 73 43 6f |0, 0, 20|, axesCo|
|000037d0| 6c 6f 72 57 69 64 74 68 | 7d 3b 0d 73 74 61 74 69 |lorWidth|};.stati|
|000037e0| 63 20 52 65 63 74 20 6c | 61 62 65 6c 73 43 6f 6c |c Rect l|abelsCol|
|000037f0| 6f 72 52 65 63 74 20 3d | 20 7b 30 2c 20 30 2c 20 |orRect =| {0, 0, |
|00003800| 32 30 2c 20 6c 61 62 65 | 6c 73 43 6f 6c 6f 72 57 |20, labe|lsColorW|
|00003810| 69 64 74 68 7d 3b 0d 73 | 74 61 74 69 63 20 52 65 |idth};.s|tatic Re|
|00003820| 63 74 20 74 65 78 74 52 | 65 63 74 20 3d 20 7b 30 |ct textR|ect = {0|
|00003830| 2c 20 30 2c 20 32 34 2c | 20 63 6f 6e 74 72 6f 6c |, 0, 24,| control|
|00003840| 57 69 64 74 68 2d 32 30 | 7d 3b 0d 0d 73 74 61 74 |Width-20|};..stat|
|00003850| 69 63 20 63 6f 6e 73 74 | 20 52 65 63 74 20 7a 65 |ic const| Rect ze|
|00003860| 72 6f 52 65 63 74 20 3d | 20 7b 30 2c 30 2c 30 2c |roRect =| {0,0,0,|
|00003870| 30 7d 3b 0d 0d 0d 0d 73 | 74 61 74 69 63 20 76 6f |0};....s|tatic vo|
|00003880| 69 64 20 49 6e 76 61 6c | 69 64 61 74 65 56 69 65 |id Inval|idateVie|
|00003890| 77 65 72 28 76 6f 69 64 | 29 3b 0d 0d 73 74 61 74 |wer(void|);..stat|
|000038a0| 69 63 20 76 6f 69 64 20 | 52 65 73 65 74 45 78 63 |ic void |ResetExc|
|000038b0| 65 70 74 69 6f 6e 28 76 | 6f 69 64 29 0d 7b 0d 09 |eption(v|oid).{..|
|000038c0| 69 66 20 28 66 65 74 65 | 73 74 65 78 63 65 70 74 |if (fete|stexcept|
|000038d0| 28 46 45 5f 49 4e 56 41 | 4c 49 44 29 29 0d 09 09 |(FE_INVA|LID))...|
|000038e0| 66 65 63 6c 65 61 72 65 | 78 63 65 70 74 28 46 45 |fecleare|xcept(FE|
|000038f0| 5f 41 4c 4c 5f 45 58 43 | 45 50 54 29 3b 0d 7d 0d |_ALL_EXC|EPT);.}.|
|00003900| 0d 0d 73 74 61 74 69 63 | 20 76 6f 69 64 20 57 69 |..static| void Wi|
|00003910| 6e 64 6f 77 47 72 6f 77 | 6e 28 76 6f 69 64 29 0d |ndowGrow|n(void).|
|00003920| 09 2f 2f 20 72 65 61 64 | 6a 75 73 74 73 20 61 6c |.// read|justs al|
|00003930| 6c 20 69 74 65 6d 73 0d | 7b 0d 09 52 65 63 74 09 |l items.|{..Rect.|
|00003940| 77 52 65 63 74 20 3d 20 | 67 4d 61 69 6e 57 69 6e |wRect = |gMainWin|
|00003950| 64 6f 77 2d 3e 70 6f 72 | 74 52 65 63 74 3b 0d 09 |dow->por|tRect;..|
|00003960| 73 68 6f 72 74 09 6c 65 | 66 74 3b 0d 09 47 72 61 |short.le|ft;..Gra|
|00003970| 66 50 74 72 09 09 09 6f | 6c 64 50 6f 72 74 3b 0d |fPtr...o|ldPort;.|
|00003980| 09 0d 09 47 65 74 50 6f | 72 74 28 26 6f 6c 64 50 |...GetPo|rt(&oldP|
|00003990| 6f 72 74 29 3b 09 0d 09 | 53 65 74 50 6f 72 74 28 |ort);...|SetPort(|
|000039a0| 67 4d 61 69 6e 57 69 6e | 64 6f 77 29 3b 0d 0d 09 |gMainWin|dow);...|
|000039b0| 53 65 74 52 65 63 74 28 | 26 76 69 65 77 65 72 52 |SetRect(|&viewerR|
|000039c0| 65 63 74 2c 20 6c 65 66 | 74 4d 61 72 67 2c 20 74 |ect, lef|tMarg, t|
|000039d0| 6f 70 4d 61 72 67 2c 20 | 77 52 65 63 74 2e 72 69 |opMarg, |wRect.ri|
|000039e0| 67 68 74 2d 63 6f 6e 74 | 72 6f 6c 57 69 64 74 68 |ght-cont|rolWidth|
|000039f0| 2c 20 77 52 65 63 74 2e | 62 6f 74 74 6f 6d 2d 62 |, wRect.|bottom-b|
|00003a00| 6f 74 74 6f 6d 4d 61 72 | 67 29 3b 0d 09 6c 65 66 |ottomMar|g);..lef|
|00003a10| 74 20 3d 20 76 69 65 77 | 65 72 52 65 63 74 2e 72 |t = view|erRect.r|
|00003a20| 69 67 68 74 2b 63 65 6e | 74 72 61 6c 4d 61 72 67 |ight+cen|tralMarg|
|00003a30| 3b 0d 09 4f 66 66 73 65 | 74 52 65 63 74 28 26 66 |;..Offse|tRect(&f|
|00003a40| 69 6c 6c 53 74 79 6c 65 | 52 65 63 74 2c 20 6c 65 |illStyle|Rect, le|
|00003a50| 66 74 2d 66 69 6c 6c 53 | 74 79 6c 65 52 65 63 74 |ft-fillS|tyleRect|
|00003a60| 2e 6c 65 66 74 2c 20 66 | 69 6c 6c 50 6f 70 75 70 |.left, f|illPopup|
|00003a70| 54 6f 70 2d 66 69 6c 6c | 53 74 79 6c 65 52 65 63 |Top-fill|StyleRec|
|00003a80| 74 2e 74 6f 70 29 3b 0d | 09 4f 66 66 73 65 74 52 |t.top);.|.OffsetR|
|00003a90| 65 63 74 28 26 73 68 6f | 77 53 75 72 66 61 63 65 |ect(&sho|wSurface|
|00003aa0| 52 65 63 74 2c 20 6c 65 | 66 74 2b 73 68 6f 77 53 |Rect, le|ft+showS|
|00003ab0| 75 72 66 61 63 65 43 68 | 65 63 6b 62 6f 78 4c 65 |urfaceCh|eckboxLe|
|00003ac0| 66 74 2d 73 68 6f 77 53 | 75 72 66 61 63 65 52 65 |ft-showS|urfaceRe|
|00003ad0| 63 74 2e 6c 65 66 74 2c | 20 73 68 6f 77 53 75 72 |ct.left,| showSur|
|00003ae0| 66 61 63 65 43 68 65 63 | 6b 62 6f 78 54 6f 70 2d |faceChec|kboxTop-|
|00003af0| 73 68 6f 77 53 75 72 66 | 61 63 65 52 65 63 74 2e |showSurf|aceRect.|
|00003b00| 74 6f 70 29 3b 0d 09 4f | 66 66 73 65 74 52 65 63 |top);..O|ffsetRec|
|00003b10| 74 28 26 73 68 6f 77 4c | 61 62 65 6c 73 52 65 63 |t(&showL|abelsRec|
|00003b20| 74 2c 20 6c 65 66 74 2b | 73 68 6f 77 4c 61 62 65 |t, left+|showLabe|
|00003b30| 6c 73 43 68 65 63 6b 62 | 6f 78 4c 65 66 74 2d 73 |lsCheckb|oxLeft-s|
|00003b40| 68 6f 77 4c 61 62 65 6c | 73 52 65 63 74 2e 6c 65 |howLabel|sRect.le|
|00003b50| 66 74 2c 20 73 68 6f 77 | 4c 61 62 65 6c 73 43 68 |ft, show|LabelsCh|
|00003b60| 65 63 6b 62 6f 78 54 6f | 70 2d 73 68 6f 77 4c 61 |eckboxTo|p-showLa|
|00003b70| 62 65 6c 73 52 65 63 74 | 2e 74 6f 70 29 3b 0d 09 |belsRect|.top);..|
|00003b80| 4f 66 66 73 65 74 52 65 | 63 74 28 26 73 68 6f 77 |OffsetRe|ct(&show|
|00003b90| 41 78 65 73 52 65 63 74 | 2c 20 6c 65 66 74 2b 73 |AxesRect|, left+s|
|00003ba0| 68 6f 77 41 78 65 73 43 | 68 65 63 6b 62 6f 78 4c |howAxesC|heckboxL|
|00003bb0| 65 66 74 2d 73 68 6f 77 | 41 78 65 73 52 65 63 74 |eft-show|AxesRect|
|00003bc0| 2e 6c 65 66 74 2c 20 73 | 68 6f 77 41 78 65 73 43 |.left, s|howAxesC|
|00003bd0| 68 65 63 6b 62 6f 78 54 | 6f 70 2d 73 68 6f 77 41 |heckboxT|op-showA|
|00003be0| 78 65 73 52 65 63 74 2e | 74 6f 70 29 3b 0d 09 4f |xesRect.|top);..O|
|00003bf0| 66 66 73 65 74 52 65 63 | 74 28 26 73 75 72 66 61 |ffsetRec|t(&surfa|
|00003c00| 63 65 43 6f 6c 6f 72 52 | 65 63 74 2c 20 6c 65 66 |ceColorR|ect, lef|
|00003c10| 74 2b 73 75 72 66 61 63 | 65 43 6f 6c 6f 72 4c 65 |t+surfac|eColorLe|
|00003c20| 66 74 2d 73 75 72 66 61 | 63 65 43 6f 6c 6f 72 52 |ft-surfa|ceColorR|
|00003c30| 65 63 74 2e 6c 65 66 74 | 2c 20 73 75 72 66 61 63 |ect.left|, surfac|
|00003c40| 65 43 6f 6c 6f 72 54 6f | 70 2d 73 75 72 66 61 63 |eColorTo|p-surfac|
|00003c50| 65 43 6f 6c 6f 72 52 65 | 63 74 2e 74 6f 70 29 3b |eColorRe|ct.top);|
|00003c60| 0d 09 4f 66 66 73 65 74 | 52 65 63 74 28 26 61 78 |..Offset|Rect(&ax|
|00003c70| 65 73 43 6f 6c 6f 72 52 | 65 63 74 2c 20 6c 65 66 |esColorR|ect, lef|
|00003c80| 74 2b 61 78 65 73 43 6f | 6c 6f 72 4c 65 66 74 2d |t+axesCo|lorLeft-|
|00003c90| 61 78 65 73 43 6f 6c 6f | 72 52 65 63 74 2e 6c 65 |axesColo|rRect.le|
|00003ca0| 66 74 2c 20 61 78 65 73 | 43 6f 6c 6f 72 54 6f 70 |ft, axes|ColorTop|
|00003cb0| 2d 61 78 65 73 43 6f 6c | 6f 72 52 65 63 74 2e 74 |-axesCol|orRect.t|
|00003cc0| 6f 70 29 3b 0d 09 4f 66 | 66 73 65 74 52 65 63 74 |op);..Of|fsetRect|
|00003cd0| 28 26 6c 61 62 65 6c 73 | 43 6f 6c 6f 72 52 65 63 |(&labels|ColorRec|
|00003ce0| 74 2c 20 6c 65 66 74 2b | 6c 61 62 65 6c 73 43 6f |t, left+|labelsCo|
|00003cf0| 6c 6f 72 4c 65 66 74 2d | 6c 61 62 65 6c 73 43 6f |lorLeft-|labelsCo|
|00003d00| 6c 6f 72 52 65 63 74 2e | 6c 65 66 74 2c 20 6c 61 |lorRect.|left, la|
|00003d10| 62 65 6c 73 43 6f 6c 6f | 72 54 6f 70 2d 6c 61 62 |belsColo|rTop-lab|
|00003d20| 65 6c 73 43 6f 6c 6f 72 | 52 65 63 74 2e 74 6f 70 |elsColor|Rect.top|
|00003d30| 29 3b 0d 0d 09 4f 66 66 | 73 65 74 52 65 63 74 28 |);...Off|setRect(|
|00003d40| 26 64 6f 6e 65 52 65 63 | 74 2c 20 77 52 65 63 74 |&doneRec|t, wRect|
|00003d50| 2e 72 69 67 68 74 2d 64 | 6f 6e 65 42 75 74 74 6f |.right-d|oneButto|
|00003d60| 6e 52 69 67 68 74 20 2d | 20 64 6f 6e 65 52 65 63 |nRight -| doneRec|
|00003d70| 74 2e 72 69 67 68 74 2c | 20 77 52 65 63 74 2e 62 |t.right,| wRect.b|
|00003d80| 6f 74 74 6f 6d 2d 64 6f | 6e 65 42 75 74 74 6f 6e |ottom-do|neButton|
|00003d90| 42 6f 74 74 6f 6d 2d 64 | 6f 6e 65 52 65 63 74 2e |Bottom-d|oneRect.|
|00003da0| 62 6f 74 74 6f 6d 29 3b | 0d 09 4f 66 66 73 65 74 |bottom);|..Offset|
|00003db0| 52 65 63 74 28 26 63 61 | 6e 63 65 6c 52 65 63 74 |Rect(&ca|ncelRect|
|00003dc0| 2c 20 77 52 65 63 74 2e | 72 69 67 68 74 2d 63 61 |, wRect.|right-ca|
|00003dd0| 6e 63 65 6c 42 75 74 74 | 6f 6e 52 69 67 68 74 20 |ncelButt|onRight |
|00003de0| 2d 20 63 61 6e 63 65 6c | 52 65 63 74 2e 72 69 67 |- cancel|Rect.rig|
|00003df0| 68 74 2c 20 77 52 65 63 | 74 2e 62 6f 74 74 6f 6d |ht, wRec|t.bottom|
|00003e00| 2d 63 61 6e 63 65 6c 42 | 75 74 74 6f 6e 42 6f 74 |-cancelB|uttonBot|
|00003e10| 74 6f 6d 2d 63 61 6e 63 | 65 6c 52 65 63 74 2e 62 |tom-canc|elRect.b|
|00003e20| 6f 74 74 6f 6d 29 3b 0d | 09 4f 66 66 73 65 74 52 |ottom);.|.OffsetR|
|00003e30| 65 63 74 28 26 74 65 78 | 74 52 65 63 74 2c 20 77 |ect(&tex|tRect, w|
|00003e40| 52 65 63 74 2e 72 69 67 | 68 74 2d 74 65 78 74 52 |Rect.rig|ht-textR|
|00003e50| 65 63 74 52 69 67 68 74 | 20 2d 20 74 65 78 74 52 |ectRight| - textR|
|00003e60| 65 63 74 2e 72 69 67 68 | 74 2c 20 77 52 65 63 74 |ect.righ|t, wRect|
|00003e70| 2e 62 6f 74 74 6f 6d 2d | 74 65 78 74 52 65 63 74 |.bottom-|textRect|
|00003e80| 42 6f 74 74 6f 6d 2d 74 | 65 78 74 52 65 63 74 2e |Bottom-t|extRect.|
|00003e90| 62 6f 74 74 6f 6d 29 3b | 0d 0d 0d 09 4d 6f 76 65 |bottom);|....Move|
|00003ea0| 43 6f 6e 74 72 6f 6c 28 | 66 69 6c 6c 53 74 79 6c |Control(|fillStyl|
|00003eb0| 65 43 74 6c 2c 20 66 69 | 6c 6c 53 74 79 6c 65 52 |eCtl, fi|llStyleR|
|00003ec0| 65 63 74 2e 6c 65 66 74 | 2c 20 66 69 6c 6c 53 74 |ect.left|, fillSt|
|00003ed0| 79 6c 65 52 65 63 74 2e | 74 6f 70 29 3b 0d 09 4d |yleRect.|top);..M|
|00003ee0| 6f 76 65 43 6f 6e 74 72 | 6f 6c 28 73 68 6f 77 53 |oveContr|ol(showS|
|00003ef0| 75 72 66 61 63 65 43 74 | 6c 2c 20 73 68 6f 77 53 |urfaceCt|l, showS|
|00003f00| 75 72 66 61 63 65 52 65 | 63 74 2e 6c 65 66 74 2c |urfaceRe|ct.left,|
|00003f10| 20 73 68 6f 77 53 75 72 | 66 61 63 65 52 65 63 74 | showSur|faceRect|
|00003f20| 2e 74 6f 70 29 3b 0d 09 | 4d 6f 76 65 43 6f 6e 74 |.top);..|MoveCont|
|00003f30| 72 6f 6c 28 73 68 6f 77 | 41 78 65 73 43 74 6c 2c |rol(show|AxesCtl,|
|00003f40| 20 73 68 6f 77 41 78 65 | 73 52 65 63 74 2e 6c 65 | showAxe|sRect.le|
|00003f50| 66 74 2c 20 73 68 6f 77 | 41 78 65 73 52 65 63 74 |ft, show|AxesRect|
|00003f60| 2e 74 6f 70 29 3b 0d 09 | 4d 6f 76 65 43 6f 6e 74 |.top);..|MoveCont|
|00003f70| 72 6f 6c 28 73 68 6f 77 | 4c 61 62 65 6c 73 43 74 |rol(show|LabelsCt|
|00003f80| 6c 2c 20 73 68 6f 77 4c | 61 62 65 6c 73 52 65 63 |l, showL|abelsRec|
|00003f90| 74 2e 6c 65 66 74 2c 20 | 73 68 6f 77 4c 61 62 65 |t.left, |showLabe|
|00003fa0| 6c 73 52 65 63 74 2e 74 | 6f 70 29 3b 0d 09 4d 6f |lsRect.t|op);..Mo|
|00003fb0| 76 65 43 6f 6e 74 72 6f | 6c 28 73 75 72 66 61 63 |veContro|l(surfac|
|00003fc0| 65 43 6f 6c 6f 72 43 74 | 6c 2c 20 73 75 72 66 61 |eColorCt|l, surfa|
|00003fd0| 63 65 43 6f 6c 6f 72 52 | 65 63 74 2e 6c 65 66 74 |ceColorR|ect.left|
|00003fe0| 2c 20 73 75 72 66 61 63 | 65 43 6f 6c 6f 72 52 65 |, surfac|eColorRe|
|00003ff0| 63 74 2e 74 6f 70 29 3b | 0d 09 4d 6f 76 65 43 6f |ct.top);|..MoveCo|
|00004000| 6e 74 72 6f 6c 28 61 78 | 65 73 43 6f 6c 6f 72 43 |ntrol(ax|esColorC|
|00004010| 74 6c 2c 20 61 78 65 73 | 43 6f 6c 6f 72 52 65 63 |tl, axes|ColorRec|
|00004020| 74 2e 6c 65 66 74 2c 20 | 61 78 65 73 43 6f 6c 6f |t.left, |axesColo|
|00004030| 72 52 65 63 74 2e 74 6f | 70 29 3b 0d 09 4d 6f 76 |rRect.to|p);..Mov|
|00004040| 65 43 6f 6e 74 72 6f 6c | 28 6c 61 62 65 6c 73 43 |eControl|(labelsC|
|00004050| 6f 6c 6f 72 43 74 6c 2c | 20 6c 61 62 65 6c 73 43 |olorCtl,| labelsC|
|00004060| 6f 6c 6f 72 52 65 63 74 | 2e 6c 65 66 74 2c 20 6c |olorRect|.left, l|
|00004070| 61 62 65 6c 73 43 6f 6c | 6f 72 52 65 63 74 2e 74 |abelsCol|orRect.t|
|00004080| 6f 70 29 3b 0d 0d 09 4d | 6f 76 65 43 6f 6e 74 72 |op);...M|oveContr|
|00004090| 6f 6c 28 64 6f 6e 65 43 | 74 6c 2c 20 64 6f 6e 65 |ol(doneC|tl, done|
|000040a0| 52 65 63 74 2e 6c 65 66 | 74 2c 20 64 6f 6e 65 52 |Rect.lef|t, doneR|
|000040b0| 65 63 74 2e 74 6f 70 29 | 3b 0d 09 4d 6f 76 65 43 |ect.top)|;..MoveC|
|000040c0| 6f 6e 74 72 6f 6c 28 63 | 61 6e 63 65 6c 43 74 6c |ontrol(c|ancelCtl|
|000040d0| 2c 20 63 61 6e 63 65 6c | 52 65 63 74 2e 6c 65 66 |, cancel|Rect.lef|
|000040e0| 74 2c 20 63 61 6e 63 65 | 6c 52 65 63 74 2e 74 6f |t, cance|lRect.to|
|000040f0| 70 29 3b 0d 09 0d 09 50 | 33 56 69 65 77 65 72 53 |p);....P|3ViewerS|
|00004100| 65 74 42 6f 75 6e 64 73 | 28 76 69 65 77 65 72 2c |etBounds|(viewer,|
|00004110| 20 26 76 69 65 77 65 72 | 52 65 63 74 29 3b 0d 09 | &viewer|Rect);..|
|00004120| 52 65 73 65 74 45 78 63 | 65 70 74 69 6f 6e 28 29 |ResetExc|eption()|
|00004130| 3b 09 09 2f 2f 20 51 33 | 56 69 65 77 65 72 20 73 |;..// Q3|Viewer s|
|00004140| 6f 6d 65 74 69 6d 65 73 | 20 67 65 6e 65 72 61 74 |ometimes| generat|
|00004150| 65 73 20 65 78 63 65 70 | 74 69 6f 6e 73 2c 20 49 |es excep|tions, I|
|00004160| 20 64 75 6e 6e 6f 20 77 | 68 79 0d 0d 09 43 6c 69 | dunno w|hy...Cli|
|00004170| 70 52 65 63 74 28 26 77 | 52 65 63 74 29 3b 0d 09 |pRect(&w|Rect);..|
|00004180| 49 6e 76 61 6c 52 65 63 | 74 28 26 77 52 65 63 74 |InvalRec|t(&wRect|
|00004190| 29 3b 0d 09 45 72 61 73 | 65 52 65 63 74 28 26 77 |);..Eras|eRect(&w|
|000041a0| 52 65 63 74 29 3b 0d 09 | 53 65 74 50 6f 72 74 28 |Rect);..|SetPort(|
|000041b0| 6f 6c 64 50 6f 72 74 29 | 3b 0d 7d 0d 0d 23 70 72 |oldPort)|;.}..#pr|
|000041c0| 61 67 6d 61 20 6d 61 72 | 6b 20 2d 0d 0d 73 74 61 |agma mar|k -..sta|
|000041d0| 74 69 63 20 42 6f 6f 6c | 65 61 6e 20 53 65 74 41 |tic Bool|ean SetA|
|000041e0| 78 69 73 52 61 6e 67 65 | 28 53 63 61 6c 69 6e 67 |xisRange|(Scaling|
|000041f0| 44 65 73 63 72 2a 20 63 | 6f 6e 73 74 20 64 65 73 |Descr* c|onst des|
|00004200| 63 72 2c 20 64 6f 75 62 | 6c 65 20 6d 69 6e 2c 20 |cr, doub|le min, |
|00004210| 64 6f 75 62 6c 65 20 6d | 61 78 29 0d 09 2f 2f 20 |double m|ax)..// |
|00004220| 63 61 6c 6c 20 74 68 69 | 73 20 69 66 20 79 6f 75 |call thi|s if you|
|00004230| 20 68 61 76 65 20 63 68 | 61 6e 67 65 64 20 74 68 | have ch|anged th|
|00004240| 65 20 72 61 6e 67 65 20 | 6f 66 20 61 6e 20 61 78 |e range |of an ax|
|00004250| 69 73 0d 09 2f 2f 20 74 | 68 69 73 20 72 6f 75 74 |is..// t|his rout|
|00004260| 69 6e 65 20 63 68 65 63 | 6b 73 20 69 66 20 74 68 |ine chec|ks if th|
|00004270| 65 20 74 69 63 6b 73 20 | 70 6f 73 69 74 69 6f 6e |e ticks |position|
|00004280| 73 20 61 72 65 20 72 65 | 61 73 6f 6e 61 62 6c 65 |s are re|asonable|
|00004290| 20 61 6e 64 2c 20 69 66 | 20 6e 6f 74 2c 20 63 68 | and, if| not, ch|
|000042a0| 61 6e 67 65 73 20 74 68 | 65 6d 0d 09 2f 2f 20 52 |anges th|em..// R|
|000042b0| 65 74 75 72 6e 73 20 74 | 72 75 65 20 69 66 20 74 |eturns t|rue if t|
|000042c0| 69 63 6b 73 20 73 65 74 | 74 69 6e 67 73 20 77 65 |icks set|tings we|
|000042d0| 72 65 20 63 68 61 6e 67 | 65 64 0d 7b 0d 09 64 6f |re chang|ed.{..do|
|000042e0| 75 62 6c 65 09 72 61 6e | 67 65 20 3d 20 6d 61 78 |uble.ran|ge = max|
|000042f0| 2d 6d 69 6e 3b 0d 09 64 | 6f 75 62 6c 65 09 65 70 |-min;..d|ouble.ep|
|00004300| 73 69 6c 6f 6e 20 3d 20 | 72 61 6e 67 65 2f 31 30 |silon = |range/10|
|00004310| 30 30 30 3b 09 09 09 09 | 09 09 09 09 2f 2f 20 61 |000;....|....// a|
|00004320| 20 74 69 6e 79 20 76 61 | 6c 75 65 0d 09 64 6f 75 | tiny va|lue..dou|
|00004330| 62 6c 65 09 6f 6c 64 45 | 70 73 69 6c 6f 6e 20 3d |ble.oldE|psilon =|
|00004340| 20 28 64 65 73 63 72 2d | 3e 6d 61 78 20 2d 20 64 | (descr-|>max - d|
|00004350| 65 73 63 72 2d 3e 6d 69 | 6e 29 2f 31 30 30 30 30 |escr->mi|n)/10000|
|00004360| 3b 09 09 2f 2f 20 61 20 | 74 69 6e 79 20 76 61 6c |;..// a |tiny val|
|00004370| 75 65 0d 09 42 6f 6f 6c | 65 61 6e 09 64 69 73 74 |ue..Bool|ean.dist|
|00004380| 4d 61 6a 6f 72 42 61 64 | 20 3d 20 64 65 73 63 72 |MajorBad| = descr|
|00004390| 2d 3e 64 69 73 74 4d 61 | 6a 6f 72 20 3c 20 72 61 |->distMa|jor < ra|
|000043a0| 6e 67 65 2f 31 32 20 7c | 7c 20 64 65 73 63 72 2d |nge/12 ||| descr-|
|000043b0| 3e 64 69 73 74 4d 61 6a | 6f 72 20 3e 20 72 61 6e |>distMaj|or > ran|
|000043c0| 67 65 2f 32 3b 0d 09 42 | 6f 6f 6c 65 61 6e 09 6f |ge/2;..B|oolean.o|
|000043d0| 72 69 67 69 6e 57 61 73 | 41 74 4d 69 6e 20 3d 20 |riginWas|AtMin = |
|000043e0| 66 61 62 73 28 64 65 73 | 63 72 2d 3e 6f 72 69 67 |fabs(des|cr->orig|
|000043f0| 69 6e 20 2d 20 64 65 73 | 63 72 2d 3e 6d 69 6e 29 |in - des|cr->min)|
|00004400| 20 3c 20 6f 6c 64 45 70 | 73 69 6c 6f 6e 3b 0d 09 | < oldEp|silon;..|
|00004410| 42 6f 6f 6c 65 61 6e 09 | 6f 72 69 67 69 6e 57 61 |Boolean.|originWa|
|00004420| 73 41 74 4d 61 78 20 3d | 20 66 61 62 73 28 64 65 |sAtMax =| fabs(de|
|00004430| 73 63 72 2d 3e 6f 72 69 | 67 69 6e 20 2d 20 64 65 |scr->ori|gin - de|
|00004440| 73 63 72 2d 3e 6d 61 78 | 29 20 3c 20 6f 6c 64 45 |scr->max|) < oldE|
|00004450| 70 73 69 6c 6f 6e 3b 0d | 09 42 6f 6f 6c 65 61 6e |psilon;.|.Boolean|
|00004460| 09 72 65 74 76 61 6c 20 | 3d 20 66 61 6c 73 65 3b |.retval |= false;|
|00004470| 0d 0d 09 69 66 20 28 64 | 65 73 63 72 2d 3e 66 69 |...if (d|escr->fi|
|00004480| 72 73 74 4d 61 6a 6f 72 | 20 3c 20 6d 69 6e 2d 65 |rstMajor| < min-e|
|00004490| 70 73 69 6c 6f 6e 20 7c | 7c 20 64 65 73 63 72 2d |psilon ||| descr-|
|000044a0| 3e 66 69 72 73 74 4d 61 | 6a 6f 72 20 3e 20 6d 69 |>firstMa|jor > mi|
|000044b0| 6e 20 2b 20 72 61 6e 67 | 65 2f 32 20 7c 7c 09 2f |n + rang|e/2 ||./|
|000044c0| 2f 20 69 66 20 66 69 72 | 73 74 20 6d 61 6a 6f 72 |/ if fir|st major|
|000044d0| 20 62 61 64 0d 09 09 64 | 69 73 74 4d 61 6a 6f 72 | bad...d|istMajor|
|000044e0| 42 61 64 29 09 09 09 09 | 09 09 09 09 09 09 09 09 |Bad)....|........|
|000044f0| 09 09 09 2f 2f 20 6f 72 | 20 69 66 20 64 69 73 74 |...// or| if dist|
|00004500| 4d 61 6a 6f 72 20 62 61 | 64 0d 09 09 7b 0d 09 09 |Major ba|d...{...|
|00004510| 09 69 66 20 28 64 69 73 | 74 4d 61 6a 6f 72 42 61 |.if (dis|tMajorBa|
|00004520| 64 29 09 09 09 09 09 09 | 09 2f 2f 20 69 66 20 77 |d)......|.// if w|
|00004530| 65 20 6d 75 73 74 20 72 | 65 63 61 6c 63 20 64 69 |e must r|ecalc di|
|00004540| 73 74 4d 61 6a 6f 72 0d | 09 09 09 7b 09 0d 09 09 |stMajor.|...{....|
|00004550| 09 09 64 6f 75 62 6c 65 | 09 6c 6f 67 44 69 73 74 |..double|.logDist|
|00004560| 20 3d 20 6c 6f 67 31 30 | 28 72 61 6e 67 65 29 3b | = log10|(range);|
|00004570| 0d 09 09 09 09 64 6f 75 | 62 6c 65 09 6f 72 64 65 |.....dou|ble.orde|
|00004580| 72 20 3d 20 66 6c 6f 6f | 72 28 6c 6f 67 44 69 73 |r = floo|r(logDis|
|00004590| 74 29 3b 0d 09 09 09 09 | 64 6f 75 62 6c 65 09 6d |t);.....|double.m|
|000045a0| 75 6c 74 69 70 6c 69 65 | 72 20 3d 20 70 6f 77 28 |ultiplie|r = pow(|
|000045b0| 31 30 2c 6c 6f 67 44 69 | 73 74 2d 6f 72 64 65 72 |10,logDi|st-order|
|000045c0| 29 3b 20 20 2f 2f 20 76 | 61 6c 75 65 20 62 65 74 |); // v|alue bet|
|000045d0| 77 65 65 6e 20 31 2e 2e | 31 30 0d 09 09 09 09 69 |ween 1..|10.....i|
|000045e0| 66 20 28 6d 75 6c 74 69 | 70 6c 69 65 72 20 3c 20 |f (multi|plier < |
|000045f0| 33 29 20 6d 75 6c 74 69 | 70 6c 69 65 72 20 3d 20 |3) multi|plier = |
|00004600| 30 2e 35 3b 0d 09 09 09 | 09 65 6c 73 65 20 69 66 |0.5;....|.else if|
|00004610| 20 28 6d 75 6c 74 69 70 | 6c 69 65 72 20 3c 20 35 | (multip|lier < 5|
|00004620| 29 20 6d 75 6c 74 69 70 | 6c 69 65 72 20 3d 20 31 |) multip|lier = 1|
|00004630| 3b 0d 09 09 09 09 65 6c | 73 65 20 69 66 20 28 6d |;.....el|se if (m|
|00004640| 75 6c 74 69 70 6c 69 65 | 72 20 3c 20 39 29 20 6d |ultiplie|r < 9) m|
|00004650| 75 6c 74 69 70 6c 69 65 | 72 20 3d 20 32 3b 0d 09 |ultiplie|r = 2;..|
|00004660| 09 09 09 65 6c 73 65 20 | 6d 75 6c 74 69 70 6c 69 |...else |multipli|
|00004670| 65 72 20 3d 20 35 3b 0d | 09 09 09 09 64 65 73 63 |er = 5;.|....desc|
|00004680| 72 2d 3e 64 69 73 74 4d | 61 6a 6f 72 20 3d 20 70 |r->distM|ajor = p|
|00004690| 6f 77 28 31 30 2c 20 6f | 72 64 65 72 29 2a 6d 75 |ow(10, o|rder)*mu|
|000046a0| 6c 74 69 70 6c 69 65 72 | 3b 0d 09 09 09 7d 0d 09 |ltiplier|;....}..|
|000046b0| 09 09 64 65 73 63 72 2d | 3e 66 69 72 73 74 4d 61 |..descr-|>firstMa|
|000046c0| 6a 6f 72 20 3d 20 28 31 | 2e 30 2b 66 6c 6f 6f 72 |jor = (1|.0+floor|
|000046d0| 28 6d 69 6e 2f 64 65 73 | 63 72 2d 3e 64 69 73 74 |(min/des|cr->dist|
|000046e0| 4d 61 6a 6f 72 2d 31 65 | 2d 36 29 29 2a 64 65 73 |Major-1e|-6))*des|
|000046f0| 63 72 2d 3e 64 69 73 74 | 4d 61 6a 6f 72 3b 0d 09 |cr->dist|Major;..|
|00004700| 09 09 69 66 20 28 66 61 | 62 73 28 64 65 73 63 72 |..if (fa|bs(descr|
|00004710| 2d 3e 66 69 72 73 74 4d | 61 6a 6f 72 29 20 3c 20 |->firstM|ajor) < |
|00004720| 31 65 2d 32 30 30 29 20 | 64 65 73 63 72 2d 3e 66 |1e-200) |descr->f|
|00004730| 69 72 73 74 4d 61 6a 6f | 72 20 3d 20 30 3b 09 09 |irstMajo|r = 0;..|
|00004740| 2f 2f 20 74 6f 20 61 76 | 6f 69 64 20 73 6f 6d 65 |// to av|oid some|
|00004750| 20 72 6f 75 6e 64 69 6e | 67 20 70 72 6f 62 6c 65 | roundin|g proble|
|00004760| 6d 73 20 74 68 61 74 20 | 72 65 73 75 6c 74 20 69 |ms that |result i|
|00004770| 6e 20 22 2d 30 22 0d 09 | 09 09 72 65 74 76 61 6c |n "-0"..|..retval|
|00004780| 20 3d 20 74 72 75 65 3b | 0d 09 09 7d 0d 09 69 66 | = true;|...}..if|
|00004790| 20 28 6f 72 69 67 69 6e | 57 61 73 41 74 4d 69 6e | (origin|WasAtMin|
|000047a0| 20 7c 7c 20 64 65 73 63 | 72 2d 3e 6f 72 69 67 69 | || desc|r->origi|
|000047b0| 6e 20 3c 20 6d 69 6e 29 | 20 64 65 73 63 72 2d 3e |n < min)| descr->|
|000047c0| 6f 72 69 67 69 6e 20 3d | 20 6d 69 6e 3b 0d 09 65 |origin =| min;..e|
|000047d0| 6c 73 65 20 69 66 20 28 | 6f 72 69 67 69 6e 57 61 |lse if (|originWa|
|000047e0| 73 41 74 4d 61 78 20 7c | 7c 20 64 65 73 63 72 2d |sAtMax ||| descr-|
|000047f0| 3e 6f 72 69 67 69 6e 20 | 3e 20 6d 61 78 29 20 64 |>origin |> max) d|
|00004800| 65 73 63 72 2d 3e 6f 72 | 69 67 69 6e 20 3d 20 6d |escr->or|igin = m|
|00004810| 61 78 3b 0d 09 64 65 73 | 63 72 2d 3e 6d 69 6e 20 |ax;..des|cr->min |
|00004820| 3d 20 6d 69 6e 3b 0d 09 | 64 65 73 63 72 2d 3e 6d |= min;..|descr->m|
|00004830| 61 78 20 3d 20 6d 61 78 | 3b 0d 09 72 65 74 75 72 |ax = max|;..retur|
|00004840| 6e 20 72 65 74 76 61 6c | 3b 0d 7d 0d 0d 0d 76 6f |n retval|;.}...vo|
|00004850| 69 64 20 51 33 4f 62 6a | 65 63 74 5f 44 69 73 70 |id Q3Obj|ect_Disp|
|00004860| 6f 73 65 49 66 4e 6f 74 | 4e 69 6c 28 54 51 33 4f |oseIfNot|Nil(TQ3O|
|00004870| 62 6a 65 63 74 20 6f 62 | 6a 29 0d 09 2f 2f 20 64 |bject ob|j)..// d|
|00004880| 69 73 70 6f 73 65 73 20 | 6f 62 6a 20 69 66 20 69 |isposes |obj if i|
|00004890| 74 20 69 73 20 6e 6f 74 | 20 4e 55 4c 4c 0d 7b 0d |t is not| NULL.{.|
|000048a0| 09 69 66 20 28 6f 62 6a | 20 21 3d 20 4e 55 4c 4c |.if (obj| != NULL|
|000048b0| 29 20 51 33 4f 62 6a 65 | 63 74 5f 44 69 73 70 6f |) Q3Obje|ct_Dispo|
|000048c0| 73 65 28 6f 62 6a 29 3b | 0d 7d 0d 0d 73 74 61 74 |se(obj);|.}..stat|
|000048d0| 69 63 20 76 6f 69 64 20 | 53 65 74 44 69 66 66 75 |ic void |SetDiffu|
|000048e0| 73 65 43 6f 6c 6f 72 28 | 54 51 33 41 74 74 72 69 |seColor(|TQ3Attri|
|000048f0| 62 75 74 65 53 65 74 20 | 61 74 74 72 2c 20 52 47 |buteSet |attr, RG|
|00004900| 42 43 6f 6c 6f 72 2a 20 | 63 6f 6c 6f 72 29 0d 09 |BColor* |color)..|
|00004910| 2f 2f 20 73 65 74 73 20 | 74 68 65 20 64 69 66 66 |// sets |the diff|
|00004920| 75 73 65 20 63 6f 6c 6f | 72 20 6f 66 20 74 68 65 |use colo|r of the|
|00004930| 20 67 69 76 65 6e 20 61 | 74 74 72 69 62 75 74 65 | given a|ttribute|
|00004940| 0d 7b 0d 09 54 51 33 43 | 6f 6c 6f 72 52 47 42 09 |.{..TQ3C|olorRGB.|
|00004950| 09 09 6d 79 43 6f 6c 6f | 72 3b 0d 0d 09 6d 79 43 |..myColo|r;...myC|
|00004960| 6f 6c 6f 72 2e 72 20 3d | 20 28 28 64 6f 75 62 6c |olor.r =| ((doubl|
|00004970| 65 29 28 63 6f 6c 6f 72 | 2d 3e 72 65 64 29 29 2f |e)(color|->red))/|
|00004980| 28 28 64 6f 75 62 6c 65 | 29 30 78 30 46 46 46 46 |((double|)0x0FFFF|
|00004990| 29 3b 0d 09 6d 79 43 6f | 6c 6f 72 2e 67 20 3d 20 |);..myCo|lor.g = |
|000049a0| 28 28 64 6f 75 62 6c 65 | 29 28 63 6f 6c 6f 72 2d |((double|)(color-|
|000049b0| 3e 67 72 65 65 6e 29 29 | 2f 28 28 64 6f 75 62 6c |>green))|/((doubl|
|000049c0| 65 29 30 78 30 46 46 46 | 46 29 3b 0d 09 6d 79 43 |e)0x0FFF|F);..myC|
|000049d0| 6f 6c 6f 72 2e 62 20 3d | 20 28 28 64 6f 75 62 6c |olor.b =| ((doubl|
|000049e0| 65 29 28 63 6f 6c 6f 72 | 2d 3e 62 6c 75 65 29 29 |e)(color|->blue))|
|000049f0| 2f 28 28 64 6f 75 62 6c | 65 29 30 78 30 46 46 46 |/((doubl|e)0x0FFF|
|00004a00| 46 29 3b 0d 0d 09 51 33 | 41 74 74 72 69 62 75 74 |F);...Q3|Attribut|
|00004a10| 65 53 65 74 5f 41 64 64 | 28 61 74 74 72 2c 20 6b |eSet_Add|(attr, k|
|00004a20| 51 33 41 74 74 72 69 62 | 75 74 65 54 79 70 65 44 |Q3Attrib|uteTypeD|
|00004a30| 69 66 66 75 73 65 43 6f | 6c 6f 72 2c 20 26 6d 79 |iffuseCo|lor, &my|
|00004a40| 43 6f 6c 6f 72 29 3b 09 | 2f 2f 20 63 72 65 61 74 |Color);.|// creat|
|00004a50| 65 20 63 6f 6c 6f 72 0d | 7d 0d 0d 0d 73 74 61 74 |e color.|}...stat|
|00004a60| 69 63 20 42 6f 6f 6c 65 | 61 6e 20 53 63 61 6c 65 |ic Boole|an Scale|
|00004a70| 4f 6e 65 28 64 6f 75 62 | 6c 65 20 72 78 2c 20 66 |One(doub|le rx, f|
|00004a80| 6c 6f 61 74 2a 20 63 6f | 6e 73 74 20 78 2c 20 4f |loat* co|nst x, O|
|00004a90| 6e 65 53 63 61 6c 65 2a | 20 63 6f 6e 73 74 20 73 |neScale*| const s|
|00004aa0| 63 61 6c 65 29 0d 09 2f | 2f 20 74 72 61 6e 73 66 |cale)../|/ transf|
|00004ab0| 6f 72 6d 73 20 72 78 20 | 74 6f 20 2a 78 20 61 63 |orms rx |to *x ac|
|00004ac0| 63 6f 72 64 69 6e 67 20 | 74 6f 20 73 63 61 6c 65 |cording |to scale|
|00004ad0| 0d 7b 0d 09 42 6f 6f 6c | 65 61 6e 09 72 65 74 76 |.{..Bool|ean.retv|
|00004ae0| 61 6c 3d 74 72 75 65 3b | 0d 0d 09 69 66 20 28 72 |al=true;|...if (r|
|00004af0| 78 3c 73 63 61 6c 65 2d | 3e 6c 6f 77 65 72 4c 69 |x<scale-|>lowerLi|
|00004b00| 6d 69 74 29 0d 09 7b 09 | 72 65 74 76 61 6c 20 3d |mit)..{.|retval =|
|00004b10| 20 66 61 6c 73 65 3b 0d | 09 09 72 78 20 3d 20 73 | false;.|..rx = s|
|00004b20| 63 61 6c 65 2d 3e 6c 6f | 77 65 72 4c 69 6d 69 74 |cale->lo|werLimit|
|00004b30| 3b 0d 09 7d 0d 09 69 66 | 20 28 72 78 3e 73 63 61 |;..}..if| (rx>sca|
|00004b40| 6c 65 2d 3e 75 70 70 65 | 72 4c 69 6d 69 74 29 0d |le->uppe|rLimit).|
|00004b50| 09 7b 09 72 65 74 76 61 | 6c 20 3d 20 66 61 6c 73 |.{.retva|l = fals|
|00004b60| 65 3b 0d 09 09 72 78 20 | 3d 20 73 63 61 6c 65 2d |e;...rx |= scale-|
|00004b70| 3e 75 70 70 65 72 4c 69 | 6d 69 74 3b 0d 09 7d 0d |>upperLi|mit;..}.|
|00004b80| 09 2a 78 20 3d 20 28 72 | 78 20 2d 20 73 63 61 6c |.*x = (r|x - scal|
|00004b90| 65 2d 3e 72 4d 69 6e 29 | 2a 73 63 61 6c 65 2d 3e |e->rMin)|*scale->|
|00004ba0| 73 63 61 6c 65 20 2b 20 | 73 63 61 6c 65 2d 3e 6f |scale + |scale->o|
|00004bb0| 66 66 73 65 74 3b 0d 09 | 72 65 74 75 72 6e 20 72 |ffset;..|return r|
|00004bc0| 65 74 76 61 6c 3b 0d 7d | 0d 0d 42 6f 6f 6c 65 61 |etval;.}|..Boolea|
|00004bd0| 6e 20 53 63 61 6c 65 28 | 64 6f 75 62 6c 65 20 72 |n Scale(|double r|
|00004be0| 78 2c 20 64 6f 75 62 6c | 65 20 72 79 2c 20 64 6f |x, doubl|e ry, do|
|00004bf0| 75 62 6c 65 20 72 7a 2c | 20 66 6c 6f 61 74 2a 20 |uble rz,| float* |
|00004c00| 63 6f 6e 73 74 20 78 2c | 20 66 6c 6f 61 74 2a 20 |const x,| float* |
|00004c10| 63 6f 6e 73 74 20 79 2c | 20 66 6c 6f 61 74 2a 20 |const y,| float* |
|00004c20| 63 6f 6e 73 74 20 7a 29 | 0d 09 2f 2f 20 74 72 61 |const z)|..// tra|
|00004c30| 6e 73 66 6f 72 6d 73 20 | 64 6f 75 62 6c 65 2d 63 |nsforms |double-c|
|00004c40| 6f 6f 72 64 69 6e 61 74 | 65 20 28 6d 61 74 68 65 |oordinat|e (mathe|
|00004c50| 6d 61 74 69 63 61 6c 20 | 73 70 61 63 65 29 20 72 |matical |space) r|
|00004c60| 78 2c 20 72 79 2c 20 72 | 7a 0d 09 2f 2f 20 74 6f |x, ry, r|z..// to|
|00004c70| 20 66 6c 6f 61 74 2d 63 | 6f 6f 72 64 61 69 6e 74 | float-c|oordaint|
|00004c80| 65 73 20 28 51 44 33 44 | 20 73 70 61 63 65 29 0d |es (QD3D| space).|
|00004c90| 7b 0d 09 72 65 74 75 72 | 6e 0d 09 28 09 53 63 61 |{..retur|n..(.Sca|
|00004ca0| 6c 65 4f 6e 65 28 72 78 | 2c 20 78 2c 20 26 73 63 |leOne(rx|, x, &sc|
|00004cb0| 61 6c 69 6e 67 5b 30 5d | 29 20 7c 0d 09 09 53 63 |aling[0]|) |...Sc|
|00004cc0| 61 6c 65 4f 6e 65 28 72 | 79 2c 20 79 2c 20 26 73 |aleOne(r|y, y, &s|
|00004cd0| 63 61 6c 69 6e 67 5b 31 | 5d 29 20 7c 0d 09 09 53 |caling[1|]) |...S|
|00004ce0| 63 61 6c 65 4f 6e 65 28 | 72 7a 2c 20 7a 2c 20 26 |caleOne(|rz, z, &|
|00004cf0| 73 63 61 6c 69 6e 67 5b | 32 5d 29 0d 09 29 3b 0d |scaling[|2])..);.|
|00004d00| 7d 0d 0d 0d 73 74 61 74 | 69 63 20 76 6f 69 64 20 |}...stat|ic void |
|00004d10| 53 65 74 53 63 61 6c 65 | 28 4f 6e 65 53 63 61 6c |SetScale|(OneScal|
|00004d20| 65 2a 20 63 6f 6e 73 74 | 20 73 63 61 6c 65 2c 20 |e* const| scale, |
|00004d30| 53 63 61 6c 69 6e 67 44 | 65 73 63 72 2a 20 64 65 |ScalingD|escr* de|
|00004d40| 73 63 72 29 0d 09 2f 2f | 20 73 65 74 75 70 20 73 |scr)..//| setup s|
|00004d50| 63 61 6c 69 6e 67 20 69 | 6e 66 6f 0d 7b 0d 09 64 |caling i|nfo.{..d|
|00004d60| 6f 75 62 6c 65 09 64 20 | 3d 20 64 65 73 63 72 2d |ouble.d |= descr-|
|00004d70| 3e 6d 61 78 20 2d 20 64 | 65 73 63 72 2d 3e 6d 69 |>max - d|escr->mi|
|00004d80| 6e 3b 0d 09 64 6f 75 62 | 6c 65 09 6c 65 6e 20 3d |n;..doub|le.len =|
|00004d90| 20 64 65 73 63 72 2d 3e | 6c 65 6e 67 74 68 2f 31 | descr->|length/1|
|00004da0| 30 30 3b 0d 0d 09 73 63 | 61 6c 65 2d 3e 72 4d 69 |00;...sc|ale->rMi|
|00004db0| 6e 20 3d 20 64 65 73 63 | 72 2d 3e 6d 69 6e 3b 0d |n = desc|r->min;.|
|00004dc0| 09 73 63 61 6c 65 2d 3e | 72 4d 61 78 20 3d 20 64 |.scale->|rMax = d|
|00004dd0| 65 73 63 72 2d 3e 6d 61 | 78 3b 0d 09 73 63 61 6c |escr->ma|x;..scal|
|00004de0| 65 2d 3e 73 63 61 6c 65 | 20 3d 20 6c 65 6e 20 2a |e->scale| = len *|
|00004df0| 20 32 2f 64 3b 0d 09 73 | 63 61 6c 65 2d 3e 6c 6f | 2/d;..s|cale->lo|
|00004e00| 77 65 72 4c 69 6d 69 74 | 20 3d 20 64 65 73 63 72 |werLimit| = descr|
|00004e10| 2d 3e 6d 69 6e 20 2d 20 | 31 30 2a 64 3b 0d 09 73 |->min - |10*d;..s|
|00004e20| 63 61 6c 65 2d 3e 75 70 | 70 65 72 4c 69 6d 69 74 |cale->up|perLimit|
|00004e30| 20 3d 20 64 65 73 63 72 | 2d 3e 6d 61 78 20 2b 20 | = descr|->max + |
|00004e40| 31 30 2a 64 3b 0d 09 73 | 63 61 6c 65 2d 3e 6f 66 |10*d;..s|cale->of|
|00004e50| 66 73 65 74 20 3d 20 2d | 6c 65 6e 3b 0d 7d 0d 0d |fset = -|len;.}..|
|00004e60| 73 74 61 74 69 63 20 76 | 6f 69 64 20 55 73 65 47 |static v|oid UseG|
|00004e70| 72 61 66 46 6f 72 53 63 | 61 6c 69 6e 67 28 47 72 |rafForSc|aling(Gr|
|00004e80| 61 66 33 44 49 6e 66 6f | 2a 20 63 6f 6e 73 74 20 |af3DInfo|* const |
|00004e90| 67 72 61 66 29 0d 09 2f | 2f 20 75 73 65 20 73 65 |graf)../|/ use se|
|00004ea0| 74 74 69 6e 67 73 20 6f | 66 20 67 72 61 70 68 20 |ttings o|f graph |
|00004eb0| 74 6f 20 73 65 74 20 63 | 75 72 72 65 6e 74 20 63 |to set c|urrent c|
|00004ec0| 61 6c 69 6e 67 20 70 61 | 72 61 6d 65 74 65 72 73 |aling pa|rameters|
|00004ed0| 0d 7b 0d 09 53 65 74 53 | 63 61 6c 65 28 26 73 63 |.{..SetS|cale(&sc|
|00004ee0| 61 6c 69 6e 67 5b 30 5d | 2c 20 26 67 72 61 66 2d |aling[0]|, &graf-|
|00004ef0| 3e 73 63 61 6c 69 6e 67 | 44 65 73 63 72 5b 30 5d |>scaling|Descr[0]|
|00004f00| 29 3b 09 2f 2f 20 73 65 | 74 75 70 20 73 63 61 6c |);.// se|tup scal|
|00004f10| 69 6e 67 20 70 61 72 61 | 6d 65 74 65 72 73 0d 09 |ing para|meters..|
|00004f20| 53 65 74 53 63 61 6c 65 | 28 26 73 63 61 6c 69 6e |SetScale|(&scalin|
|00004f30| 67 5b 31 5d 2c 20 26 67 | 72 61 66 2d 3e 73 63 61 |g[1], &g|raf->sca|
|00004f40| 6c 69 6e 67 44 65 73 63 | 72 5b 31 5d 29 3b 0d 09 |lingDesc|r[1]);..|
|00004f50| 53 65 74 53 63 61 6c 65 | 28 26 73 63 61 6c 69 6e |SetScale|(&scalin|
|00004f60| 67 5b 32 5d 2c 20 26 67 | 72 61 66 2d 3e 73 63 61 |g[2], &g|raf->sca|
|00004f70| 6c 69 6e 67 44 65 73 63 | 72 5b 32 5d 29 3b 0d 7d |lingDesc|r[2]);.}|
|00004f80| 0d 0d 0d 76 6f 69 64 20 | 47 65 74 47 72 61 66 52 |...void |GetGrafR|
|00004f90| 61 6e 67 65 28 73 68 6f | 72 74 20 77 68 69 63 68 |ange(sho|rt which|
|00004fa0| 2c 20 64 6f 75 62 6c 65 | 2a 20 63 6f 6e 73 74 20 |, double|* const |
|00004fb0| 6d 69 6e 2c 20 64 6f 75 | 62 6c 65 2a 20 63 6f 6e |min, dou|ble* con|
|00004fc0| 73 74 20 6d 61 78 29 0d | 09 2f 2f 20 52 65 74 75 |st max).|.// Retu|
|00004fd0| 72 6e 73 20 74 68 65 20 | 72 61 6e 67 65 20 6f 66 |rns the |range of|
|00004fe0| 20 74 68 65 20 67 72 61 | 70 68 20 69 6e 20 74 68 | the gra|ph in th|
|00004ff0| 65 20 67 69 76 65 6e 20 | 64 69 72 65 63 74 69 6f |e given |directio|
|00005000| 6e 0d 09 2f 2f 20 77 68 | 69 63 68 3a 20 30 20 66 |n..// wh|ich: 0 f|
|00005010| 6f 72 20 78 2c 20 31 20 | 66 6f 72 20 79 2c 20 32 |or x, 1 |for y, 2|
|00005020| 20 66 6f 72 20 7a 0d 7b | 0d 09 69 66 20 28 6d 69 | for z.{|..if (mi|
|00005030| 6e 29 20 2a 6d 69 6e 20 | 3d 20 67 72 61 66 33 44 |n) *min |= graf3D|
|00005040| 49 6e 66 6f 2e 73 63 61 | 6c 69 6e 67 44 65 73 63 |Info.sca|lingDesc|
|00005050| 72 5b 77 68 69 63 68 5d | 2e 6d 69 6e 3b 0d 09 69 |r[which]|.min;..i|
|00005060| 66 20 28 6d 61 78 29 20 | 2a 6d 61 78 20 3d 20 67 |f (max) |*max = g|
|00005070| 72 61 66 33 44 49 6e 66 | 6f 2e 73 63 61 6c 69 6e |raf3DInf|o.scalin|
|00005080| 67 44 65 73 63 72 5b 77 | 68 69 63 68 5d 2e 6d 61 |gDescr[w|hich].ma|
|00005090| 78 3b 0d 7d 0d 0d 76 6f | 69 64 20 53 65 74 47 72 |x;.}..vo|id SetGr|
|000050a0| 61 66 52 61 6e 67 65 28 | 73 68 6f 72 74 20 77 68 |afRange(|short wh|
|000050b0| 69 63 68 2c 20 64 6f 75 | 62 6c 65 20 6d 69 6e 2c |ich, dou|ble min,|
|000050c0| 20 64 6f 75 62 6c 65 20 | 6d 61 78 29 0d 09 2f 2f | double |max)..//|
|000050d0| 20 53 65 74 73 20 74 68 | 65 20 72 61 6e 67 65 20 | Sets th|e range |
|000050e0| 6f 66 20 74 68 65 20 67 | 72 61 70 68 20 69 6e 20 |of the g|raph in |
|000050f0| 74 68 65 20 67 69 76 65 | 6e 20 64 69 72 65 63 74 |the give|n direct|
|00005100| 69 6f 6e 0d 09 2f 2f 20 | 77 68 69 63 68 3a 20 30 |ion..// |which: 0|
|00005110| 20 66 6f 72 20 78 2c 20 | 31 20 66 6f 72 20 79 2c | for x, |1 for y,|
|00005120| 20 32 20 66 6f 72 20 7a | 0d 7b 0d 09 53 65 74 41 | 2 for z|.{..SetA|
|00005130| 78 69 73 52 61 6e 67 65 | 28 26 67 72 61 66 33 44 |xisRange|(&graf3D|
|00005140| 49 6e 66 6f 2e 73 63 61 | 6c 69 6e 67 44 65 73 63 |Info.sca|lingDesc|
|00005150| 72 5b 77 68 69 63 68 5d | 2c 20 6d 69 6e 2c 20 6d |r[which]|, min, m|
|00005160| 61 78 29 3b 0d 09 53 65 | 74 53 63 61 6c 65 28 26 |ax);..Se|tScale(&|
|00005170| 73 63 61 6c 69 6e 67 5b | 77 68 69 63 68 5d 2c 20 |scaling[|which], |
|00005180| 26 67 72 61 66 33 44 49 | 6e 66 6f 2e 73 63 61 6c |&graf3DI|nfo.scal|
|00005190| 69 6e 67 44 65 73 63 72 | 5b 77 68 69 63 68 5d 29 |ingDescr|[which])|
|000051a0| 3b 0d 7d 09 0d 0d 23 70 | 72 61 67 6d 61 20 6d 61 |;.}...#p|ragma ma|
|000051b0| 72 6b 20 2d 0d 0d 73 74 | 61 74 69 63 20 76 6f 69 |rk -..st|atic voi|
|000051c0| 64 20 41 64 64 53 6f 6c | 69 64 4c 69 6e 65 28 54 |d AddSol|idLine(T|
|000051d0| 51 33 47 65 6f 6d 65 74 | 72 79 4f 62 6a 65 63 74 |Q3Geomet|ryObject|
|000051e0| 20 6f 62 6a 2c 20 54 51 | 33 4c 69 6e 65 44 61 74 | obj, TQ|3LineDat|
|000051f0| 61 2a 20 64 61 74 61 29 | 0d 09 2f 2f 20 61 64 64 |a* data)|..// add|
|00005200| 73 20 61 20 73 6f 6c 69 | 64 20 6c 69 6e 65 20 77 |s a soli|d line w|
|00005210| 69 74 68 20 74 68 69 63 | 6b 6e 65 73 73 20 61 78 |ith thic|kness ax|
|00005220| 69 73 54 68 69 63 6b 6e | 65 73 73 20 74 6f 0d 09 |isThickn|ess to..|
|00005230| 2f 2f 20 6f 62 6a 2c 20 | 77 68 65 72 65 69 6e 20 |// obj, |wherein |
|00005240| 6f 62 6a 20 69 73 20 61 | 20 6d 65 73 68 20 6f 62 |obj is a| mesh ob|
|00005250| 6a 65 63 74 0d 7b 0d 09 | 23 64 65 66 69 6e 65 20 |ject.{..|#define |
|00005260| 73 79 6d 6d 65 74 72 79 | 20 36 09 09 09 2f 2a 20 |symmetry| 6.../* |
|00005270| 73 79 6d 6d 65 74 72 79 | 20 6f 66 20 74 68 65 20 |symmetry| of the |
|00005280| 70 72 69 73 6d 20 77 65 | 20 75 73 65 20 66 6f 72 |prism we| use for|
|00005290| 20 63 72 65 61 74 69 6e | 67 20 61 78 69 73 20 2a | creatin|g axis *|
|000052a0| 2f 0d 0d 09 73 74 61 74 | 69 63 20 63 6f 6e 73 74 |/...stat|ic const|
|000052b0| 20 54 51 33 56 65 63 74 | 6f 72 33 44 20 78 20 3d | TQ3Vect|or3D x =|
|000052c0| 20 7b 31 2c 30 2c 30 7d | 2c 20 79 20 3d 20 7b 30 | {1,0,0}|, y = {0|
|000052d0| 2c 31 2c 30 7d 2c 20 7a | 20 3d 20 7b 30 2c 30 2c |,1,0}, z| = {0,0,|
|000052e0| 31 7d 3b 0d 0d 09 54 51 | 33 56 65 63 74 6f 72 33 |1};...TQ|3Vector3|
|000052f0| 44 09 09 6c 69 6e 65 56 | 65 63 74 6f 72 2c 20 6c |D..lineV|ector, l|
|00005300| 69 6e 65 56 65 63 74 6f | 72 31 3b 09 09 2f 2f 20 |ineVecto|r1;..// |
|00005310| 76 65 63 74 6f 72 20 61 | 6c 6f 6e 67 20 6c 69 6e |vector a|long lin|
|00005320| 65 2c 20 61 6e 64 20 75 | 6e 69 74 20 76 65 63 74 |e, and u|nit vect|
|00005330| 6f 72 20 61 6c 6f 6e 67 | 20 6c 69 6e 65 0d 09 54 |or along| line..T|
|00005340| 51 33 56 65 63 74 6f 72 | 33 44 09 09 6e 3b 0d 09 |Q3Vector|3D..n;..|
|00005350| 66 6c 6f 61 74 09 09 09 | 75 78 2c 20 75 79 2c 20 |float...|ux, uy, |
|00005360| 75 7a 3b 0d 09 66 6c 6f | 61 74 09 09 09 6c 69 6e |uz;..flo|at...lin|
|00005370| 65 4c 65 6e 67 74 68 3b | 0d 09 54 51 33 4d 65 73 |eLength;|..TQ3Mes|
|00005380| 68 56 65 72 74 65 78 09 | 76 65 72 74 69 63 65 73 |hVertex.|vertices|
|00005390| 5b 32 2a 73 79 6d 6d 65 | 74 72 79 2b 32 5d 3b 0d |[2*symme|try+2];.|
|000053a0| 09 54 51 33 56 65 72 74 | 65 78 33 44 09 09 76 65 |.TQ3Vert|ex3D..ve|
|000053b0| 72 74 65 78 20 3d 20 7b | 20 7b 30 2c 30 2c 30 7d |rtex = {| {0,0,0}|
|000053c0| 2c 4e 55 4c 4c 20 7d 3b | 0d 09 6c 6f 6e 67 09 09 |,NULL };|..long..|
|000053d0| 09 69 3b 0d 09 54 51 33 | 4d 61 74 72 69 78 34 78 |.i;..TQ3|Matrix4x|
|000053e0| 34 09 6d 61 74 72 69 78 | 3b 0d 0d 09 51 33 50 6f |4.matrix|;...Q3Po|
|000053f0| 69 6e 74 33 44 5f 53 75 | 62 74 72 61 63 74 28 26 |int3D_Su|btract(&|
|00005400| 64 61 74 61 2d 3e 76 65 | 72 74 69 63 65 73 5b 31 |data->ve|rtices[1|
|00005410| 5d 2e 70 6f 69 6e 74 2c | 20 26 64 61 74 61 2d 3e |].point,| &data->|
|00005420| 76 65 72 74 69 63 65 73 | 5b 30 5d 2e 70 6f 69 6e |vertices|[0].poin|
|00005430| 74 2c 26 6c 69 6e 65 56 | 65 63 74 6f 72 29 3b 09 |t,&lineV|ector);.|
|00005440| 2f 2f 20 76 65 63 74 6f | 72 20 61 6c 6f 6e 67 20 |// vecto|r along |
|00005450| 6c 69 6e 65 0d 09 6c 69 | 6e 65 4c 65 6e 67 74 68 |line..li|neLength|
|00005460| 20 3d 20 51 33 56 65 63 | 74 6f 72 33 44 5f 4c 65 | = Q3Vec|tor3D_Le|
|00005470| 6e 67 74 68 28 26 6c 69 | 6e 65 56 65 63 74 6f 72 |ngth(&li|neVector|
|00005480| 29 3b 0d 09 69 66 20 28 | 6c 69 6e 65 4c 65 6e 67 |);..if (|lineLeng|
|00005490| 74 68 20 3c 31 65 2d 31 | 35 29 20 72 65 74 75 72 |th <1e-1|5) retur|
|000054a0| 6e 3b 09 09 09 09 09 09 | 2f 2f 20 77 65 20 72 65 |n;......|// we re|
|000054b0| 6d 61 69 6e 20 6f 6e 20 | 74 68 65 20 73 61 66 65 |main on |the safe|
|000054c0| 20 73 69 64 65 0d 0d 09 | 51 33 56 65 63 74 6f 72 | side...|Q3Vector|
|000054d0| 33 44 5f 53 63 61 6c 65 | 28 26 6c 69 6e 65 56 65 |3D_Scale|(&lineVe|
|000054e0| 63 74 6f 72 2c 20 31 2f | 6c 69 6e 65 4c 65 6e 67 |ctor, 1/|lineLeng|
|000054f0| 74 68 2c 20 26 6c 69 6e | 65 56 65 63 74 6f 72 31 |th, &lin|eVector1|
|00005500| 29 3b 09 09 2f 2f 20 75 | 6e 69 74 20 76 65 63 74 |);..// u|nit vect|
|00005510| 6f 72 20 61 6c 6f 6e 67 | 20 6c 69 6e 65 0d 0d 09 |or along| line...|
|00005520| 2f 2f 20 6e 6f 77 20 77 | 65 20 66 69 6e 64 20 61 |// now w|e find a|
|00005530| 20 75 6e 69 74 20 76 65 | 63 74 6f 72 20 74 68 61 | unit ve|ctor tha|
|00005540| 74 20 69 73 20 63 6c 65 | 61 72 6c 79 20 6e 6f 74 |t is cle|arly not|
|00005550| 20 70 61 72 61 6c 6c 65 | 6c 20 74 6f 20 6c 69 6e | paralle|l to lin|
|00005560| 65 56 65 63 74 6f 72 31 | 3a 0d 09 75 78 20 3d 20 |eVector1|:..ux = |
|00005570| 66 61 62 73 28 6c 69 6e | 65 56 65 63 74 6f 72 31 |fabs(lin|eVector1|
|00005580| 2e 78 29 3b 0d 09 75 79 | 20 3d 20 66 61 62 73 28 |.x);..uy| = fabs(|
|00005590| 6c 69 6e 65 56 65 63 74 | 6f 72 31 2e 79 29 3b 0d |lineVect|or1.y);.|
|000055a0| 09 75 7a 20 3d 20 66 61 | 62 73 28 6c 69 6e 65 56 |.uz = fa|bs(lineV|
|000055b0| 65 63 74 6f 72 31 2e 7a | 29 3b 0d 09 69 66 20 28 |ector1.z|);..if (|
|000055c0| 75 78 20 3c 20 75 79 20 | 26 26 20 75 78 20 3c 20 |ux < uy |&& ux < |
|000055d0| 75 7a 29 09 09 09 2f 2f | 20 69 66 20 75 78 20 69 |uz)...//| if ux i|
|000055e0| 73 20 73 6d 61 6c 6c 65 | 73 74 0d 09 09 6e 20 3d |s smalle|st...n =|
|000055f0| 20 78 3b 09 09 09 09 09 | 09 2f 2f 20 74 68 65 6e | x;.....|.// then|
|00005600| 20 7b 31 2c 30 2c 30 7d | 20 69 73 20 61 20 67 6f | {1,0,0}| is a go|
|00005610| 6f 64 20 63 68 6f 69 63 | 65 0d 09 65 6c 73 65 20 |od choic|e..else |
|00005620| 69 66 20 28 75 79 20 3c | 20 75 7a 29 09 09 09 09 |if (uy <| uz)....|
|00005630| 2f 2f 20 69 66 20 75 79 | 20 69 73 20 73 6d 61 6c |// if uy| is smal|
|00005640| 6c 65 73 74 0d 09 09 6e | 20 3d 20 79 3b 09 09 09 |lest...n| = y;...|
|00005650| 09 09 09 2f 2f 20 74 68 | 65 6e 20 7b 30 2c 31 2c |...// th|en {0,1,|
|00005660| 30 7d 20 69 73 20 61 20 | 67 6f 6f 64 20 63 68 6f |0} is a |good cho|
|00005670| 69 63 65 0d 09 65 6c 73 | 65 20 6e 20 3d 20 7a 3b |ice..els|e n = z;|
|00005680| 09 09 09 09 09 09 2f 2f | 20 69 66 20 75 7a 20 69 |......//| if uz i|
|00005690| 73 20 73 6d 61 6c 6c 65 | 73 74 20 7b 30 2c 30 2c |s smalle|st {0,0,|
|000056a0| 31 7d 20 69 73 20 61 20 | 67 6f 6f 64 20 63 68 6f |1} is a |good cho|
|000056b0| 69 63 65 0d 0d 09 2f 2f | 20 6e 6f 77 20 63 72 65 |ice...//| now cre|
|000056c0| 61 74 65 20 76 65 63 74 | 6f 72 20 6e 20 74 68 61 |ate vect|or n tha|
|000056d0| 74 20 69 73 20 70 65 72 | 70 65 6e 64 69 63 75 6c |t is per|pendicul|
|000056e0| 61 72 20 74 6f 20 6c 69 | 6e 65 56 65 63 74 6f 72 |ar to li|neVector|
|000056f0| 31 20 61 6e 64 20 68 61 | 73 20 6c 65 6e 67 74 68 |1 and ha|s length|
|00005700| 20 61 78 69 73 54 68 69 | 63 6b 6e 65 73 73 2f 32 | axisThi|ckness/2|
|00005710| 0d 09 51 33 56 65 63 74 | 6f 72 33 44 5f 43 72 6f |..Q3Vect|or3D_Cro|
|00005720| 73 73 28 26 6c 69 6e 65 | 56 65 63 74 6f 72 31 2c |ss(&line|Vector1,|
|00005730| 20 26 6e 2c 20 26 6e 29 | 3b 0d 09 51 33 56 65 63 | &n, &n)|;..Q3Vec|
|00005740| 74 6f 72 33 44 5f 53 63 | 61 6c 65 28 26 6e 2c 20 |tor3D_Sc|ale(&n, |
|00005750| 67 72 61 66 33 44 49 6e | 66 6f 2e 61 78 69 73 54 |graf3DIn|fo.axisT|
|00005760| 68 69 63 6b 6e 65 73 73 | 2f 32 2c 20 26 6e 29 3b |hickness|/2, &n);|
|00005770| 0d 09 0d 09 51 33 4d 65 | 73 68 5f 44 65 6c 61 79 |....Q3Me|sh_Delay|
|00005780| 55 70 64 61 74 65 73 28 | 6f 62 6a 29 3b 0d 0d 09 |Updates(|obj);...|
|00005790| 2f 2f 20 6e 6f 77 20 61 | 64 64 20 74 68 65 20 76 |// now a|dd the v|
|000057a0| 65 72 74 69 63 65 73 20 | 74 6f 20 6f 62 6a 0d 09 |ertices |to obj..|
|000057b0| 51 33 4d 61 74 72 69 78 | 34 78 34 5f 53 65 74 52 |Q3Matrix|4x4_SetR|
|000057c0| 6f 74 61 74 65 41 62 6f | 75 74 41 78 69 73 28 26 |otateAbo|utAxis(&|
|000057d0| 6d 61 74 72 69 78 2c 20 | 26 64 61 74 61 2d 3e 76 |matrix, |&data->v|
|000057e0| 65 72 74 69 63 65 73 5b | 30 5d 2e 70 6f 69 6e 74 |ertices[|0].point|
|000057f0| 2c 20 26 6c 69 6e 65 56 | 65 63 74 6f 72 31 2c 20 |, &lineV|ector1, |
|00005800| 32 2a 33 2e 31 34 31 35 | 39 32 36 2f 73 79 6d 6d |2*3.1415|926/symm|
|00005810| 65 74 72 79 29 3b 0d 09 | 66 6f 72 20 28 69 3d 30 |etry);..|for (i=0|
|00005820| 3b 20 69 3c 73 79 6d 6d | 65 74 72 79 3b 20 69 2b |; i<symm|etry; i+|
|00005830| 2b 29 0d 09 7b 0d 09 09 | 51 33 50 6f 69 6e 74 33 |+)..{...|Q3Point3|
|00005840| 44 5f 56 65 63 74 6f 72 | 33 44 5f 41 64 64 28 26 |D_Vector|3D_Add(&|
|00005850| 64 61 74 61 2d 3e 76 65 | 72 74 69 63 65 73 5b 30 |data->ve|rtices[0|
|00005860| 5d 2e 70 6f 69 6e 74 2c | 20 26 6e 2c 20 26 76 65 |].point,| &n, &ve|
|00005870| 72 74 65 78 2e 70 6f 69 | 6e 74 29 3b 0d 09 09 76 |rtex.poi|nt);...v|
|00005880| 65 72 74 69 63 65 73 5b | 32 2a 69 20 2b 20 28 69 |ertices[|2*i + (i|
|00005890| 26 31 29 5d 20 3d 20 51 | 33 4d 65 73 68 5f 56 65 |&1)] = Q|3Mesh_Ve|
|000058a0| 72 74 65 78 4e 65 77 28 | 6f 62 6a 2c 20 26 76 65 |rtexNew(|obj, &ve|
|000058b0| 72 74 65 78 29 3b 0d 09 | 09 51 33 50 6f 69 6e 74 |rtex);..|.Q3Point|
|000058c0| 33 44 5f 56 65 63 74 6f | 72 33 44 5f 41 64 64 28 |3D_Vecto|r3D_Add(|
|000058d0| 26 64 61 74 61 2d 3e 76 | 65 72 74 69 63 65 73 5b |&data->v|ertices[|
|000058e0| 31 5d 2e 70 6f 69 6e 74 | 2c 20 26 6e 2c 20 26 76 |1].point|, &n, &v|
|000058f0| 65 72 74 65 78 2e 70 6f | 69 6e 74 29 3b 0d 09 09 |ertex.po|int);...|
|00005900| 76 65 72 74 69 63 65 73 | 5b 32 2a 69 2b 28 28 69 |vertices|[2*i+((i|
|00005910| 2b 31 29 26 31 29 5d 20 | 3d 20 51 33 4d 65 73 68 |+1)&1)] |= Q3Mesh|
|00005920| 5f 56 65 72 74 65 78 4e | 65 77 28 6f 62 6a 2c 20 |_VertexN|ew(obj, |
|00005930| 26 76 65 72 74 65 78 29 | 3b 0d 09 09 51 33 56 65 |&vertex)|;...Q3Ve|
|00005940| 63 74 6f 72 33 44 5f 54 | 72 61 6e 73 66 6f 72 6d |ctor3D_T|ransform|
|00005950| 28 26 6e 2c 20 26 6d 61 | 74 72 69 78 2c 20 26 6e |(&n, &ma|trix, &n|
|00005960| 29 3b 09 09 09 09 2f 2f | 20 72 6f 74 61 74 65 20 |);....//| rotate |
|00005970| 6e 20 62 79 20 36 30 a1 | 0d 09 7d 0d 0d 09 2f 2f |n by 60.|..}...//|
|00005980| 20 6e 6f 77 20 61 64 64 | 20 74 68 65 20 66 61 63 | now add| the fac|
|00005990| 65 73 20 74 6f 20 6f 62 | 6a 0d 09 76 65 72 74 69 |es to ob|j..verti|
|000059a0| 63 65 73 5b 32 2a 73 79 | 6d 6d 65 74 72 79 5d 20 |ces[2*sy|mmetry] |
|000059b0| 3d 20 76 65 72 74 69 63 | 65 73 5b 30 5d 3b 09 09 |= vertic|es[0];..|
|000059c0| 09 09 09 09 2f 2f 20 74 | 68 69 73 20 73 69 6d 70 |....// t|his simp|
|000059d0| 6c 79 66 69 65 73 20 6f | 75 72 20 6c 6f 6f 70 0d |lyfies o|ur loop.|
|000059e0| 09 76 65 72 74 69 63 65 | 73 5b 32 2a 73 79 6d 6d |.vertice|s[2*symm|
|000059f0| 65 74 72 79 2b 31 5d 20 | 3d 20 76 65 72 74 69 63 |etry+1] |= vertic|
|00005a00| 65 73 5b 31 5d 3b 09 0d | 09 66 6f 72 20 28 69 3d |es[1];..|.for (i=|
|00005a10| 30 3b 20 69 3c 73 79 6d | 6d 65 74 72 79 3b 20 69 |0; i<sym|metry; i|
|00005a20| 2b 2b 29 0d 09 09 51 33 | 4d 65 73 68 5f 46 61 63 |++)...Q3|Mesh_Fac|
|00005a30| 65 4e 65 77 28 6f 62 6a | 2c 20 34 2c 20 26 76 65 |eNew(obj|, 4, &ve|
|00005a40| 72 74 69 63 65 73 5b 32 | 2a 69 5d 2c 20 4e 55 4c |rtices[2|*i], NUL|
|00005a50| 4c 29 3b 0d 0d 09 51 33 | 4d 65 73 68 5f 52 65 73 |L);...Q3|Mesh_Res|
|00005a60| 75 6d 65 55 70 64 61 74 | 65 73 28 6f 62 6a 29 3b |umeUpdat|es(obj);|
|00005a70| 0d 7d 0d 0d 74 79 70 65 | 64 65 66 20 73 74 72 75 |.}..type|def stru|
|00005a80| 63 74 09 09 09 2f 2f 20 | 70 61 72 61 6d 65 74 65 |ct...// |paramete|
|00005a90| 72 20 72 65 63 6f 72 64 | 20 66 6f 72 20 4d 61 6b |r record| for Mak|
|00005aa0| 65 41 78 69 73 0d 7b 0d | 09 54 51 33 47 72 6f 75 |eAxis.{.|.TQ3Grou|
|00005ab0| 70 4f 62 6a 65 63 74 09 | 6c 61 62 65 6c 73 3b 09 |pObject.|labels;.|
|00005ac0| 09 09 2f 2f 20 6c 61 62 | 65 6c 73 20 28 6f 72 20 |..// lab|els (or |
|00005ad0| 6e 69 6c 29 0d 09 54 51 | 33 47 72 6f 75 70 4f 62 |nil)..TQ|3GroupOb|
|00005ae0| 6a 65 63 74 09 66 61 74 | 41 78 65 73 3b 09 09 2f |ject.fat|Axes;../|
|00005af0| 2f 20 66 61 74 20 61 78 | 65 73 20 28 6f 72 20 6e |/ fat ax|es (or n|
|00005b00| 69 6c 29 0d 09 54 51 33 | 47 72 6f 75 70 4f 62 6a |il)..TQ3|GroupObj|
|00005b10| 65 63 74 09 66 69 6e 65 | 41 78 65 73 3b 09 09 2f |ect.fine|Axes;../|
|00005b20| 2f 20 74 68 69 6e 20 61 | 78 65 73 20 28 6f 72 20 |/ thin a|xes (or |
|00005b30| 6e 69 6c 29 0d 09 47 72 | 61 66 33 44 49 6e 66 6f |nil)..Gr|af3DInfo|
|00005b40| 2a 09 09 67 72 61 66 33 | 44 49 6e 66 6f 3b 09 09 |*..graf3|DInfo;..|
|00005b50| 2f 2f 20 74 68 65 20 67 | 72 61 66 20 74 6f 20 75 |// the g|raf to u|
|00005b60| 73 65 0d 09 73 68 6f 72 | 74 09 09 09 68 69 6c 69 |se..shor|t...hili|
|00005b70| 74 65 41 78 69 73 3b 09 | 09 2f 2f 20 74 68 65 20 |teAxis;.|.// the |
|00005b80| 61 78 69 73 20 74 6f 20 | 62 65 20 68 69 6c 69 74 |axis to |be hilit|
|00005b90| 65 64 20 6f 72 20 6e 69 | 6c 0d 7d 20 4d 61 6b 65 |ed or ni|l.} Make|
|00005ba0| 41 78 69 73 50 61 72 61 | 6d 3b 0d 0d 73 74 61 74 |AxisPara|m;..stat|
|00005bb0| 69 63 20 76 6f 69 64 20 | 41 64 64 46 69 6e 65 4c |ic void |AddFineL|
|00005bc0| 69 6e 65 54 6f 47 72 6f | 75 70 28 54 51 33 47 72 |ineToGro|up(TQ3Gr|
|00005bd0| 6f 75 70 4f 62 6a 65 63 | 74 20 67 72 6f 75 70 2c |oupObjec|t group,|
|00005be0| 20 54 51 33 4c 69 6e 65 | 44 61 74 61 2a 20 63 6f | TQ3Line|Data* co|
|00005bf0| 6e 73 74 20 6c 69 6e 65 | 44 61 74 61 29 0d 09 2f |nst line|Data)../|
|00005c00| 2f 20 61 64 64 73 20 61 | 20 66 69 6e 65 20 6c 69 |/ adds a| fine li|
|00005c10| 6e 65 20 74 6f 20 61 20 | 67 69 76 65 6e 20 67 72 |ne to a |given gr|
|00005c20| 6f 75 70 0d 7b 0d 09 69 | 66 20 28 67 72 6f 75 70 |oup.{..i|f (group|
|00005c30| 29 0d 09 7b 09 54 51 33 | 47 65 6f 6d 65 74 72 79 |)..{.TQ3|Geometry|
|00005c40| 4f 62 6a 65 63 74 09 6c | 69 6e 65 20 3d 20 51 33 |Object.l|ine = Q3|
|00005c50| 4c 69 6e 65 5f 4e 65 77 | 28 6c 69 6e 65 44 61 74 |Line_New|(lineDat|
|00005c60| 61 29 3b 0d 09 09 69 66 | 20 28 6c 69 6e 65 20 21 |a);...if| (line !|
|00005c70| 3d 20 4e 55 4c 4c 29 0d | 09 09 7b 09 51 33 47 72 |= NULL).|..{.Q3Gr|
|00005c80| 6f 75 70 5f 41 64 64 4f | 62 6a 65 63 74 28 67 72 |oup_AddO|bject(gr|
|00005c90| 6f 75 70 2c 20 6c 69 6e | 65 29 3b 0d 09 09 09 51 |oup, lin|e);....Q|
|00005ca0| 33 4f 62 6a 65 63 74 5f | 44 69 73 70 6f 73 65 28 |3Object_|Dispose(|
|00005cb0| 6c 69 6e 65 29 3b 0d 09 | 09 7d 0d 09 7d 0d 7d 0d |line);..|.}..}.}.|
|00005cc0| 0d 73 74 61 74 69 63 20 | 76 6f 69 64 20 41 64 64 |.static |void Add|
|00005cd0| 53 6f 6c 69 64 4c 69 6e | 65 54 6f 47 72 6f 75 70 |SolidLin|eToGroup|
|00005ce0| 28 54 51 33 47 72 6f 75 | 70 4f 62 6a 65 63 74 20 |(TQ3Grou|pObject |
|00005cf0| 67 72 6f 75 70 2c 20 54 | 51 33 4c 69 6e 65 44 61 |group, T|Q3LineDa|
|00005d00| 74 61 2a 20 63 6f 6e 73 | 74 20 6c 69 6e 65 44 61 |ta* cons|t lineDa|
|00005d10| 74 61 29 0d 09 2f 2f 20 | 61 64 64 73 20 61 20 66 |ta)..// |adds a f|
|00005d20| 69 6e 65 20 6c 69 6e 65 | 20 74 6f 20 61 20 67 69 |ine line| to a gi|
|00005d30| 76 65 6e 20 67 72 6f 75 | 70 0d 7b 0d 09 69 66 20 |ven grou|p.{..if |
|00005d40| 28 67 72 6f 75 70 29 0d | 09 7b 09 54 51 33 47 65 |(group).|.{.TQ3Ge|
|00005d50| 6f 6d 65 74 72 79 4f 62 | 6a 65 63 74 20 73 6f 6c |ometryOb|ject sol|
|00005d60| 69 64 4c 69 6e 65 20 3d | 20 51 33 4d 65 73 68 5f |idLine =| Q3Mesh_|
|00005d70| 4e 65 77 28 29 3b 0d 09 | 09 69 66 20 28 73 6f 6c |New();..|.if (sol|
|00005d80| 69 64 4c 69 6e 65 29 0d | 09 09 7b 09 41 64 64 53 |idLine).|..{.AddS|
|00005d90| 6f 6c 69 64 4c 69 6e 65 | 28 73 6f 6c 69 64 4c 69 |olidLine|(solidLi|
|00005da0| 6e 65 2c 20 6c 69 6e 65 | 44 61 74 61 29 3b 0d 09 |ne, line|Data);..|
|00005db0| 09 09 51 33 47 72 6f 75 | 70 5f 41 64 64 4f 62 6a |..Q3Grou|p_AddObj|
|00005dc0| 65 63 74 28 67 72 6f 75 | 70 2c 20 73 6f 6c 69 64 |ect(grou|p, solid|
|00005dd0| 4c 69 6e 65 29 3b 0d 09 | 09 09 51 33 4f 62 6a 65 |Line);..|..Q3Obje|
|00005de0| 63 74 5f 44 69 73 70 6f | 73 65 28 73 6f 6c 69 64 |ct_Dispo|se(solid|
|00005df0| 4c 69 6e 65 29 3b 0d 09 | 09 7d 0d 09 7d 0d 7d 0d |Line);..|.}..}.}.|
|00005e00| 0d 73 74 61 74 69 63 20 | 76 6f 69 64 20 41 64 64 |.static |void Add|
|00005e10| 54 65 78 74 28 54 51 33 | 47 72 6f 75 70 4f 62 6a |Text(TQ3|GroupObj|
|00005e20| 65 63 74 20 67 72 6f 75 | 70 2c 20 53 74 72 32 35 |ect grou|p, Str25|
|00005e30| 35 20 74 65 78 74 2c 0d | 09 09 09 09 66 6c 6f 61 |5 text,.|....floa|
|00005e40| 74 20 78 52 6f 74 2c 20 | 66 6c 6f 61 74 20 79 52 |t xRot, |float yR|
|00005e50| 6f 74 2c 20 66 6c 6f 61 | 74 20 7a 52 6f 74 2c 09 |ot, floa|t zRot,.|
|00005e60| 09 09 2f 2f 20 6f 72 69 | 65 6e 74 61 74 69 6f 6e |..// ori|entation|
|00005e70| 0d 09 09 09 09 54 51 33 | 50 6f 69 6e 74 33 44 2a |.....TQ3|Point3D*|
|00005e80| 20 63 6f 6e 73 74 20 70 | 6f 73 2c 20 73 68 6f 72 | const p|os, shor|
|00005e90| 74 20 61 6c 69 67 6e 2c | 20 66 6c 6f 61 74 20 73 |t align,| float s|
|00005ea0| 69 7a 65 2c 0d 09 09 09 | 09 54 51 33 41 74 74 72 |ize,....|.TQ3Attr|
|00005eb0| 69 62 75 74 65 53 65 74 | 20 61 74 74 72 69 62 75 |ibuteSet| attribu|
|00005ec0| 74 65 73 29 0d 09 2f 2f | 20 61 64 64 73 20 61 20 |tes)..//| adds a |
|00005ed0| 74 65 78 74 20 77 69 74 | 68 20 67 69 76 65 6e 20 |text wit|h given |
|00005ee0| 72 6f 74 61 74 69 6f 6e | 20 61 6e 64 20 70 6f 73 |rotation| and pos|
|00005ef0| 69 74 69 6f 6e 20 74 6f | 20 67 72 6f 75 70 0d 09 |ition to| group..|
|00005f00| 2f 2f 20 4f 66 66 66 73 | 65 74 73 20 74 68 65 20 |// Offfs|ets the |
|00005f10| 74 65 78 74 20 61 6c 6f | 6e 67 20 74 68 65 20 75 |text alo|ng the u|
|00005f20| 70 2d 64 69 72 65 63 74 | 69 6f 6e 20 62 79 20 2d |p-direct|ion by -|
|00005f30| 73 69 7a 65 2f 33 20 73 | 75 63 68 20 74 68 61 74 |size/3 s|uch that|
|00005f40| 20 74 68 65 20 74 65 78 | 74 73 20 61 72 65 20 72 | the tex|ts are r|
|00005f50| 65 61 73 6f 6e 61 62 6c | 79 20 63 65 6e 74 65 72 |easonabl|y center|
|00005f60| 65 64 20 61 6c 6f 6e 67 | 20 75 70 2d 64 69 72 65 |ed along| up-dire|
|00005f70| 63 74 69 6f 6e 0d 7b 0d | 09 54 51 33 4d 61 74 72 |ction.{.|.TQ3Matr|
|00005f80| 69 78 34 78 34 09 74 65 | 78 74 52 6f 74 61 74 69 |ix4x4.te|xtRotati|
|00005f90| 6f 6e 3b 0d 09 54 51 33 | 56 65 63 74 6f 72 33 44 |on;..TQ3|Vector3D|
|00005fa0| 09 09 64 69 72 20 3d 20 | 7b 2d 31 2c 30 2c 30 7d |..dir = |{-1,0,0}|
|00005fb0| 3b 09 09 09 2f 2f 20 74 | 68 65 20 64 65 66 61 75 |;...// t|he defau|
|00005fc0| 6c 74 20 6f 72 69 65 6e | 74 61 74 69 6f 6e 20 6f |lt orien|tation o|
|00005fd0| 66 20 74 68 65 20 74 65 | 78 74 0d 09 54 51 33 56 |f the te|xt..TQ3V|
|00005fe0| 65 63 74 6f 72 33 44 09 | 09 75 70 20 3d 20 7b 30 |ector3D.|.up = {0|
|00005ff0| 2c 30 2c 31 7d 3b 0d 09 | 54 51 33 56 65 63 74 6f |,0,1};..|TQ3Vecto|
|00006000| 72 33 44 09 09 74 65 6d | 70 3b 0d 09 54 51 33 50 |r3D..tem|p;..TQ3P|
|00006010| 6f 69 6e 74 33 44 09 09 | 6d 79 50 6f 73 3b 0d 09 |oint3D..|myPos;..|
|00006020| 54 51 33 47 72 6f 75 70 | 4f 62 6a 65 63 74 09 74 |TQ3Group|Object.t|
|00006030| 65 78 74 4f 62 6a 3b 0d | 0d 09 69 66 20 28 67 72 |extObj;.|..if (gr|
|00006040| 6f 75 70 20 3d 3d 20 6e | 69 6c 29 20 72 65 74 75 |oup == n|il) retu|
|00006050| 72 6e 3b 0d 0d 09 2f 2f | 20 63 61 6c 63 75 6c 61 |rn;...//| calcula|
|00006060| 74 65 20 6f 72 69 65 6e | 74 61 74 69 6f 6e 20 6f |te orien|tation o|
|00006070| 66 20 74 65 78 74 0d 09 | 51 33 4d 61 74 72 69 78 |f text..|Q3Matrix|
|00006080| 34 78 34 5f 53 65 74 52 | 6f 74 61 74 65 5f 58 59 |4x4_SetR|otate_XY|
|00006090| 5a 28 26 74 65 78 74 52 | 6f 74 61 74 69 6f 6e 2c |Z(&textR|otation,|
|000060a0| 20 78 52 6f 74 2c 20 79 | 52 6f 74 2c 20 7a 52 6f | xRot, y|Rot, zRo|
|000060b0| 74 29 3b 0d 09 51 33 56 | 65 63 74 6f 72 33 44 5f |t);..Q3V|ector3D_|
|000060c0| 54 72 61 6e 73 66 6f 72 | 6d 28 26 64 69 72 2c 20 |Transfor|m(&dir, |
|000060d0| 26 74 65 78 74 52 6f 74 | 61 74 69 6f 6e 2c 20 26 |&textRot|ation, &|
|000060e0| 64 69 72 29 3b 0d 09 51 | 33 56 65 63 74 6f 72 33 |dir);..Q|3Vector3|
|000060f0| 44 5f 54 72 61 6e 73 66 | 6f 72 6d 28 26 75 70 2c |D_Transf|orm(&up,|
|00006100| 20 26 74 65 78 74 52 6f | 74 61 74 69 6f 6e 2c 20 | &textRo|tation, |
|00006110| 26 75 70 29 3b 0d 0d 09 | 2f 2f 20 6f 66 66 73 65 |&up);...|// offse|
|00006120| 74 20 70 6f 73 20 62 79 | 20 2d 75 70 2f 33 2c 20 |t pos by| -up/3, |
|00006130| 74 68 69 73 20 67 69 76 | 65 73 20 62 65 74 74 65 |this giv|es bette|
|00006140| 72 20 63 65 6e 74 65 72 | 69 6e 67 20 6f 66 20 74 |r center|ing of t|
|00006150| 65 78 74 73 3a 0d 09 51 | 33 56 65 63 74 6f 72 33 |exts:..Q|3Vector3|
|00006160| 44 5f 53 63 61 6c 65 28 | 26 75 70 2c 20 2d 73 69 |D_Scale(|&up, -si|
|00006170| 7a 65 2f 33 2c 20 26 74 | 65 6d 70 29 3b 0d 09 51 |ze/3, &t|emp);..Q|
|00006180| 33 50 6f 69 6e 74 33 44 | 5f 56 65 63 74 6f 72 33 |3Point3D|_Vector3|
|00006190| 44 5f 41 64 64 28 70 6f | 73 2c 20 26 74 65 6d 70 |D_Add(po|s, &temp|
|000061a0| 2c 20 26 6d 79 50 6f 73 | 29 3b 0d 0d 09 74 65 78 |, &myPos|);...tex|
|000061b0| 74 4f 62 6a 20 3d 20 4d | 61 6b 65 54 65 78 74 28 |tObj = M|akeText(|
|000061c0| 74 65 78 74 2c 20 22 5c | 70 22 2c 20 73 69 7a 65 |text, "\|p", size|
|000061d0| 2c 20 26 6d 79 50 6f 73 | 2c 20 26 64 69 72 2c 20 |, &myPos|, &dir, |
|000061e0| 26 75 70 2c 20 61 6c 69 | 67 6e 29 3b 0d 09 69 66 |&up, ali|gn);..if|
|000061f0| 20 28 74 65 78 74 4f 62 | 6a 29 0d 09 7b 0d 09 09 | (textOb|j)..{...|
|00006200| 51 33 47 72 6f 75 70 5f | 41 64 64 4f 62 6a 65 63 |Q3Group_|AddObjec|
|00006210| 74 28 74 65 78 74 4f 62 | 6a 2c 20 61 74 74 72 69 |t(textOb|j, attri|
|00006220| 62 75 74 65 73 29 3b 09 | 09 09 2f 2f 20 61 64 64 |butes);.|..// add|
|00006230| 20 63 6f 6c 6f 72 0d 09 | 09 51 33 47 72 6f 75 70 | color..|.Q3Group|
|00006240| 5f 41 64 64 4f 62 6a 65 | 63 74 28 67 72 6f 75 70 |_AddObje|ct(group|
|00006250| 2c 20 74 65 78 74 4f 62 | 6a 29 3b 0d 09 09 51 33 |, textOb|j);...Q3|
|00006260| 4f 62 6a 65 63 74 5f 44 | 69 73 70 6f 73 65 28 74 |Object_D|ispose(t|
|00006270| 65 78 74 4f 62 6a 29 3b | 0d 09 7d 0d 7d 0d 0d 73 |extObj);|..}.}..s|
|00006280| 74 61 74 69 63 20 76 6f | 69 64 20 4d 61 6b 65 41 |tatic vo|id MakeA|
|00006290| 78 69 73 28 73 68 6f 72 | 74 20 69 6e 64 65 78 2c |xis(shor|t index,|
|000062a0| 20 4d 61 6b 65 41 78 69 | 73 50 61 72 61 6d 2a 20 | MakeAxi|sParam* |
|000062b0| 63 6f 6e 73 74 20 70 2c | 0d 09 64 6f 75 62 6c 65 |const p,|..double|
|000062c0| 20 78 46 72 6f 6d 2c 20 | 64 6f 75 62 6c 65 20 79 | xFrom, |double y|
|000062d0| 46 72 6f 6d 2c 20 64 6f | 75 62 6c 65 20 7a 46 72 |From, do|uble zFr|
|000062e0| 6f 6d 2c 0d 09 64 6f 75 | 62 6c 65 20 78 54 6f 2c |om,..dou|ble xTo,|
|000062f0| 20 64 6f 75 62 6c 65 20 | 79 54 6f 2c 20 64 6f 75 | double |yTo, dou|
|00006300| 62 6c 65 20 7a 54 6f 29 | 0d 09 2f 2f 20 64 72 61 |ble zTo)|..// dra|
|00006310| 77 73 20 61 6e 20 61 78 | 69 73 20 28 6f 72 20 66 |ws an ax|is (or f|
|00006320| 72 61 6d 65 20 6c 69 6e | 65 29 0d 09 2f 2f 20 6c |rame lin|e)..// l|
|00006330| 61 62 65 6c 73 2c 20 66 | 61 74 41 78 69 73 2c 20 |abels, f|atAxis, |
|00006340| 66 69 6e 65 41 78 69 73 | 20 63 61 6e 20 62 65 20 |fineAxis| can be |
|00006350| 6e 69 6c 0d 7b 0d 09 54 | 51 33 4c 69 6e 65 44 61 |nil.{..T|Q3LineDa|
|00006360| 74 61 09 09 09 6c 69 6e | 65 44 61 74 61 3b 0d 09 |ta...lin|eData;..|
|00006370| 41 78 69 73 44 65 73 63 | 72 2a 09 09 09 61 78 69 |AxisDesc|r*...axi|
|00006380| 73 44 65 73 63 72 20 3d | 20 26 70 2d 3e 67 72 61 |sDescr =| &p->gra|
|00006390| 66 33 44 49 6e 66 6f 2d | 3e 61 78 69 73 44 65 73 |f3DInfo-|>axisDes|
|000063a0| 63 72 5b 69 6e 64 65 78 | 5d 3b 0d 09 54 51 33 41 |cr[index|];..TQ3A|
|000063b0| 74 74 72 69 62 75 74 65 | 53 65 74 20 09 61 74 74 |ttribute|Set .att|
|000063c0| 72 69 62 75 74 65 73 20 | 3d 20 51 33 41 74 74 72 |ributes |= Q3Attr|
|000063d0| 69 62 75 74 65 53 65 74 | 5f 4e 65 77 28 29 3b 09 |ibuteSet|_New();.|
|000063e0| 09 09 09 2f 2f 20 61 74 | 74 72 69 62 75 74 65 73 |...// at|tributes|
|000063f0| 20 74 6f 20 62 65 20 75 | 73 65 64 20 69 66 20 68 | to be u|sed if h|
|00006400| 69 6c 69 74 65 41 78 69 | 73 20 3e 3d 20 30 0d 09 |iliteAxi|s >= 0..|
|00006410| 42 6f 6f 6c 65 61 6e 09 | 09 09 09 75 73 65 4e 6f |Boolean.|...useNo|
|00006420| 72 6d 61 6c 41 74 74 72 | 69 62 75 74 65 73 20 3d |rmalAttr|ibutes =|
|00006430| 20 70 2d 3e 68 69 6c 69 | 74 65 41 78 69 73 20 3c | p->hili|teAxis <|
|00006440| 20 30 3b 09 09 2f 2f 20 | 69 66 20 6e 6f 20 68 69 | 0;..// |if no hi|
|00006450| 67 68 6c 69 74 69 6e 67 | 0d 0d 09 69 66 20 28 61 |ghliting|...if (a|
|00006460| 74 74 72 69 62 75 74 65 | 73 20 3d 3d 20 6e 69 6c |ttribute|s == nil|
|00006470| 20 7c 7c 20 0d 09 09 28 | 75 73 65 4e 6f 72 6d 61 | || ...(|useNorma|
|00006480| 6c 41 74 74 72 69 62 75 | 74 65 73 20 26 26 20 61 |lAttribu|tes && a|
|00006490| 78 69 73 44 65 73 63 72 | 2d 3e 76 69 73 69 62 6c |xisDescr|->visibl|
|000064a0| 65 20 3d 3d 20 66 61 6c | 73 65 29 29 0d 09 09 67 |e == fal|se))...g|
|000064b0| 6f 74 6f 20 64 6f 6e 65 | 3b 0d 09 69 66 20 28 21 |oto done|;..if (!|
|000064c0| 75 73 65 4e 6f 72 6d 61 | 6c 41 74 74 72 69 62 75 |useNorma|lAttribu|
|000064d0| 74 65 73 29 09 09 09 09 | 09 09 09 2f 2f 20 69 66 |tes)....|...// if|
|000064e0| 20 77 65 20 6d 75 73 74 | 20 75 73 65 20 6f 75 72 | we must| use our|
|000064f0| 20 6f 77 6e 20 68 69 67 | 68 6c 69 67 68 74 69 6e | own hig|hlightin|
|00006500| 67 0d 09 7b 0d 09 09 52 | 47 42 43 6f 6c 6f 72 2a |g..{...R|GBColor*|
|00006510| 09 63 6f 6c 6f 72 3b 0d | 09 09 73 74 61 74 69 63 |.color;.|..static|
|00006520| 20 52 47 42 43 6f 6c 6f | 72 09 64 61 72 6b 43 6f | RGBColo|r.darkCo|
|00006530| 6c 20 3d 20 7b 30 78 38 | 30 30 30 2c 30 78 38 30 |l = {0x8|000,0x80|
|00006540| 30 30 2c 30 78 38 30 30 | 30 7d 3b 09 2f 2f 20 69 |00,0x800|0};.// i|
|00006550| 66 20 61 78 69 73 20 76 | 69 73 69 62 6c 65 20 62 |f axis v|isible b|
|00006560| 75 74 20 6e 6f 74 20 68 | 69 67 68 6c 69 74 65 64 |ut not h|ighlited|
|00006570| 0d 09 09 73 74 61 74 69 | 63 20 52 47 42 43 6f 6c |...stati|c RGBCol|
|00006580| 6f 72 20 67 72 61 79 43 | 6f 6c 20 3d 20 7b 30 78 |or grayC|ol = {0x|
|00006590| 45 38 30 30 2c 30 78 45 | 38 30 30 2c 30 78 45 38 |E800,0xE|800,0xE8|
|000065a0| 30 30 7d 3b 09 2f 2f 20 | 69 66 20 61 78 69 73 20 |00};.// |if axis |
|000065b0| 69 6e 76 69 73 69 62 6c | 65 20 61 6e 64 20 6e 6f |invisibl|e and no|
|000065c0| 74 20 68 69 67 68 6c 69 | 74 65 64 0d 09 09 73 74 |t highli|ted...st|
|000065d0| 61 74 69 63 20 52 47 42 | 43 6f 6c 6f 72 20 68 69 |atic RGB|Color hi|
|000065e0| 6c 69 74 65 43 6f 6c 20 | 3d 20 7b 30 78 38 30 30 |liteCol |= {0x800|
|000065f0| 30 2c 30 2c 30 7d 3b 09 | 09 09 2f 2f 20 69 66 20 |0,0,0};.|..// if |
|00006600| 61 78 69 73 20 68 69 67 | 68 6c 69 74 65 64 0d 09 |axis hig|hlited..|
|00006610| 09 69 66 20 28 69 6e 64 | 65 78 20 3d 3d 20 70 2d |.if (ind|ex == p-|
|00006620| 3e 68 69 6c 69 74 65 41 | 78 69 73 29 0d 09 09 09 |>hiliteA|xis)....|
|00006630| 63 6f 6c 6f 72 20 3d 20 | 26 68 69 6c 69 74 65 43 |color = |&hiliteC|
|00006640| 6f 6c 3b 0d 09 09 65 6c | 73 65 0d 09 09 09 63 6f |ol;...el|se....co|
|00006650| 6c 6f 72 20 3d 20 61 78 | 69 73 44 65 73 63 72 2d |lor = ax|isDescr-|
|00006660| 3e 76 69 73 69 62 6c 65 | 3f 20 26 64 61 72 6b 43 |>visible|? &darkC|
|00006670| 6f 6c 3a 20 26 67 72 61 | 79 43 6f 6c 3b 0d 09 09 |ol: &gra|yCol;...|
|00006680| 53 65 74 44 69 66 66 75 | 73 65 43 6f 6c 6f 72 28 |SetDiffu|seColor(|
|00006690| 61 74 74 72 69 62 75 74 | 65 73 2c 20 63 6f 6c 6f |attribut|es, colo|
|000066a0| 72 29 3b 0d 09 7d 0d 09 | 6c 69 6e 65 44 61 74 61 |r);..}..|lineData|
|000066b0| 2e 6c 69 6e 65 41 74 74 | 72 69 62 75 74 65 53 65 |.lineAtt|ributeSe|
|000066c0| 74 20 3d 20 75 73 65 4e | 6f 72 6d 61 6c 41 74 74 |t = useN|ormalAtt|
|000066d0| 72 69 62 75 74 65 73 3f | 20 61 78 65 73 41 74 74 |ributes?| axesAtt|
|000066e0| 72 69 62 75 74 65 73 3a | 61 74 74 72 69 62 75 74 |ributes:|attribut|
|000066f0| 65 73 3b 0d 09 6c 69 6e | 65 44 61 74 61 2e 76 65 |es;..lin|eData.ve|
|00006700| 72 74 69 63 65 73 5b 30 | 5d 2e 61 74 74 72 69 62 |rtices[0|].attrib|
|00006710| 75 74 65 53 65 74 20 3d | 20 4e 55 4c 4c 3b 0d 09 |uteSet =| NULL;..|
|00006720| 6c 69 6e 65 44 61 74 61 | 2e 76 65 72 74 69 63 65 |lineData|.vertice|
|00006730| 73 5b 31 5d 2e 61 74 74 | 72 69 62 75 74 65 53 65 |s[1].att|ributeSe|
|00006740| 74 20 3d 20 4e 55 4c 4c | 3b 0d 0d 09 53 63 61 6c |t = NULL|;...Scal|
|00006750| 65 28 78 46 72 6f 6d 2c | 20 79 46 72 6f 6d 2c 20 |e(xFrom,| yFrom, |
|00006760| 7a 46 72 6f 6d 2c 0d 09 | 09 26 6c 69 6e 65 44 61 |zFrom,..|.&lineDa|
|00006770| 74 61 2e 76 65 72 74 69 | 63 65 73 5b 30 5d 2e 70 |ta.verti|ces[0].p|
|00006780| 6f 69 6e 74 2e 78 2c 20 | 26 6c 69 6e 65 44 61 74 |oint.x, |&lineDat|
|00006790| 61 2e 76 65 72 74 69 63 | 65 73 5b 30 5d 2e 70 6f |a.vertic|es[0].po|
|000067a0| 69 6e 74 2e 79 2c 20 26 | 6c 69 6e 65 44 61 74 61 |int.y, &|lineData|
|000067b0| 2e 76 65 72 74 69 63 65 | 73 5b 30 5d 2e 70 6f 69 |.vertice|s[0].poi|
|000067c0| 6e 74 2e 7a 29 3b 0d 09 | 53 63 61 6c 65 28 78 54 |nt.z);..|Scale(xT|
|000067d0| 6f 2c 20 79 54 6f 2c 20 | 7a 54 6f 2c 0d 09 09 26 |o, yTo, |zTo,...&|
|000067e0| 6c 69 6e 65 44 61 74 61 | 2e 76 65 72 74 69 63 65 |lineData|.vertice|
|000067f0| 73 5b 31 5d 2e 70 6f 69 | 6e 74 2e 78 2c 20 26 6c |s[1].poi|nt.x, &l|
|00006800| 69 6e 65 44 61 74 61 2e | 76 65 72 74 69 63 65 73 |ineData.|vertices|
|00006810| 5b 31 5d 2e 70 6f 69 6e | 74 2e 79 2c 20 26 6c 69 |[1].poin|t.y, &li|
|00006820| 6e 65 44 61 74 61 2e 76 | 65 72 74 69 63 65 73 5b |neData.v|ertices[|
|00006830| 31 5d 2e 70 6f 69 6e 74 | 2e 7a 29 3b 0d 09 41 64 |1].point|.z);..Ad|
|00006840| 64 46 69 6e 65 4c 69 6e | 65 54 6f 47 72 6f 75 70 |dFineLin|eToGroup|
|00006850| 28 70 2d 3e 66 69 6e 65 | 41 78 65 73 2c 20 26 6c |(p->fine|Axes, &l|
|00006860| 69 6e 65 44 61 74 61 29 | 3b 0d 09 41 64 64 53 6f |ineData)|;..AddSo|
|00006870| 6c 69 64 4c 69 6e 65 54 | 6f 47 72 6f 75 70 28 70 |lidLineT|oGroup(p|
|00006880| 2d 3e 66 61 74 41 78 65 | 73 2c 20 26 6c 69 6e 65 |->fatAxe|s, &line|
|00006890| 44 61 74 61 29 3b 0d 0d | 09 69 66 20 28 70 2d 3e |Data);..|.if (p->|
|000068a0| 6c 61 62 65 6c 73 20 26 | 26 20 4c 65 6e 67 74 68 |labels &|& Length|
|000068b0| 28 61 78 69 73 44 65 73 | 63 72 2d 3e 6e 61 6d 65 |(axisDes|cr->name|
|000068c0| 29 29 09 09 09 2f 2f 20 | 69 66 20 61 78 69 73 20 |))...// |if axis |
|000068d0| 68 61 73 20 61 20 6c 61 | 62 65 6c 0d 09 7b 0d 09 |has a la|bel..{..|
|000068e0| 09 54 51 33 50 6f 69 6e | 74 33 44 09 09 70 6f 73 |.TQ3Poin|t3D..pos|
|000068f0| 3b 0d 09 09 54 51 33 56 | 65 63 74 6f 72 33 44 09 |;...TQ3V|ector3D.|
|00006900| 09 61 6c 6f 6e 67 41 78 | 69 73 3b 09 09 09 09 2f |.alongAx|is;..../|
|00006910| 2f 20 76 65 63 74 6f 72 | 20 61 6c 6f 6e 67 20 68 |/ vector| along h|
|00006920| 61 6c 66 20 74 68 65 20 | 6c 65 6e 67 74 68 20 6f |alf the |length o|
|00006930| 66 20 74 68 69 73 20 61 | 78 69 73 0d 09 09 54 51 |f this a|xis...TQ|
|00006940| 33 56 65 63 74 6f 72 33 | 44 09 09 75 6e 69 74 41 |3Vector3|D..unitA|
|00006950| 6c 6f 6e 67 41 78 69 73 | 3b 09 09 09 2f 2f 20 75 |longAxis|;...// u|
|00006960| 6e 69 74 20 76 65 63 74 | 6f 72 20 61 6c 6f 6e 67 |nit vect|or along|
|00006970| 20 74 68 65 20 61 78 69 | 73 20 28 69 66 20 74 68 | the axi|s (if th|
|00006980| 65 20 61 78 69 73 20 68 | 61 73 20 6e 6f 72 6d 61 |e axis h|as norma|
|00006990| 6c 20 6c 65 6e 67 74 68 | 20 28 32 29 2c 20 74 68 |l length| (2), th|
|000069a0| 65 6e 20 75 6e 69 74 41 | 6c 6f 6e 67 41 78 69 73 |en unitA|longAxis|
|000069b0| 20 69 73 20 65 71 75 61 | 6c 20 74 6f 20 61 6c 6f | is equa|l to alo|
|000069c0| 6e 67 41 78 69 73 29 0d | 09 09 54 51 33 56 65 63 |ngAxis).|..TQ3Vec|
|000069d0| 74 6f 72 33 44 09 09 6f | 66 66 73 65 74 3b 09 09 |tor3D..o|ffset;..|
|000069e0| 09 09 09 2f 2f 20 6f 66 | 66 73 65 74 20 6f 66 20 |...// of|fset of |
|000069f0| 6c 61 62 65 6c 20 66 72 | 6f 6d 20 63 65 6e 74 65 |label fr|om cente|
|00006a00| 72 20 6f 66 20 61 78 69 | 73 0d 09 09 54 51 33 56 |r of axi|s...TQ3V|
|00006a10| 65 63 74 6f 72 33 44 09 | 09 74 65 6d 70 31 3b 0d |ector3D.|.temp1;.|
|00006a20| 09 09 66 6c 6f 61 74 09 | 09 09 70 72 6f 6a 65 63 |..float.|..projec|
|00006a30| 74 69 6f 6e 2c 20 75 6e | 69 74 50 72 6f 6a 65 63 |tion, un|itProjec|
|00006a40| 74 69 6f 6e 3b 0d 0d 0d | 09 09 2f 2f 20 63 61 6c |tion;...|..// cal|
|00006a50| 63 75 6c 61 74 65 20 61 | 6c 6f 6e 67 41 78 69 73 |culate a|longAxis|
|00006a60| 2c 20 75 6e 69 74 41 6c | 6f 6e 67 41 78 69 73 3a |, unitAl|ongAxis:|
|00006a70| 0d 09 09 51 33 50 6f 69 | 6e 74 33 44 5f 53 75 62 |...Q3Poi|nt3D_Sub|
|00006a80| 74 72 61 63 74 28 26 6c | 69 6e 65 44 61 74 61 2e |tract(&l|ineData.|
|00006a90| 76 65 72 74 69 63 65 73 | 5b 31 5d 2e 70 6f 69 6e |vertices|[1].poin|
|00006aa0| 74 2c 20 26 6c 69 6e 65 | 44 61 74 61 2e 76 65 72 |t, &line|Data.ver|
|00006ab0| 74 69 63 65 73 5b 30 5d | 2e 70 6f 69 6e 74 2c 20 |tices[0]|.point, |
|00006ac0| 26 61 6c 6f 6e 67 41 78 | 69 73 29 3b 0d 09 09 51 |&alongAx|is);...Q|
|00006ad0| 33 56 65 63 74 6f 72 33 | 44 5f 4e 6f 72 6d 61 6c |3Vector3|D_Normal|
|00006ae0| 69 7a 65 28 26 61 6c 6f | 6e 67 41 78 69 73 2c 20 |ize(&alo|ngAxis, |
|00006af0| 26 75 6e 69 74 41 6c 6f | 6e 67 41 78 69 73 29 3b |&unitAlo|ngAxis);|
|00006b00| 0d 09 09 51 33 56 65 63 | 74 6f 72 33 44 5f 53 63 |...Q3Vec|tor3D_Sc|
|00006b10| 61 6c 65 28 26 61 6c 6f | 6e 67 41 78 69 73 2c 20 |ale(&alo|ngAxis, |
|00006b20| 30 2e 35 2c 20 26 61 6c | 6f 6e 67 41 78 69 73 29 |0.5, &al|ongAxis)|
|00006b30| 3b 0d 09 09 2f 2f 20 63 | 61 6c 63 75 6c 61 74 65 |;...// c|alculate|
|00006b40| 20 63 65 6e 74 65 72 20 | 6f 66 20 61 78 69 73 20 | center |of axis |
|00006b50| 61 6e 64 20 73 74 6f 72 | 65 20 69 74 20 69 6e 20 |and stor|e it in |
|00006b60| 70 6f 73 3a 0d 09 09 51 | 33 50 6f 69 6e 74 33 44 |pos:...Q|3Point3D|
|00006b70| 5f 56 65 63 74 6f 72 33 | 44 5f 41 64 64 28 26 6c |_Vector3|D_Add(&l|
|00006b80| 69 6e 65 44 61 74 61 2e | 76 65 72 74 69 63 65 73 |ineData.|vertices|
|00006b90| 5b 30 5d 2e 70 6f 69 6e | 74 2c 20 26 61 6c 6f 6e |[0].poin|t, &alon|
|00006ba0| 67 41 78 69 73 2c 20 26 | 70 6f 73 29 3b 0d 09 09 |gAxis, &|pos);...|
|00006bb0| 2f 2f 20 63 61 6c 63 75 | 6c 61 74 65 20 6f 66 66 |// calcu|late off|
|00006bc0| 73 65 74 2c 20 74 61 6b | 69 6e 67 20 69 6e 74 6f |set, tak|ing into|
|00006bd0| 20 61 63 63 6f 75 6e 74 | 20 74 68 61 74 20 74 68 | account| that th|
|00006be0| 65 20 76 61 6c 75 65 73 | 20 69 6e 20 61 78 69 73 |e values| in axis|
|00006bf0| 44 65 73 63 72 2d 3e 78 | 50 6f 73 20 28 65 74 63 |Descr->x|Pos (etc|
|00006c00| 29 20 61 72 65 20 66 6f | 72 20 61 6e 20 61 78 69 |) are fo|r an axi|
|00006c10| 73 20 68 61 76 69 6e 67 | 20 61 20 6c 65 6e 67 74 |s having| a lengt|
|00006c20| 68 20 6f 66 20 31 30 30 | 25 0d 09 09 51 33 56 65 |h of 100|%...Q3Ve|
|00006c30| 63 74 6f 72 33 44 5f 53 | 65 74 28 26 6f 66 66 73 |ctor3D_S|et(&offs|
|00006c40| 65 74 2c 20 61 78 69 73 | 44 65 73 63 72 2d 3e 78 |et, axis|Descr->x|
|00006c50| 50 6f 73 2c 20 61 78 69 | 73 44 65 73 63 72 2d 3e |Pos, axi|sDescr->|
|00006c60| 79 50 6f 73 2c 20 61 78 | 69 73 44 65 73 63 72 2d |yPos, ax|isDescr-|
|00006c70| 3e 7a 50 6f 73 29 3b 0d | 09 09 70 72 6f 6a 65 63 |>zPos);.|..projec|
|00006c80| 74 69 6f 6e 20 3d 20 51 | 33 56 65 63 74 6f 72 33 |tion = Q|3Vector3|
|00006c90| 44 5f 44 6f 74 28 26 6f | 66 66 73 65 74 2c 20 26 |D_Dot(&o|ffset, &|
|00006ca0| 61 6c 6f 6e 67 41 78 69 | 73 29 3b 0d 09 09 75 6e |alongAxi|s);...un|
|00006cb0| 69 74 50 72 6f 6a 65 63 | 74 69 6f 6e 20 3d 20 51 |itProjec|tion = Q|
|00006cc0| 33 56 65 63 74 6f 72 33 | 44 5f 44 6f 74 28 26 6f |3Vector3|D_Dot(&o|
|00006cd0| 66 66 73 65 74 2c 20 26 | 75 6e 69 74 41 6c 6f 6e |ffset, &|unitAlon|
|00006ce0| 67 41 78 69 73 29 3b 0d | 09 09 51 33 56 65 63 74 |gAxis);.|..Q3Vect|
|00006cf0| 6f 72 33 44 5f 53 63 61 | 6c 65 28 26 75 6e 69 74 |or3D_Sca|le(&unit|
|00006d00| 41 6c 6f 6e 67 41 78 69 | 73 2c 20 75 6e 69 74 50 |AlongAxi|s, unitP|
|00006d10| 72 6f 6a 65 63 74 69 6f | 6e 2d 70 72 6f 6a 65 63 |rojectio|n-projec|
|00006d20| 74 69 6f 6e 2c 20 26 74 | 65 6d 70 31 29 3b 0d 09 |tion, &t|emp1);..|
|00006d30| 09 51 33 56 65 63 74 6f | 72 33 44 5f 53 75 62 74 |.Q3Vecto|r3D_Subt|
|00006d40| 72 61 63 74 28 26 6f 66 | 66 73 65 74 2c 20 26 74 |ract(&of|fset, &t|
|00006d50| 65 6d 70 31 2c 20 26 6f | 66 66 73 65 74 29 3b 0d |emp1, &o|ffset);.|
|00006d60| 09 09 51 33 50 6f 69 6e | 74 33 44 5f 56 65 63 74 |..Q3Poin|t3D_Vect|
|00006d70| 6f 72 33 44 5f 41 64 64 | 28 26 70 6f 73 2c 20 26 |or3D_Add|(&pos, &|
|00006d80| 6f 66 66 73 65 74 2c 20 | 26 70 6f 73 29 3b 0d 0d |offset, |&pos);..|
|00006d90| 09 09 41 64 64 54 65 78 | 74 28 70 2d 3e 6c 61 62 |..AddTex|t(p->lab|
|00006da0| 65 6c 73 2c 20 61 78 69 | 73 44 65 73 63 72 2d 3e |els, axi|sDescr->|
|00006db0| 6e 61 6d 65 2c 0d 09 09 | 09 09 61 78 69 73 44 65 |name,...|..axisDe|
|00006dc0| 73 63 72 2d 3e 78 52 6f | 74 2c 20 61 78 69 73 44 |scr->xRo|t, axisD|
|00006dd0| 65 73 63 72 2d 3e 79 52 | 6f 74 2c 20 61 78 69 73 |escr->yR|ot, axis|
|00006de0| 44 65 73 63 72 2d 3e 7a | 52 6f 74 2c 0d 09 09 09 |Descr->z|Rot,....|
|00006df0| 09 26 70 6f 73 2c 20 61 | 78 69 73 44 65 73 63 72 |.&pos, a|xisDescr|
|00006e00| 2d 3e 6e 61 6d 65 41 6c | 69 67 6e 2c 20 70 2d 3e |->nameAl|ign, p->|
|00006e10| 67 72 61 66 33 44 49 6e | 66 6f 2d 3e 6e 61 6d 65 |graf3DIn|fo->name|
|00006e20| 53 69 7a 65 2c 0d 09 09 | 09 09 75 73 65 4e 6f 72 |Size,...|..useNor|
|00006e30| 6d 61 6c 41 74 74 72 69 | 62 75 74 65 73 3f 20 6c |malAttri|butes? l|
|00006e40| 61 62 65 6c 73 41 74 74 | 72 69 62 75 74 65 73 3a |abelsAtt|ributes:|
|00006e50| 61 74 74 72 69 62 75 74 | 65 73 29 3b 0d 09 7d 2f |attribut|es);..}/|
|00006e60| 2f 69 66 20 6c 65 6e 67 | 74 68 28 6e 61 6d 65 29 |/if leng|th(name)|
|00006e70| 0d 09 69 66 20 28 20 61 | 78 69 73 44 65 73 63 72 |..if ( a|xisDescr|
|00006e80| 2d 3e 73 68 6f 77 4c 61 | 62 65 6c 73 20 7c 7c 20 |->showLa|bels || |
|00006e90| 61 78 69 73 44 65 73 63 | 72 2d 3e 73 68 6f 77 54 |axisDesc|r->showT|
|00006ea0| 69 63 6b 73 20 29 0d 09 | 7b 0d 09 09 73 68 6f 72 |icks )..|{...shor|
|00006eb0| 74 09 09 09 78 5f 79 5f | 7a 20 3d 20 69 6e 64 65 |t...x_y_|z = inde|
|00006ec0| 78 2f 35 3b 09 09 2f 2f | 20 30 20 66 6f 72 20 78 |x/5;..//| 0 for x|
|00006ed0| 2c 20 31 20 66 6f 72 20 | 79 2c 20 32 20 66 6f 72 |, 1 for |y, 2 for|
|00006ee0| 20 7a 0d 09 09 53 63 61 | 6c 69 6e 67 44 65 73 63 | z...Sca|lingDesc|
|00006ef0| 72 09 2a 73 63 61 6c 69 | 6e 67 20 3d 20 26 70 2d |r.*scali|ng = &p-|
|00006f00| 3e 67 72 61 66 33 44 49 | 6e 66 6f 2d 3e 73 63 61 |>graf3DI|nfo->sca|
|00006f10| 6c 69 6e 67 44 65 73 63 | 72 5b 78 5f 79 5f 7a 5d |lingDesc|r[x_y_z]|
|00006f20| 3b 0d 09 09 64 6f 75 62 | 6c 65 09 09 09 74 20 3d |;...doub|le...t =|
|00006f30| 20 73 63 61 6c 69 6e 67 | 2d 3e 66 69 72 73 74 4d | scaling|->firstM|
|00006f40| 61 6a 6f 72 3b 0d 09 09 | 64 6f 75 62 6c 65 09 09 |ajor;...|double..|
|00006f50| 09 72 61 6e 67 65 20 3d | 20 73 63 61 6c 69 6e 67 |.range =| scaling|
|00006f60| 2d 3e 6d 61 78 20 2d 20 | 73 63 61 6c 69 6e 67 2d |->max - |scaling-|
|00006f70| 3e 6d 69 6e 3b 0d 09 09 | 64 6f 75 62 6c 65 09 09 |>min;...|double..|
|00006f80| 09 65 70 73 69 6c 6f 6e | 20 3d 20 72 61 6e 67 65 |.epsilon| = range|
|00006f90| 2f 31 30 30 30 30 3b 0d | 09 09 64 6f 75 62 6c 65 |/10000;.|..double|
|00006fa0| 09 09 09 64 69 73 74 54 | 69 63 6b 73 20 3d 20 73 |...distT|icks = s|
|00006fb0| 63 61 6c 69 6e 67 2d 3e | 64 69 73 74 4d 61 6a 6f |caling->|distMajo|
|00006fc0| 72 2f 28 31 20 2b 20 73 | 63 61 6c 69 6e 67 2d 3e |r/(1 + s|caling->|
|00006fd0| 6e 72 4d 69 6e 6f 72 29 | 3b 0d 09 09 6c 6f 6e 67 |nrMinor)|;...long|
|00006fe0| 09 09 09 69 2c 20 69 4d | 61 78 3b 0d 09 09 54 51 |...i, iM|ax;...TQ|
|00006ff0| 33 56 65 63 74 6f 72 33 | 44 09 09 74 69 63 6b 73 |3Vector3|D..ticks|
|00007000| 56 65 63 74 6f 72 3b 0d | 09 09 54 51 33 56 65 63 |Vector;.|..TQ3Vec|
|00007010| 74 6f 72 33 44 09 09 6c | 61 62 73 56 65 63 74 6f |tor3D..l|absVecto|
|00007020| 72 3b 0d 09 09 54 51 33 | 50 6f 69 6e 74 33 44 09 |r;...TQ3|Point3D.|
|00007030| 09 70 6f 73 3b 0d 09 09 | 64 6f 75 62 6c 65 09 09 |.pos;...|double..|
|00007040| 09 78 2c 20 79 2c 20 7a | 2c 20 64 78 2c 20 64 79 |.x, y, z|, dx, dy|
|00007050| 2c 20 64 7a 3b 09 09 0d | 09 09 0d 09 09 64 78 20 |, dz;...|.....dx |
|00007060| 3d 20 64 79 20 3d 20 64 | 7a 20 3d 20 30 3b 0d 09 |= dy = d|z = 0;..|
|00007070| 09 78 20 3d 20 78 46 72 | 6f 6d 3b 20 79 20 3d 20 |.x = xFr|om; y = |
|00007080| 79 46 72 6f 6d 3b 20 7a | 20 3d 20 7a 46 72 6f 6d |yFrom; z| = zFrom|
|00007090| 3b 0d 09 09 69 66 20 28 | 78 5f 79 5f 7a 20 3d 3d |;...if (|x_y_z ==|
|000070a0| 20 30 29 0d 09 09 09 51 | 33 56 65 63 74 6f 72 33 | 0)....Q|3Vector3|
|000070b0| 44 5f 53 65 74 28 26 6c | 61 62 73 56 65 63 74 6f |D_Set(&l|absVecto|
|000070c0| 72 2c 20 30 2c 20 61 78 | 69 73 44 65 73 63 72 2d |r, 0, ax|isDescr-|
|000070d0| 3e 6c 61 62 4f 66 66 31 | 2c 20 61 78 69 73 44 65 |>labOff1|, axisDe|
|000070e0| 73 63 72 2d 3e 6c 61 62 | 4f 66 66 32 29 3b 0d 09 |scr->lab|Off2);..|
|000070f0| 09 65 6c 73 65 20 69 66 | 20 28 78 5f 79 5f 7a 20 |.else if| (x_y_z |
|00007100| 3d 3d 20 31 29 0d 09 09 | 09 51 33 56 65 63 74 6f |== 1)...|.Q3Vecto|
|00007110| 72 33 44 5f 53 65 74 28 | 26 6c 61 62 73 56 65 63 |r3D_Set(|&labsVec|
|00007120| 74 6f 72 2c 20 61 78 69 | 73 44 65 73 63 72 2d 3e |tor, axi|sDescr->|
|00007130| 6c 61 62 4f 66 66 31 2c | 20 30 2c 20 61 78 69 73 |labOff1,| 0, axis|
|00007140| 44 65 73 63 72 2d 3e 6c | 61 62 4f 66 66 32 29 3b |Descr->l|abOff2);|
|00007150| 0d 09 09 65 6c 73 65 0d | 09 09 09 51 33 56 65 63 |...else.|...Q3Vec|
|00007160| 74 6f 72 33 44 5f 53 65 | 74 28 26 6c 61 62 73 56 |tor3D_Se|t(&labsV|
|00007170| 65 63 74 6f 72 2c 20 61 | 78 69 73 44 65 73 63 72 |ector, a|xisDescr|
|00007180| 2d 3e 6c 61 62 4f 66 66 | 31 2c 20 61 78 69 73 44 |->labOff|1, axisD|
|00007190| 65 73 63 72 2d 3e 6c 61 | 62 4f 66 66 32 2c 20 30 |escr->la|bOff2, 0|
|000071a0| 29 3b 0d 09 09 51 33 56 | 65 63 74 6f 72 33 44 5f |);...Q3V|ector3D_|
|000071b0| 53 63 61 6c 65 28 26 6c | 61 62 73 56 65 63 74 6f |Scale(&l|absVecto|
|000071c0| 72 2c 20 30 2e 35 2c 20 | 26 74 69 63 6b 73 56 65 |r, 0.5, |&ticksVe|
|000071d0| 63 74 6f 72 29 3b 0d 0d | 09 09 69 20 3d 20 2d 63 |ctor);..|..i = -c|
|000071e0| 65 69 6c 28 28 73 63 61 | 6c 69 6e 67 2d 3e 66 69 |eil((sca|ling->fi|
|000071f0| 72 73 74 4d 61 6a 6f 72 | 20 2d 20 73 63 61 6c 69 |rstMajor| - scali|
|00007200| 6e 67 2d 3e 6d 69 6e 29 | 2f 64 69 73 74 54 69 63 |ng->min)|/distTic|
|00007210| 6b 73 29 2d 31 3b 0d 09 | 09 69 4d 61 78 20 3d 20 |ks)-1;..|.iMax = |
|00007220| 63 65 69 6c 28 28 72 61 | 6e 67 65 2b 65 70 73 69 |ceil((ra|nge+epsi|
|00007230| 6c 6f 6e 29 2f 64 69 73 | 74 54 69 63 6b 73 29 20 |lon)/dis|tTicks) |
|00007240| 2b 20 69 20 2b 20 31 3b | 0d 09 09 77 68 69 6c 65 |+ i + 1;|...while|
|00007250| 20 28 69 20 3c 3d 20 69 | 4d 61 78 29 0d 09 09 7b | (i <= i|Max)...{|
|00007260| 0d 09 09 09 42 6f 6f 6c | 65 61 6e 09 69 73 4d 61 |....Bool|ean.isMa|
|00007270| 6a 6f 72 3b 0d 0d 09 09 | 09 69 73 4d 61 6a 6f 72 |jor;....|.isMajor|
|00007280| 20 3d 20 28 69 20 3e 3d | 20 30 20 26 26 20 69 25 | = (i >=| 0 && i%|
|00007290| 28 31 20 2b 20 73 63 61 | 6c 69 6e 67 2d 3e 6e 72 |(1 + sca|ling->nr|
|000072a0| 4d 69 6e 6f 72 29 20 3d | 3d 20 30 29 3b 0d 09 09 |Minor) =|= 0);...|
|000072b0| 09 74 20 3d 20 73 63 61 | 6c 69 6e 67 2d 3e 66 69 |.t = sca|ling->fi|
|000072c0| 72 73 74 4d 61 6a 6f 72 | 20 2b 20 64 69 73 74 54 |rstMajor| + distT|
|000072d0| 69 63 6b 73 2a 69 3b 0d | 09 09 09 69 20 2b 3d 20 |icks*i;.|...i += |
|000072e0| 31 3b 0d 09 09 09 69 66 | 20 28 74 20 3c 20 73 63 |1;....if| (t < sc|
|000072f0| 61 6c 69 6e 67 2d 3e 6d | 69 6e 2d 65 70 73 69 6c |aling->m|in-epsil|
|00007300| 6f 6e 29 20 63 6f 6e 74 | 69 6e 75 65 3b 0d 09 09 |on) cont|inue;...|
|00007310| 09 69 66 20 28 74 20 3e | 20 73 63 61 6c 69 6e 67 |.if (t >| scaling|
|00007320| 2d 3e 6d 61 78 2b 65 70 | 73 69 6c 6f 6e 29 20 62 |->max+ep|silon) b|
|00007330| 72 65 61 6b 3b 0d 09 09 | 09 0d 09 09 09 0d 09 09 |reak;...|........|
|00007340| 09 69 66 20 28 78 5f 79 | 5f 7a 20 3d 3d 20 30 29 |.if (x_y|_z == 0)|
|00007350| 20 78 20 3d 20 74 3b 0d | 09 09 09 65 6c 73 65 20 | x = t;.|...else |
|00007360| 69 66 20 28 78 5f 79 5f | 7a 20 3d 3d 20 31 29 20 |if (x_y_|z == 1) |
|00007370| 79 20 3d 20 74 3b 0d 09 | 09 09 65 6c 73 65 20 7a |y = t;..|..else z|
|00007380| 20 3d 20 74 3b 0d 09 09 | 09 53 63 61 6c 65 28 78 | = t;...|.Scale(x|
|00007390| 2c 20 79 2c 20 7a 2c 20 | 26 70 6f 73 2e 78 2c 20 |, y, z, |&pos.x, |
|000073a0| 26 70 6f 73 2e 79 2c 20 | 26 70 6f 73 2e 7a 29 3b |&pos.y, |&pos.z);|
|000073b0| 0d 09 09 09 69 66 20 28 | 61 78 69 73 44 65 73 63 |....if (|axisDesc|
|000073c0| 72 2d 3e 73 68 6f 77 54 | 69 63 6b 73 29 0d 09 09 |r->showT|icks)...|
|000073d0| 09 7b 09 6c 69 6e 65 44 | 61 74 61 2e 76 65 72 74 |.{.lineD|ata.vert|
|000073e0| 69 63 65 73 5b 30 5d 2e | 70 6f 69 6e 74 20 3d 20 |ices[0].|point = |
|000073f0| 70 6f 73 3b 0d 09 09 09 | 09 51 33 50 6f 69 6e 74 |pos;....|.Q3Point|
|00007400| 33 44 5f 56 65 63 74 6f | 72 33 44 5f 41 64 64 28 |3D_Vecto|r3D_Add(|
|00007410| 26 70 6f 73 2c 20 26 74 | 69 63 6b 73 56 65 63 74 |&pos, &t|icksVect|
|00007420| 6f 72 2c 20 26 6c 69 6e | 65 44 61 74 61 2e 76 65 |or, &lin|eData.ve|
|00007430| 72 74 69 63 65 73 5b 31 | 5d 2e 70 6f 69 6e 74 29 |rtices[1|].point)|
|00007440| 3b 0d 09 09 09 09 41 64 | 64 46 69 6e 65 4c 69 6e |;.....Ad|dFineLin|
|00007450| 65 54 6f 47 72 6f 75 70 | 28 70 2d 3e 66 69 6e 65 |eToGroup|(p->fine|
|00007460| 41 78 65 73 2c 20 26 6c | 69 6e 65 44 61 74 61 29 |Axes, &l|ineData)|
|00007470| 3b 0d 09 09 09 09 41 64 | 64 53 6f 6c 69 64 4c 69 |;.....Ad|dSolidLi|
|00007480| 6e 65 54 6f 47 72 6f 75 | 70 28 70 2d 3e 66 61 74 |neToGrou|p(p->fat|
|00007490| 41 78 65 73 2c 20 26 6c | 69 6e 65 44 61 74 61 29 |Axes, &l|ineData)|
|000074a0| 3b 0d 09 09 09 7d 0d 09 | 09 09 69 66 20 28 61 78 |;....}..|..if (ax|
|000074b0| 69 73 44 65 73 63 72 2d | 3e 73 68 6f 77 4c 61 62 |isDescr-|>showLab|
|000074c0| 65 6c 73 20 26 26 20 69 | 73 4d 61 6a 6f 72 29 0d |els && i|sMajor).|
|000074d0| 09 09 09 7b 0d 09 09 09 | 09 53 74 72 32 35 35 09 |...{....|.Str255.|
|000074e0| 73 3b 0d 0d 09 09 09 09 | 4e 75 6d 62 65 72 54 6f |s;......|NumberTo|
|000074f0| 53 74 72 32 35 35 28 74 | 2c 20 73 2c 20 30 2c 20 |Str255(t|, s, 0, |
|00007500| 73 63 61 6c 69 6e 67 2d | 3e 64 69 67 69 74 73 29 |scaling-|>digits)|
|00007510| 3b 0d 09 09 09 09 51 33 | 50 6f 69 6e 74 33 44 5f |;.....Q3|Point3D_|
|00007520| 56 65 63 74 6f 72 33 44 | 5f 41 64 64 28 26 70 6f |Vector3D|_Add(&po|
|00007530| 73 2c 20 26 6c 61 62 73 | 56 65 63 74 6f 72 2c 20 |s, &labs|Vector, |
|00007540| 26 70 6f 73 29 3b 0d 09 | 09 09 09 41 64 64 54 65 |&pos);..|...AddTe|
|00007550| 78 74 28 70 2d 3e 6c 61 | 62 65 6c 73 2c 20 73 2c |xt(p->la|bels, s,|
|00007560| 0d 09 09 09 09 09 61 78 | 69 73 44 65 73 63 72 2d |......ax|isDescr-|
|00007570| 3e 6c 61 62 58 52 6f 74 | 2c 20 61 78 69 73 44 65 |>labXRot|, axisDe|
|00007580| 73 63 72 2d 3e 6c 61 62 | 59 52 6f 74 2c 20 61 78 |scr->lab|YRot, ax|
|00007590| 69 73 44 65 73 63 72 2d | 3e 6c 61 62 5a 52 6f 74 |isDescr-|>labZRot|
|000075a0| 2c 0d 09 09 09 09 09 26 | 70 6f 73 2c 20 61 78 69 |,......&|pos, axi|
|000075b0| 73 44 65 73 63 72 2d 3e | 6c 61 62 41 6c 69 67 6e |sDescr->|labAlign|
|000075c0| 2c 20 70 2d 3e 67 72 61 | 66 33 44 49 6e 66 6f 2d |, p->gra|f3DInfo-|
|000075d0| 3e 6c 61 62 65 6c 53 69 | 7a 65 2c 0d 09 09 09 09 |>labelSi|ze,.....|
|000075e0| 09 75 73 65 4e 6f 72 6d | 61 6c 41 74 74 72 69 62 |.useNorm|alAttrib|
|000075f0| 75 74 65 73 3f 20 6c 61 | 62 65 6c 73 41 74 74 72 |utes? la|belsAttr|
|00007600| 69 62 75 74 65 73 3a 61 | 74 74 72 69 62 75 74 65 |ibutes:a|ttribute|
|00007610| 73 29 3b 0d 09 09 09 7d | 0d 09 09 7d 0d 09 7d 0d |s);....}|...}..}.|
|00007620| 64 6f 6e 65 3a 0d 09 51 | 33 4f 62 6a 65 63 74 5f |done:..Q|3Object_|
|00007630| 44 69 73 70 6f 73 65 49 | 66 4e 6f 74 4e 69 6c 28 |DisposeI|fNotNil(|
|00007640| 61 74 74 72 69 62 75 74 | 65 73 29 3b 0d 7d 09 0d |attribut|es);.}..|
|00007650| 0d 23 64 65 66 69 6e 65 | 20 58 4d 49 4e 20 28 69 |.#define| XMIN (i|
|00007660| 6e 66 6f 2d 3e 73 63 61 | 6c 69 6e 67 44 65 73 63 |nfo->sca|lingDesc|
|00007670| 72 5b 30 5d 2e 6d 69 6e | 29 0d 23 64 65 66 69 6e |r[0].min|).#defin|
|00007680| 65 20 58 4d 41 58 20 28 | 69 6e 66 6f 2d 3e 73 63 |e XMAX (|info->sc|
|00007690| 61 6c 69 6e 67 44 65 73 | 63 72 5b 30 5d 2e 6d 61 |alingDes|cr[0].ma|
|000076a0| 78 29 0d 23 64 65 66 69 | 6e 65 20 59 4d 49 4e 20 |x).#defi|ne YMIN |
|000076b0| 28 69 6e 66 6f 2d 3e 73 | 63 61 6c 69 6e 67 44 65 |(info->s|calingDe|
|000076c0| 73 63 72 5b 31 5d 2e 6d | 69 6e 29 0d 23 64 65 66 |scr[1].m|in).#def|
|000076d0| 69 6e 65 20 59 4d 41 58 | 20 28 69 6e 66 6f 2d 3e |ine YMAX| (info->|
|000076e0| 73 63 61 6c 69 6e 67 44 | 65 73 63 72 5b 31 5d 2e |scalingD|escr[1].|
|000076f0| 6d 61 78 29 0d 23 64 65 | 66 69 6e 65 20 5a 4d 49 |max).#de|fine ZMI|
|00007700| 4e 20 28 69 6e 66 6f 2d | 3e 73 63 61 6c 69 6e 67 |N (info-|>scaling|
|00007710| 44 65 73 63 72 5b 32 5d | 2e 6d 69 6e 29 0d 23 64 |Descr[2]|.min).#d|
|00007720| 65 66 69 6e 65 20 5a 4d | 41 58 20 28 69 6e 66 6f |efine ZM|AX (info|
|00007730| 2d 3e 73 63 61 6c 69 6e | 67 44 65 73 63 72 5b 32 |->scalin|gDescr[2|
|00007740| 5d 2e 6d 61 78 29 0d 0d | 73 74 61 74 69 63 20 76 |].max)..|static v|
|00007750| 6f 69 64 20 4d 61 6b 65 | 41 78 65 73 41 6e 64 4c |oid Make|AxesAndL|
|00007760| 61 62 65 6c 73 44 65 65 | 70 28 54 51 33 47 72 6f |abelsDee|p(TQ3Gro|
|00007770| 75 70 4f 62 6a 65 63 74 | 20 66 69 6e 65 41 78 65 |upObject| fineAxe|
|00007780| 73 2c 20 54 51 33 47 72 | 6f 75 70 4f 62 6a 65 63 |s, TQ3Gr|oupObjec|
|00007790| 74 20 66 61 74 41 78 65 | 73 2c 0d 09 54 51 33 47 |t fatAxe|s,..TQ3G|
|000077a0| 72 6f 75 70 4f 62 6a 65 | 63 74 20 6d 79 4c 61 62 |roupObje|ct myLab|
|000077b0| 65 6c 73 2c 20 47 72 61 | 66 33 44 49 6e 66 6f 2a |els, Gra|f3DInfo*|
|000077c0| 20 63 6f 6e 73 74 20 69 | 6e 66 6f 2c 20 73 68 6f | const i|nfo, sho|
|000077d0| 72 74 20 68 69 6c 69 74 | 65 41 78 69 73 29 0d 09 |rt hilit|eAxis)..|
|000077e0| 09 2f 2f 20 63 72 65 61 | 74 65 73 20 61 78 65 73 |.// crea|tes axes|
|000077f0| 20 61 6e 64 20 6c 61 62 | 65 6c 73 0d 09 09 2f 2f | and lab|els...//|
|00007800| 20 66 69 6e 65 41 78 65 | 73 2c 20 66 61 74 41 78 | fineAxe|s, fatAx|
|00007810| 65 73 20 61 6e 64 20 6c | 61 62 65 6c 73 20 63 61 |es and l|abels ca|
|00007820| 6e 20 62 65 20 6e 69 6c | 20 69 66 20 6e 6f 74 20 |n be nil| if not |
|00007830| 75 73 65 64 0d 09 09 2f | 2f 20 69 6e 66 6f 20 63 |used.../|/ info c|
|00007840| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 64 65 73 63 |ontains |the desc|
|00007850| 72 70 74 69 6f 6e 20 6f | 66 20 74 68 65 20 67 72 |rption o|f the gr|
|00007860| 61 66 20 61 6e 64 20 61 | 78 65 73 0d 09 09 2f 2f |af and a|xes...//|
|00007870| 20 68 69 6c 69 74 65 41 | 78 69 73 3a 20 69 66 20 | hiliteA|xis: if |
|00007880| 2d 31 20 74 68 65 6e 20 | 6e 6f 20 68 69 6c 69 74 |-1 then |no hilit|
|00007890| 69 6e 67 0d 09 09 2f 2f | 09 09 09 20 20 20 69 66 |ing...//|... if|
|000078a0| 20 3e 3d 30 2c 20 20 74 | 68 65 6e 20 75 73 65 64 | >=0, t|hen used|
|000078b0| 20 62 79 20 70 72 65 76 | 69 65 77 20 69 6e 20 6c | by prev|iew in l|
|000078c0| 61 62 65 6c 73 20 64 69 | 61 6c 6f 67 20 62 6f 78 |abels di|alog box|
|000078d0| 0d 09 09 2f 2f 09 09 09 | 09 09 09 66 6f 72 20 64 |...//...|...for d|
|000078e0| 65 73 69 67 6e 61 74 69 | 6e 67 20 74 68 65 20 68 |esignati|ng the h|
|000078f0| 69 6c 69 74 65 64 20 61 | 78 69 73 20 28 6e 6f 74 |ilited a|xis (not|
|00007900| 20 69 6d 70 6c 65 6d 65 | 6e 74 65 64 20 66 6f 72 | impleme|nted for|
|00007910| 20 66 61 74 41 78 65 73 | 29 0d 7b 0d 09 54 51 33 | fatAxes|).{..TQ3|
|00007920| 53 68 61 64 65 72 4f 62 | 6a 65 63 74 09 09 6d 79 |ShaderOb|ject..my|
|00007930| 53 68 61 64 65 72 20 3d | 20 51 33 4e 55 4c 4c 49 |Shader =| Q3NULLI|
|00007940| 6c 6c 75 6d 69 6e 61 74 | 69 6f 6e 5f 4e 65 77 28 |lluminat|ion_New(|
|00007950| 29 3b 09 2f 2f 20 74 68 | 65 20 73 68 61 64 65 72 |);.// th|e shader|
|00007960| 0d 09 54 51 33 47 65 6f | 6d 65 74 72 79 4f 62 6a |..TQ3Geo|metryObj|
|00007970| 65 63 74 09 73 6f 6c 69 | 64 4c 69 6e 65 73 20 3d |ect.soli|dLines =|
|00007980| 20 6e 69 6c 3b 0d 09 4d | 61 6b 65 41 78 69 73 50 | nil;..M|akeAxisP|
|00007990| 61 72 61 6d 09 09 6d 61 | 6b 65 41 78 69 73 50 61 |aram..ma|keAxisPa|
|000079a0| 72 61 6d 3b 0d 09 64 6f | 75 62 6c 65 09 09 09 09 |ram;..do|uble....|
|000079b0| 6f 72 69 67 69 6e 58 20 | 3d 20 69 6e 66 6f 2d 3e |originX |= info->|
|000079c0| 73 63 61 6c 69 6e 67 44 | 65 73 63 72 5b 30 5d 2e |scalingD|escr[0].|
|000079d0| 6f 72 69 67 69 6e 3b 0d | 09 64 6f 75 62 6c 65 09 |origin;.|.double.|
|000079e0| 09 09 09 6f 72 69 67 69 | 6e 59 20 3d 20 69 6e 66 |...origi|nY = inf|
|000079f0| 6f 2d 3e 73 63 61 6c 69 | 6e 67 44 65 73 63 72 5b |o->scali|ngDescr[|
|00007a00| 31 5d 2e 6f 72 69 67 69 | 6e 3b 0d 09 64 6f 75 62 |1].origi|n;..doub|
|00007a10| 6c 65 09 09 09 09 6f 72 | 69 67 69 6e 5a 20 3d 20 |le....or|iginZ = |
|00007a20| 69 6e 66 6f 2d 3e 73 63 | 61 6c 69 6e 67 44 65 73 |info->sc|alingDes|
|00007a30| 63 72 5b 32 5d 2e 6f 72 | 69 67 69 6e 3b 0d 09 0d |cr[2].or|igin;...|
|00007a40| 09 69 66 20 28 6d 79 53 | 68 61 64 65 72 20 3d 3d |.if (myS|hader ==|
|00007a50| 20 4e 55 4c 4c 29 20 67 | 6f 74 6f 20 64 6f 6e 65 | NULL) g|oto done|
|00007a60| 3b 0d 0d 09 69 66 20 28 | 66 69 6e 65 41 78 65 73 |;...if (|fineAxes|
|00007a70| 29 0d 09 7b 09 51 33 47 | 72 6f 75 70 5f 45 6d 70 |)..{.Q3G|roup_Emp|
|00007a80| 74 79 4f 62 6a 65 63 74 | 73 28 66 69 6e 65 41 78 |tyObject|s(fineAx|
|00007a90| 65 73 29 3b 09 09 09 09 | 09 2f 2f 20 72 65 6d 6f |es);....|.// remo|
|00007aa0| 76 65 20 65 76 65 72 79 | 74 68 69 6e 67 20 74 68 |ve every|thing th|
|00007ab0| 61 74 20 69 74 20 63 6f | 6e 74 61 69 6e 65 64 0d |at it co|ntained.|
|00007ac0| 09 09 51 33 47 72 6f 75 | 70 5f 41 64 64 4f 62 6a |..Q3Grou|p_AddObj|
|00007ad0| 65 63 74 28 66 69 6e 65 | 41 78 65 73 2c 20 6d 79 |ect(fine|Axes, my|
|00007ae0| 53 68 61 64 65 72 29 3b | 09 09 09 2f 2f 20 61 64 |Shader);|...// ad|
|00007af0| 64 20 73 68 61 64 65 72 | 0d 09 7d 0d 09 69 66 20 |d shader|..}..if |
|00007b00| 28 66 61 74 41 78 65 73 | 29 0d 09 7b 09 51 33 47 |(fatAxes|)..{.Q3G|
|00007b10| 72 6f 75 70 5f 45 6d 70 | 74 79 4f 62 6a 65 63 74 |roup_Emp|tyObject|
|00007b20| 73 28 66 61 74 41 78 65 | 73 29 3b 09 09 09 09 09 |s(fatAxe|s);.....|
|00007b30| 2f 2f 20 72 65 6d 6f 76 | 65 20 65 76 65 72 79 74 |// remov|e everyt|
|00007b40| 68 69 6e 67 20 74 68 61 | 74 20 69 74 20 63 6f 6e |hing tha|t it con|
|00007b50| 74 61 69 6e 65 64 0d 09 | 09 51 33 47 72 6f 75 70 |tained..|.Q3Group|
|00007b60| 5f 41 64 64 4f 62 6a 65 | 63 74 28 66 61 74 41 78 |_AddObje|ct(fatAx|
|00007b70| 65 73 2c 20 6d 79 53 68 | 61 64 65 72 29 3b 09 09 |es, mySh|ader);..|
|00007b80| 09 2f 2f 20 61 64 64 20 | 73 68 61 64 65 72 0d 09 |.// add |shader..|
|00007b90| 09 51 33 47 72 6f 75 70 | 5f 41 64 64 4f 62 6a 65 |.Q3Group|_AddObje|
|00007ba0| 63 74 28 66 61 74 41 78 | 65 73 2c 20 61 78 65 73 |ct(fatAx|es, axes|
|00007bb0| 41 74 74 72 69 62 75 74 | 65 73 29 3b 09 09 2f 2f |Attribut|es);..//|
|00007bc0| 20 61 64 64 20 63 6f 6c | 6f 72 0d 09 7d 0d 0d 09 | add col|or..}...|
|00007bd0| 69 66 20 28 6d 79 4c 61 | 62 65 6c 73 29 0d 09 7b |if (myLa|bels)..{|
|00007be0| 09 51 33 47 72 6f 75 70 | 5f 45 6d 70 74 79 4f 62 |.Q3Group|_EmptyOb|
|00007bf0| 6a 65 63 74 73 28 6d 79 | 4c 61 62 65 6c 73 29 3b |jects(my|Labels);|
|00007c00| 09 09 09 09 09 2f 2f 20 | 72 65 6d 6f 76 65 20 65 |.....// |remove e|
|00007c10| 76 65 72 79 74 68 69 6e | 67 20 74 68 61 74 20 69 |verythin|g that i|
|00007c20| 74 20 63 6f 6e 74 61 69 | 6e 65 64 0d 09 09 51 33 |t contai|ned...Q3|
|00007c30| 47 72 6f 75 70 5f 41 64 | 64 4f 62 6a 65 63 74 28 |Group_Ad|dObject(|
|00007c40| 6d 79 4c 61 62 65 6c 73 | 2c 20 6d 79 53 68 61 64 |myLabels|, myShad|
|00007c50| 65 72 29 3b 09 09 09 2f | 2f 20 61 64 64 20 73 68 |er);.../|/ add sh|
|00007c60| 61 64 65 72 0d 09 7d 0d | 0d 09 2f 2f 20 70 72 65 |ader..}.|..// pre|
|00007c70| 70 61 72 65 20 70 61 72 | 61 6d 65 74 65 72 73 20 |pare par|ameters |
|00007c80| 66 6f 72 20 4d 61 6b 65 | 41 78 69 73 3a 0d 09 6d |for Make|Axis:..m|
|00007c90| 61 6b 65 41 78 69 73 50 | 61 72 61 6d 2e 6c 61 62 |akeAxisP|aram.lab|
|00007ca0| 65 6c 73 20 3d 20 6d 79 | 4c 61 62 65 6c 73 3b 0d |els = my|Labels;.|
|00007cb0| 09 6d 61 6b 65 41 78 69 | 73 50 61 72 61 6d 2e 66 |.makeAxi|sParam.f|
|00007cc0| 61 74 41 78 65 73 20 3d | 20 66 61 74 41 78 65 73 |atAxes =| fatAxes|
|00007cd0| 3b 0d 09 6d 61 6b 65 41 | 78 69 73 50 61 72 61 6d |;..makeA|xisParam|
|00007ce0| 2e 66 69 6e 65 41 78 65 | 73 20 3d 20 66 69 6e 65 |.fineAxe|s = fine|
|00007cf0| 41 78 65 73 3b 0d 09 6d | 61 6b 65 41 78 69 73 50 |Axes;..m|akeAxisP|
|00007d00| 61 72 61 6d 2e 67 72 61 | 66 33 44 49 6e 66 6f 20 |aram.gra|f3DInfo |
|00007d10| 3d 20 69 6e 66 6f 3b 0d | 09 6d 61 6b 65 41 78 69 |= info;.|.makeAxi|
|00007d20| 73 50 61 72 61 6d 2e 68 | 69 6c 69 74 65 41 78 69 |sParam.h|iliteAxi|
|00007d30| 73 20 3d 20 68 69 6c 69 | 74 65 41 78 69 73 3b 0d |s = hili|teAxis;.|
|00007d40| 0d 09 2f 2f 20 78 2d 61 | 78 69 73 3a 0d 09 4d 61 |..// x-a|xis:..Ma|
|00007d50| 6b 65 41 78 69 73 28 30 | 2c 20 26 6d 61 6b 65 41 |keAxis(0|, &makeA|
|00007d60| 78 69 73 50 61 72 61 6d | 2c 20 58 4d 49 4e 2c 20 |xisParam|, XMIN, |
|00007d70| 6f 72 69 67 69 6e 59 2c | 20 6f 72 69 67 69 6e 5a |originY,| originZ|
|00007d80| 2c 20 58 4d 41 58 2c 20 | 6f 72 69 67 69 6e 59 2c |, XMAX, |originY,|
|00007d90| 20 6f 72 69 67 69 6e 5a | 29 3b 0d 0d 09 2f 2f 20 | originZ|);...// |
|00007da0| 79 2d 61 78 69 73 3a 0d | 09 4d 61 6b 65 41 78 69 |y-axis:.|.MakeAxi|
|00007db0| 73 28 35 2c 20 26 6d 61 | 6b 65 41 78 69 73 50 61 |s(5, &ma|keAxisPa|
|00007dc0| 72 61 6d 2c 20 6f 72 69 | 67 69 6e 58 2c 20 59 4d |ram, ori|ginX, YM|
|00007dd0| 49 4e 2c 20 6f 72 69 67 | 69 6e 5a 2c 20 6f 72 69 |IN, orig|inZ, ori|
|00007de0| 67 69 6e 58 2c 20 59 4d | 41 58 2c 20 6f 72 69 67 |ginX, YM|AX, orig|
|00007df0| 69 6e 5a 29 3b 0d 09 0d | 09 2f 2f 20 7a 2d 61 78 |inZ);...|.// z-ax|
|00007e00| 69 73 3a 0d 09 4d 61 6b | 65 41 78 69 73 28 31 30 |is:..Mak|eAxis(10|
|00007e10| 2c 20 26 6d 61 6b 65 41 | 78 69 73 50 61 72 61 6d |, &makeA|xisParam|
|00007e20| 2c 20 6f 72 69 67 69 6e | 58 2c 20 6f 72 69 67 69 |, origin|X, origi|
|00007e30| 6e 59 2c 20 5a 4d 49 4e | 2c 20 6f 72 69 67 69 6e |nY, ZMIN|, origin|
|00007e40| 58 2c 20 6f 72 69 67 69 | 6e 59 2c 20 5a 4d 41 58 |X, origi|nY, ZMAX|
|00007e50| 29 3b 0d 0d 09 2f 2f 20 | 66 72 61 6d 65 0d 0d 09 |);...// |frame...|
|00007e60| 4d 61 6b 65 41 78 69 73 | 28 31 2c 20 26 6d 61 6b |MakeAxis|(1, &mak|
|00007e70| 65 41 78 69 73 50 61 72 | 61 6d 2c 20 58 4d 49 4e |eAxisPar|am, XMIN|
|00007e80| 2c 20 59 4d 49 4e 2c 20 | 5a 4d 49 4e 2c 20 58 4d |, YMIN, |ZMIN, XM|
|00007e90| 41 58 2c 20 59 4d 49 4e | 2c 20 5a 4d 49 4e 29 3b |AX, YMIN|, ZMIN);|
|00007ea0| 0d 09 4d 61 6b 65 41 78 | 69 73 28 32 2c 20 26 6d |..MakeAx|is(2, &m|
|00007eb0| 61 6b 65 41 78 69 73 50 | 61 72 61 6d 2c 20 58 4d |akeAxisP|aram, XM|
|00007ec0| 49 4e 2c 20 59 4d 41 58 | 2c 20 5a 4d 49 4e 2c 20 |IN, YMAX|, ZMIN, |
|00007ed0| 58 4d 41 58 2c 20 59 4d | 41 58 2c 20 5a 4d 49 4e |XMAX, YM|AX, ZMIN|
|00007ee0| 29 3b 0d 09 4d 61 6b 65 | 41 78 69 73 28 33 2c 20 |);..Make|Axis(3, |
|00007ef0| 26 6d 61 6b 65 41 78 69 | 73 50 61 72 61 6d 2c 20 |&makeAxi|sParam, |
|00007f00| 58 4d 49 4e 2c 20 59 4d | 41 58 2c 20 5a 4d 41 58 |XMIN, YM|AX, ZMAX|
|00007f10| 2c 20 58 4d 41 58 2c 20 | 59 4d 41 58 2c 20 5a 4d |, XMAX, |YMAX, ZM|
|00007f20| 41 58 29 3b 0d 09 4d 61 | 6b 65 41 78 69 73 28 34 |AX);..Ma|keAxis(4|
|00007f30| 2c 20 26 6d 61 6b 65 41 | 78 69 73 50 61 72 61 6d |, &makeA|xisParam|
|00007f40| 2c 20 58 4d 49 4e 2c 20 | 59 4d 49 4e 2c 20 5a 4d |, XMIN, |YMIN, ZM|
|00007f50| 41 58 2c 20 58 4d 41 58 | 2c 20 59 4d 49 4e 2c 20 |AX, XMAX|, YMIN, |
|00007f60| 5a 4d 41 58 29 3b 0d 0d | 09 4d 61 6b 65 41 78 69 |ZMAX);..|.MakeAxi|
|00007f70| 73 28 36 2c 20 26 6d 61 | 6b 65 41 78 69 73 50 61 |s(6, &ma|keAxisPa|
|00007f80| 72 61 6d 2c 20 58 4d 49 | 4e 2c 20 59 4d 49 4e 2c |ram, XMI|N, YMIN,|
|00007f90| 20 5a 4d 49 4e 2c 20 58 | 4d 49 4e 2c 20 59 4d 41 | ZMIN, X|MIN, YMA|
|00007fa0| 58 2c 20 5a 4d 49 4e 29 | 3b 0d 09 4d 61 6b 65 41 |X, ZMIN)|;..MakeA|
|00007fb0| 78 69 73 28 37 2c 20 26 | 6d 61 6b 65 41 78 69 73 |xis(7, &|makeAxis|
|00007fc0| 50 61 72 61 6d 2c 20 58 | 4d 41 58 2c 20 59 4d 49 |Param, X|MAX, YMI|
|00007fd0| 4e 2c 20 5a 4d 49 4e 2c | 20 58 4d 41 58 2c 20 59 |N, ZMIN,| XMAX, Y|
|00007fe0| 4d 41 58 2c 20 5a 4d 49 | 4e 29 3b 0d 09 4d 61 6b |MAX, ZMI|N);..Mak|
|00007ff0| 65 41 78 69 73 28 38 2c | 20 26 6d 61 6b 65 41 78 |eAxis(8,| &makeAx|
|00008000| 69 73 50 61 72 61 6d 2c | 20 58 4d 41 58 2c 20 59 |isParam,| XMAX, Y|
|00008010| 4d 49 4e 2c 20 5a 4d 41 | 58 2c 20 58 4d 41 58 2c |MIN, ZMA|X, XMAX,|
|00008020| 20 59 4d 41 58 2c 20 5a | 4d 41 58 29 3b 0d 09 4d | YMAX, Z|MAX);..M|
|00008030| 61 6b 65 41 78 69 73 28 | 39 2c 20 26 6d 61 6b 65 |akeAxis(|9, &make|
|00008040| 41 78 69 73 50 61 72 61 | 6d 2c 20 58 4d 49 4e 2c |AxisPara|m, XMIN,|
|00008050| 20 59 4d 49 4e 2c 20 5a | 4d 41 58 2c 20 58 4d 49 | YMIN, Z|MAX, XMI|
|00008060| 4e 2c 20 59 4d 41 58 2c | 20 5a 4d 41 58 29 3b 0d |N, YMAX,| ZMAX);.|
|00008070| 0d 09 4d 61 6b 65 41 78 | 69 73 28 31 31 2c 20 26 |..MakeAx|is(11, &|
|00008080| 6d 61 6b 65 41 78 69 73 | 50 61 72 61 6d 2c 20 58 |makeAxis|Param, X|
|00008090| 4d 49 4e 2c 20 59 4d 49 | 4e 2c 20 5a 4d 49 4e 2c |MIN, YMI|N, ZMIN,|
|000080a0| 20 58 4d 49 4e 2c 20 59 | 4d 49 4e 2c 20 5a 4d 41 | XMIN, Y|MIN, ZMA|
|000080b0| 58 29 3b 0d 09 4d 61 6b | 65 41 78 69 73 28 31 32 |X);..Mak|eAxis(12|
|000080c0| 2c 20 26 6d 61 6b 65 41 | 78 69 73 50 61 72 61 6d |, &makeA|xisParam|
|000080d0| 2c 20 58 4d 41 58 2c 20 | 59 4d 49 4e 2c 20 5a 4d |, XMAX, |YMIN, ZM|
|000080e0| 49 4e 2c 20 58 4d 41 58 | 2c 20 59 4d 49 4e 2c 20 |IN, XMAX|, YMIN, |
|000080f0| 5a 4d 41 58 29 3b 0d 09 | 4d 61 6b 65 41 78 69 73 |ZMAX);..|MakeAxis|
|00008100| 28 31 33 2c 20 26 6d 61 | 6b 65 41 78 69 73 50 61 |(13, &ma|keAxisPa|
|00008110| 72 61 6d 2c 20 58 4d 41 | 58 2c 20 59 4d 41 58 2c |ram, XMA|X, YMAX,|
|00008120| 20 5a 4d 49 4e 2c 20 58 | 4d 41 58 2c 20 59 4d 41 | ZMIN, X|MAX, YMA|
|00008130| 58 2c 20 5a 4d 41 58 29 | 3b 0d 09 4d 61 6b 65 41 |X, ZMAX)|;..MakeA|
|00008140| 78 69 73 28 31 34 2c 20 | 26 6d 61 6b 65 41 78 69 |xis(14, |&makeAxi|
|00008150| 73 50 61 72 61 6d 2c 20 | 58 4d 49 4e 2c 20 59 4d |sParam, |XMIN, YM|
|00008160| 41 58 2c 20 5a 4d 49 4e | 2c 20 58 4d 49 4e 2c 20 |AX, ZMIN|, XMIN, |
|00008170| 59 4d 41 58 2c 20 5a 4d | 41 58 29 3b 0d 0d 64 6f |YMAX, ZM|AX);..do|
|00008180| 6e 65 3a 0d 09 51 33 4f | 62 6a 65 63 74 5f 44 69 |ne:..Q3O|bject_Di|
|00008190| 73 70 6f 73 65 49 66 4e | 6f 74 4e 69 6c 28 6d 79 |sposeIfN|otNil(my|
|000081a0| 53 68 61 64 65 72 29 3b | 0d 7d 0d 0d 73 74 61 74 |Shader);|.}..stat|
|000081b0| 69 63 20 76 6f 69 64 20 | 4d 61 6b 65 41 78 65 73 |ic void |MakeAxes|
|000081c0| 41 6e 64 4c 61 62 65 6c | 73 28 76 6f 69 64 29 0d |AndLabel|s(void).|
|000081d0| 7b 0d 09 4d 61 6b 65 41 | 78 65 73 41 6e 64 4c 61 |{..MakeA|xesAndLa|
|000081e0| 62 65 6c 73 44 65 65 70 | 28 61 78 65 73 54 68 69 |belsDeep|(axesThi|
|000081f0| 6e 2c 20 61 78 65 73 53 | 6f 6c 69 64 2c 20 6c 61 |n, axesS|olid, la|
|00008200| 62 65 6c 73 2c 20 26 67 | 72 61 66 33 44 49 6e 66 |bels, &g|raf3DInf|
|00008210| 6f 2c 20 2d 31 29 3b 0d | 7d 0d 0d 0d 0d 73 74 61 |o, -1);.|}....sta|
|00008220| 74 69 63 20 76 6f 69 64 | 20 4d 61 6b 65 53 75 72 |tic void| MakeSur|
|00008230| 66 61 63 65 28 76 6f 69 | 64 29 0d 7b 0d 09 54 51 |face(voi|d).{..TQ|
|00008240| 33 47 65 6f 6d 65 74 72 | 79 4f 62 6a 65 63 74 09 |3Geometr|yObject.|
|00008250| 6d 65 73 68 3b 0d 09 54 | 51 33 53 74 79 6c 65 4f |mesh;..T|Q3StyleO|
|00008260| 62 6a 65 63 74 09 09 62 | 61 63 6b 66 61 63 69 6e |bject..b|ackfacin|
|00008270| 67 20 3d 20 51 33 42 61 | 63 6b 66 61 63 69 6e 67 |g = Q3Ba|ckfacing|
|00008280| 53 74 79 6c 65 5f 4e 65 | 77 28 6b 51 33 42 61 63 |Style_Ne|w(kQ3Bac|
|00008290| 6b 66 61 63 69 6e 67 53 | 74 79 6c 65 46 6c 69 70 |kfacingS|tyleFlip|
|000082a0| 29 3b 0d 09 54 51 33 4d | 65 73 68 49 74 65 72 61 |);..TQ3M|eshItera|
|000082b0| 74 6f 72 09 09 69 74 65 | 72 3b 0d 09 54 51 33 4d |tor..ite|r;..TQ3M|
|000082c0| 65 73 68 56 65 72 74 65 | 78 09 09 76 65 72 74 65 |eshVerte|x..verte|
|000082d0| 78 3b 0d 0d 09 51 33 47 | 72 6f 75 70 5f 45 6d 70 |x;...Q3G|roup_Emp|
|000082e0| 74 79 4f 62 6a 65 63 74 | 73 28 73 75 72 66 61 63 |tyObject|s(surfac|
|000082f0| 65 29 3b 09 09 09 09 09 | 09 2f 2f 20 72 65 6d 6f |e);.....|.// remo|
|00008300| 76 65 20 65 76 65 72 79 | 74 68 69 6e 67 20 74 68 |ve every|thing th|
|00008310| 61 74 20 69 74 20 63 6f | 6e 74 61 69 6e 65 64 0d |at it co|ntained.|
|00008320| 0d 09 51 33 47 72 6f 75 | 70 5f 41 64 64 4f 62 6a |..Q3Grou|p_AddObj|
|00008330| 65 63 74 28 73 75 72 66 | 61 63 65 2c 20 73 75 72 |ect(surf|ace, sur|
|00008340| 66 61 63 65 46 69 6c 6c | 53 74 79 6c 65 29 3b 0d |faceFill|Style);.|
|00008350| 09 69 66 20 28 62 61 63 | 6b 66 61 63 69 6e 67 29 |.if (bac|kfacing)|
|00008360| 20 51 33 47 72 6f 75 70 | 5f 41 64 64 4f 62 6a 65 | Q3Group|_AddObje|
|00008370| 63 74 28 73 75 72 66 61 | 63 65 2c 20 62 61 63 6b |ct(surfa|ce, back|
|00008380| 66 61 63 69 6e 67 29 3b | 0d 0d 09 6d 65 73 68 20 |facing);|...mesh |
|00008390| 3d 20 28 2a 28 6d 61 6b | 65 53 75 72 66 61 63 65 |= (*(mak|eSurface|
|000083a0| 50 72 6f 63 73 5b 63 75 | 72 72 65 6e 74 53 75 72 |Procs[cu|rrentSur|
|000083b0| 66 61 63 65 54 79 70 65 | 5d 29 29 28 29 3b 09 2f |faceType|]))();./|
|000083c0| 2f 20 63 72 65 61 74 65 | 73 20 73 75 72 66 61 63 |/ create|s surfac|
|000083d0| 65 20 6f 62 6a 65 63 74 | 0d 09 69 66 20 28 6d 65 |e object|..if (me|
|000083e0| 73 68 29 0d 09 7b 0d 09 | 09 51 33 47 65 6f 6d 65 |sh)..{..|.Q3Geome|
|000083f0| 74 72 79 5f 53 65 74 41 | 74 74 72 69 62 75 74 65 |try_SetA|ttribute|
|00008400| 53 65 74 28 6d 65 73 68 | 2c 20 73 75 72 66 61 63 |Set(mesh|, surfac|
|00008410| 65 41 74 74 72 69 62 75 | 74 65 73 29 3b 0d 09 09 |eAttribu|tes);...|
|00008420| 51 33 47 72 6f 75 70 5f | 41 64 64 4f 62 6a 65 63 |Q3Group_|AddObjec|
|00008430| 74 28 73 75 72 66 61 63 | 65 2c 20 6d 65 73 68 29 |t(surfac|e, mesh)|
|00008440| 3b 0d 0d 09 09 51 33 46 | 6f 72 45 61 63 68 4d 65 |;....Q3F|orEachMe|
|00008450| 73 68 56 65 72 74 65 78 | 28 6d 65 73 68 2c 20 76 |shVertex|(mesh, v|
|00008460| 65 72 74 65 78 2c 20 26 | 69 74 65 72 29 0d 09 09 |ertex, &|iter)...|
|00008470| 7b 0d 09 09 09 54 51 33 | 50 6f 69 6e 74 33 44 09 |{....TQ3|Point3D.|
|00008480| 09 63 6f 6f 72 64 3b 0d | 09 09 09 54 51 33 50 61 |.coord;.|...TQ3Pa|
|00008490| 72 61 6d 32 44 20 09 09 | 75 76 3b 0d 09 09 09 54 |ram2D ..|uv;....T|
|000084a0| 51 33 41 74 74 72 69 62 | 75 74 65 53 65 74 09 76 |Q3Attrib|uteSet.v|
|000084b0| 65 72 74 65 78 41 74 74 | 72 20 3d 20 51 33 41 74 |ertexAtt|r = Q3At|
|000084c0| 74 72 69 62 75 74 65 53 | 65 74 5f 4e 65 77 28 29 |tributeS|et_New()|
|000084d0| 3b 0d 09 09 09 69 66 20 | 28 76 65 72 74 65 78 41 |;....if |(vertexA|
|000084e0| 74 74 72 29 0d 09 09 09 | 7b 0d 09 09 09 09 51 33 |ttr)....|{.....Q3|
|000084f0| 4d 65 73 68 5f 47 65 74 | 56 65 72 74 65 78 43 6f |Mesh_Get|VertexCo|
|00008500| 6f 72 64 69 6e 61 74 65 | 73 28 6d 65 73 68 2c 20 |ordinate|s(mesh, |
|00008510| 76 65 72 74 65 78 2c 20 | 26 63 6f 6f 72 64 29 3b |vertex, |&coord);|
|00008520| 0d 09 09 09 09 75 76 2e | 75 20 3d 20 67 72 61 66 |.....uv.|u = graf|
|00008530| 33 44 49 6e 66 6f 2e 74 | 65 78 74 75 72 65 52 65 |3DInfo.t|extureRe|
|00008540| 70 65 61 74 58 2a 28 63 | 6f 6f 72 64 2e 78 2b 31 |peatX*(c|oord.x+1|
|00008550| 29 2f 32 3b 0d 09 09 09 | 09 75 76 2e 76 20 3d 20 |)/2;....|.uv.v = |
|00008560| 67 72 61 66 33 44 49 6e | 66 6f 2e 74 65 78 74 75 |graf3DIn|fo.textu|
|00008570| 72 65 52 65 70 65 61 74 | 59 2a 28 63 6f 6f 72 64 |reRepeat|Y*(coord|
|00008580| 2e 79 2b 31 29 2f 32 3b | 0d 09 09 09 09 51 33 41 |.y+1)/2;|.....Q3A|
|00008590| 74 74 72 69 62 75 74 65 | 53 65 74 5f 41 64 64 28 |ttribute|Set_Add(|
|000085a0| 76 65 72 74 65 78 41 74 | 74 72 2c 20 6b 51 33 41 |vertexAt|tr, kQ3A|
|000085b0| 74 74 72 69 62 75 74 65 | 54 79 70 65 53 75 72 66 |ttribute|TypeSurf|
|000085c0| 61 63 65 55 56 2c 20 26 | 75 76 29 3b 0d 09 09 09 |aceUV, &|uv);....|
|000085d0| 09 51 33 4d 65 73 68 5f | 53 65 74 56 65 72 74 65 |.Q3Mesh_|SetVerte|
|000085e0| 78 41 74 74 72 69 62 75 | 74 65 53 65 74 28 6d 65 |xAttribu|teSet(me|
|000085f0| 73 68 2c 20 76 65 72 74 | 65 78 2c 20 76 65 72 74 |sh, vert|ex, vert|
|00008600| 65 78 41 74 74 72 29 3b | 0d 09 09 09 09 51 33 4f |exAttr);|.....Q3O|
|00008610| 62 6a 65 63 74 5f 44 69 | 73 70 6f 73 65 28 76 65 |bject_Di|spose(ve|
|00008620| 72 74 65 78 41 74 74 72 | 29 3b 0d 09 09 09 7d 0d |rtexAttr|);....}.|
|00008630| 09 09 7d 0d 09 7d 0d 0d | 09 09 0d 09 51 33 4f 62 |..}..}..|....Q3Ob|
|00008640| 6a 65 63 74 5f 44 69 73 | 70 6f 73 65 49 66 4e 6f |ject_Dis|poseIfNo|
|00008650| 74 4e 69 6c 28 6d 65 73 | 68 29 3b 0d 09 51 33 4f |tNil(mes|h);..Q3O|
|00008660| 62 6a 65 63 74 5f 44 69 | 73 70 6f 73 65 49 66 4e |bject_Di|sposeIfN|
|00008670| 6f 74 4e 69 6c 28 62 61 | 63 6b 66 61 63 69 6e 67 |otNil(ba|ckfacing|
|00008680| 29 3b 0d 7d 0d 0d 73 74 | 61 74 69 63 20 76 6f 69 |);.}..st|atic voi|
|00008690| 64 20 4d 61 6b 65 4d 6f | 64 65 6c 28 76 6f 69 64 |d MakeMo|del(void|
|000086a0| 29 0d 09 2f 2f 20 61 73 | 73 65 6d 62 6c 65 73 20 |)..// as|sembles |
|000086b0| 74 68 65 20 6d 6f 64 65 | 6c 0d 09 2f 2f 20 64 65 |the mode|l..// de|
|000086c0| 70 65 6e 64 69 6e 67 20 | 6f 6e 20 73 68 6f 77 53 |pending |on showS|
|000086d0| 75 72 66 61 63 65 2c 20 | 73 68 6f 77 41 78 65 73 |urface, |showAxes|
|000086e0| 2c 20 73 68 6f 77 4c 61 | 62 65 6c 73 0d 7b 0d 09 |, showLa|bels.{..|
|000086f0| 54 51 33 53 68 61 64 65 | 72 4f 62 6a 65 63 74 09 |TQ3Shade|rObject.|
|00008700| 09 6d 79 53 68 61 64 65 | 72 20 3d 20 6e 69 6c 3b |.myShade|r = nil;|
|00008710| 09 09 09 09 09 09 2f 2f | 20 74 68 65 20 73 68 61 |......//| the sha|
|00008720| 64 65 72 20 66 6f 72 20 | 74 68 65 20 73 75 72 66 |der for |the surf|
|00008730| 61 63 65 0d 09 54 51 33 | 47 72 6f 75 70 50 6f 73 |ace..TQ3|GroupPos|
|00008740| 69 74 69 6f 6e 09 70 6f | 73 3b 0d 0d 0d 09 51 33 |ition.po|s;....Q3|
|00008750| 46 69 6c 6c 53 74 79 6c | 65 5f 53 65 74 28 73 75 |FillStyl|e_Set(su|
|00008760| 72 66 61 63 65 46 69 6c | 6c 53 74 79 6c 65 2c 20 |rfaceFil|lStyle, |
|00008770| 73 74 79 6c 65 49 6e 66 | 6f 5b 67 72 61 66 33 44 |styleInf|o[graf3D|
|00008780| 49 6e 66 6f 2e 73 75 72 | 66 61 63 65 53 74 79 6c |Info.sur|faceStyl|
|00008790| 65 5d 2e 66 69 6c 6c 53 | 74 79 6c 65 29 3b 0d 0d |e].fillS|tyle);..|
|000087a0| 09 69 66 20 28 76 69 65 | 77 65 72 29 09 09 09 09 |.if (vie|wer)....|
|000087b0| 09 09 09 09 09 09 09 2f | 2f 20 69 66 20 76 69 65 |......./|/ if vie|
|000087c0| 77 65 72 20 68 61 73 20 | 61 6c 72 65 61 64 79 20 |wer has |already |
|000087d0| 62 65 65 6e 20 69 6e 69 | 74 69 61 6c 69 7a 65 64 |been ini|tialized|
|000087e0| 0d 09 09 51 33 56 69 65 | 77 5f 53 65 74 52 65 6e |...Q3Vie|w_SetRen|
|000087f0| 64 65 72 65 72 42 79 54 | 79 70 65 28 50 33 56 69 |dererByT|ype(P3Vi|
|00008800| 65 77 65 72 47 65 74 56 | 69 65 77 28 76 69 65 77 |ewerGetV|iew(view|
|00008810| 65 72 29 2c 20 73 74 79 | 6c 65 49 6e 66 6f 5b 67 |er), sty|leInfo[g|
|00008820| 72 61 66 33 44 49 6e 66 | 6f 2e 73 75 72 66 61 63 |raf3DInf|o.surfac|
|00008830| 65 53 74 79 6c 65 5d 2e | 72 65 6e 64 65 72 65 72 |eStyle].|renderer|
|00008840| 29 3b 0d 0d 09 2f 2f 20 | 72 65 6d 6f 76 65 20 61 |);...// |remove a|
|00008850| 6c 6c 20 73 68 61 64 65 | 72 73 20 66 72 6f 6d 20 |ll shade|rs from |
|00008860| 73 75 72 66 61 63 65 0d | 09 77 68 69 6c 65 28 31 |surface.|.while(1|
|00008870| 29 0d 09 7b 0d 09 09 51 | 33 47 72 6f 75 70 5f 47 |)..{...Q|3Group_G|
|00008880| 65 74 46 69 72 73 74 50 | 6f 73 69 74 69 6f 6e 4f |etFirstP|ositionO|
|00008890| 66 54 79 70 65 28 73 75 | 72 66 61 63 65 2c 20 6b |fType(su|rface, k|
|000088a0| 51 33 53 68 61 70 65 54 | 79 70 65 53 68 61 64 65 |Q3ShapeT|ypeShade|
|000088b0| 72 2c 20 26 70 6f 73 29 | 3b 09 2f 2f 20 67 65 74 |r, &pos)|;.// get|
|000088c0| 20 74 68 65 20 73 68 61 | 64 65 72 0d 09 09 69 66 | the sha|der...if|
|000088d0| 20 28 70 6f 73 20 21 3d | 20 4e 55 4c 4c 29 0d 09 | (pos !=| NULL)..|
|000088e0| 09 7b 09 54 51 33 4f 62 | 6a 65 63 74 20 6f 62 6a |.{.TQ3Ob|ject obj|
|000088f0| 20 3d 20 51 33 47 72 6f | 75 70 5f 52 65 6d 6f 76 | = Q3Gro|up_Remov|
|00008900| 65 50 6f 73 69 74 69 6f | 6e 28 73 75 72 66 61 63 |ePositio|n(surfac|
|00008910| 65 2c 20 70 6f 73 29 3b | 0d 09 09 09 51 33 4f 62 |e, pos);|....Q3Ob|
|00008920| 6a 65 63 74 5f 44 69 73 | 70 6f 73 65 49 66 4e 6f |ject_Dis|poseIfNo|
|00008930| 74 4e 69 6c 28 6f 62 6a | 29 3b 0d 09 09 7d 0d 09 |tNil(obj|);...}..|
|00008940| 09 65 6c 73 65 20 62 72 | 65 61 6b 3b 0d 09 7d 0d |.else br|eak;..}.|
|00008950| 0d 09 69 66 20 28 67 72 | 61 66 33 44 49 6e 66 6f |..if (gr|af3DInfo|
|00008960| 2e 69 73 54 65 78 74 75 | 72 65 64 29 0d 09 7b 0d |.isTextu|red)..{.|
|00008970| 09 09 50 69 63 48 61 6e | 64 6c 65 09 68 20 3d 20 |..PicHan|dle.h = |
|00008980| 28 50 69 63 48 61 6e 64 | 6c 65 29 47 65 74 31 52 |(PicHand|le)Get1R|
|00008990| 65 73 6f 75 72 63 65 28 | 27 50 49 43 54 27 2c 20 |esource(|'PICT', |
|000089a0| 67 72 61 66 33 44 49 6e | 66 6f 2e 74 65 78 74 75 |graf3DIn|fo.textu|
|000089b0| 72 65 49 44 29 3b 0d 09 | 09 69 66 20 28 68 29 0d |reID);..|.if (h).|
|000089c0| 09 09 7b 0d 09 09 09 54 | 51 33 53 74 6f 72 61 67 |..{....T|Q3Storag|
|000089d0| 65 50 69 78 6d 61 70 09 | 62 4d 61 70 3b 0d 09 09 |ePixmap.|bMap;...|
|000089e0| 09 62 4d 61 70 2e 69 6d | 61 67 65 20 3d 20 6e 69 |.bMap.im|age = ni|
|000089f0| 6c 3b 0d 09 09 09 69 66 | 20 28 50 69 63 74 75 72 |l;....if| (Pictur|
|00008a00| 65 54 6f 50 69 78 6d 61 | 70 28 68 2c 20 26 62 4d |eToPixma|p(h, &bM|
|00008a10| 61 70 29 29 0d 09 09 09 | 7b 09 54 51 33 54 65 78 |ap))....|{.TQ3Tex|
|00008a20| 74 75 72 65 4f 62 6a 65 | 63 74 20 74 65 78 74 75 |tureObje|ct textu|
|00008a30| 72 65 4f 62 6a 65 63 74 | 20 3d 20 51 33 50 69 78 |reObject| = Q3Pix|
|00008a40| 6d 61 70 54 65 78 74 75 | 72 65 5f 4e 65 77 28 26 |mapTextu|re_New(&|
|00008a50| 62 4d 61 70 29 3b 0d 09 | 09 09 09 69 66 20 28 74 |bMap);..|...if (t|
|00008a60| 65 78 74 75 72 65 4f 62 | 6a 65 63 74 29 0d 09 09 |extureOb|ject)...|
|00008a70| 09 09 7b 09 6d 79 53 68 | 61 64 65 72 20 3d 20 51 |..{.mySh|ader = Q|
|00008a80| 33 54 65 78 74 75 72 65 | 53 68 61 64 65 72 5f 4e |3Texture|Shader_N|
|00008a90| 65 77 28 74 65 78 74 75 | 72 65 4f 62 6a 65 63 74 |ew(textu|reObject|
|00008aa0| 29 3b 0d 09 09 09 09 09 | 51 33 4f 62 6a 65 63 74 |);......|Q3Object|
|00008ab0| 5f 44 69 73 70 6f 73 65 | 28 74 65 78 74 75 72 65 |_Dispose|(texture|
|00008ac0| 4f 62 6a 65 63 74 29 3b | 0d 09 09 09 09 09 69 66 |Object);|......if|
|00008ad0| 20 28 6d 79 53 68 61 64 | 65 72 29 0d 09 09 09 09 | (myShad|er).....|
|00008ae0| 09 7b 09 51 33 47 72 6f | 75 70 5f 41 64 64 4f 62 |.{.Q3Gro|up_AddOb|
|00008af0| 6a 65 63 74 28 73 75 72 | 66 61 63 65 2c 20 6d 79 |ject(sur|face, my|
|00008b00| 53 68 61 64 65 72 29 3b | 09 2f 2f 20 61 64 64 20 |Shader);|.// add |
|00008b10| 73 68 61 64 65 72 0d 09 | 09 09 09 09 09 51 33 4f |shader..|.....Q3O|
|00008b20| 62 6a 65 63 74 5f 44 69 | 73 70 6f 73 65 28 6d 79 |bject_Di|spose(my|
|00008b30| 53 68 61 64 65 72 29 3b | 09 09 09 09 2f 2f 20 64 |Shader);|....// d|
|00008b40| 65 63 72 65 61 73 65 20 | 6f 77 6e 65 72 20 63 6f |ecrease |owner co|
|00008b50| 75 6e 74 0d 09 09 09 09 | 09 7d 0d 09 09 09 09 7d |unt.....|.}.....}|
|00008b60| 0d 09 09 09 09 51 33 4f | 62 6a 65 63 74 5f 44 69 |.....Q3O|bject_Di|
|00008b70| 73 70 6f 73 65 49 66 4e | 6f 74 4e 69 6c 28 62 4d |sposeIfN|otNil(bM|
|00008b80| 61 70 2e 69 6d 61 67 65 | 29 3b 0d 09 09 09 7d 0d |ap.image|);....}.|
|00008b90| 09 09 09 52 65 6c 65 61 | 73 65 52 65 73 6f 75 72 |...Relea|seResour|
|00008ba0| 63 65 28 28 48 61 6e 64 | 6c 65 29 68 29 3b 0d 09 |ce((Hand|le)h);..|
|00008bb0| 09 7d 0d 09 7d 0d 09 69 | 66 20 28 73 74 79 6c 65 |.}..}..i|f (style|
|00008bc0| 49 6e 66 6f 5b 67 72 61 | 66 33 44 49 6e 66 6f 2e |Info[gra|f3DInfo.|
|00008bd0| 73 75 72 66 61 63 65 53 | 74 79 6c 65 5d 2e 73 68 |surfaceS|tyle].sh|
|00008be0| 61 64 65 72 20 3d 3d 20 | 30 29 20 6d 79 53 68 61 |ader == |0) mySha|
|00008bf0| 64 65 72 20 3d 20 51 33 | 50 68 6f 6e 67 49 6c 6c |der = Q3|PhongIll|
|00008c00| 75 6d 69 6e 61 74 69 6f | 6e 5f 4e 65 77 28 29 3b |uminatio|n_New();|
|00008c10| 0d 09 65 6c 73 65 20 69 | 66 20 28 73 74 79 6c 65 |..else i|f (style|
|00008c20| 49 6e 66 6f 5b 67 72 61 | 66 33 44 49 6e 66 6f 2e |Info[gra|f3DInfo.|
|00008c30| 73 75 72 66 61 63 65 53 | 74 79 6c 65 5d 2e 73 68 |surfaceS|tyle].sh|
|00008c40| 61 64 65 72 20 3d 3d 20 | 31 29 20 6d 79 53 68 61 |ader == |1) mySha|
|00008c50| 64 65 72 20 3d 20 51 33 | 4c 61 6d 62 65 72 74 49 |der = Q3|LambertI|
|00008c60| 6c 6c 75 6d 69 6e 61 74 | 69 6f 6e 5f 4e 65 77 28 |lluminat|ion_New(|
|00008c70| 29 3b 0d 09 65 6c 73 65 | 20 6d 79 53 68 61 64 65 |);..else| myShade|
|00008c80| 72 20 3d 20 51 33 4e 55 | 4c 4c 49 6c 6c 75 6d 69 |r = Q3NU|LLIllumi|
|00008c90| 6e 61 74 69 6f 6e 5f 4e | 65 77 28 29 3b 0d 09 69 |nation_N|ew();..i|
|00008ca0| 66 20 28 6d 79 53 68 61 | 64 65 72 29 0d 09 7b 09 |f (mySha|der)..{.|
|00008cb0| 51 33 47 72 6f 75 70 5f | 41 64 64 4f 62 6a 65 63 |Q3Group_|AddObjec|
|00008cc0| 74 28 73 75 72 66 61 63 | 65 2c 20 6d 79 53 68 61 |t(surfac|e, mySha|
|00008cd0| 64 65 72 29 3b 09 09 09 | 09 2f 2f 20 61 64 64 20 |der);...|.// add |
|00008ce0| 73 68 61 64 65 72 0d 09 | 09 51 33 4f 62 6a 65 63 |shader..|.Q3Objec|
|00008cf0| 74 5f 44 69 73 70 6f 73 | 65 28 6d 79 53 68 61 64 |t_Dispos|e(myShad|
|00008d00| 65 72 29 3b 09 09 09 09 | 09 09 09 2f 2f 20 64 65 |er);....|...// de|
|00008d10| 63 72 65 61 73 65 20 6f | 77 6e 65 72 20 63 6f 75 |crease o|wner cou|
|00008d20| 6e 74 0d 09 7d 0d 0d 0d | 0d 09 51 33 47 72 6f 75 |nt..}...|..Q3Grou|
|00008d30| 70 5f 45 6d 70 74 79 4f | 62 6a 65 63 74 73 28 6d |p_EmptyO|bjects(m|
|00008d40| 6f 64 65 6c 29 3b 09 09 | 09 09 09 09 2f 2f 20 72 |odel);..|....// r|
|00008d50| 65 6d 6f 76 65 20 65 76 | 65 72 79 74 68 69 6e 67 |emove ev|erything|
|00008d60| 20 74 68 61 74 20 69 74 | 20 63 6f 6e 74 61 69 6e | that it| contain|
|00008d70| 65 64 0d 09 69 66 20 28 | 67 72 61 66 33 44 49 6e |ed..if (|graf3DIn|
|00008d80| 66 6f 2e 73 68 6f 77 53 | 75 72 66 61 63 65 29 20 |fo.showS|urface) |
|00008d90| 51 33 47 72 6f 75 70 5f | 41 64 64 4f 62 6a 65 63 |Q3Group_|AddObjec|
|00008da0| 74 28 6d 6f 64 65 6c 2c | 20 73 75 72 66 61 63 65 |t(model,| surface|
|00008db0| 29 3b 0d 09 69 66 20 28 | 67 72 61 66 33 44 49 6e |);..if (|graf3DIn|
|00008dc0| 66 6f 2e 73 68 6f 77 41 | 78 65 73 29 0d 09 7b 09 |fo.showA|xes)..{.|
|00008dd0| 69 66 20 28 67 72 61 66 | 33 44 49 6e 66 6f 2e 61 |if (graf|3DInfo.a|
|00008de0| 78 69 73 54 68 69 63 6b | 6e 65 73 73 20 3c 20 30 |xisThick|ness < 0|
|00008df0| 2e 30 30 35 20 7c 7c 20 | 73 74 79 6c 65 49 6e 66 |.005 || |styleInf|
|00008e00| 6f 5b 67 72 61 66 33 44 | 49 6e 66 6f 2e 73 75 72 |o[graf3D|Info.sur|
|00008e10| 66 61 63 65 53 74 79 6c | 65 5d 2e 72 65 6e 64 65 |faceStyl|e].rende|
|00008e20| 72 65 72 20 3d 3d 20 6b | 51 33 52 65 6e 64 65 72 |rer == k|Q3Render|
|00008e30| 65 72 54 79 70 65 57 69 | 72 65 46 72 61 6d 65 29 |erTypeWi|reFrame)|
|00008e40| 0d 09 09 09 51 33 47 72 | 6f 75 70 5f 41 64 64 4f |....Q3Gr|oup_AddO|
|00008e50| 62 6a 65 63 74 28 6d 6f | 64 65 6c 2c 20 61 78 65 |bject(mo|del, axe|
|00008e60| 73 54 68 69 6e 29 3b 09 | 09 09 2f 2f 20 68 61 69 |sThin);.|..// hai|
|00008e70| 72 6c 69 6e 65 20 61 78 | 65 73 0d 09 09 65 6c 73 |rline ax|es...els|
|00008e80| 65 20 51 33 47 72 6f 75 | 70 5f 41 64 64 4f 62 6a |e Q3Grou|p_AddObj|
|00008e90| 65 63 74 28 6d 6f 64 65 | 6c 2c 20 61 78 65 73 53 |ect(mode|l, axesS|
|00008ea0| 6f 6c 69 64 29 3b 09 09 | 2f 2f 20 66 61 74 20 61 |olid);..|// fat a|
|00008eb0| 78 65 73 0d 09 7d 0d 09 | 69 66 20 28 67 72 61 66 |xes..}..|if (graf|
|00008ec0| 33 44 49 6e 66 6f 2e 73 | 68 6f 77 4e 61 6d 65 73 |3DInfo.s|howNames|
|00008ed0| 41 6e 64 4c 61 62 65 6c | 73 29 20 51 33 47 72 6f |AndLabel|s) Q3Gro|
|00008ee0| 75 70 5f 41 64 64 4f 62 | 6a 65 63 74 28 6d 6f 64 |up_AddOb|ject(mod|
|00008ef0| 65 6c 2c 20 6c 61 62 65 | 6c 73 29 3b 0d 09 51 33 |el, labe|ls);..Q3|
|00008f00| 47 72 6f 75 70 5f 41 64 | 64 4f 62 6a 65 63 74 28 |Group_Ad|dObject(|
|00008f10| 6d 6f 64 65 6c 2c 20 62 | 61 63 6b 66 61 63 69 6e |model, b|ackfacin|
|00008f20| 67 53 74 79 6c 65 29 3b | 0d 0d 09 53 65 74 44 69 |gStyle);|...SetDi|
|00008f30| 66 66 75 73 65 43 6f 6c | 6f 72 28 73 75 72 66 61 |ffuseCol|or(surfa|
|00008f40| 63 65 41 74 74 72 69 62 | 75 74 65 73 2c 20 26 67 |ceAttrib|utes, &g|
|00008f50| 72 61 66 33 44 49 6e 66 | 6f 2e 73 75 72 66 61 63 |raf3DInf|o.surfac|
|00008f60| 65 43 6f 6c 6f 72 29 3b | 0d 09 53 65 74 44 69 66 |eColor);|..SetDif|
|00008f70| 66 75 73 65 43 6f 6c 6f | 72 28 61 78 65 73 41 74 |fuseColo|r(axesAt|
|00008f80| 74 72 69 62 75 74 65 73 | 2c 20 26 67 72 61 66 33 |tributes|, &graf3|
|00008f90| 44 49 6e 66 6f 2e 61 78 | 65 73 43 6f 6c 6f 72 29 |DInfo.ax|esColor)|
|00008fa0| 3b 0d 09 53 65 74 44 69 | 66 66 75 73 65 43 6f 6c |;..SetDi|ffuseCol|
|00008fb0| 6f 72 28 6c 61 62 65 6c | 73 41 74 74 72 69 62 75 |or(label|sAttribu|
|00008fc0| 74 65 73 2c 20 26 67 72 | 61 66 33 44 49 6e 66 6f |tes, &gr|af3DInfo|
|00008fd0| 2e 6c 61 62 65 6c 73 43 | 6f 6c 6f 72 29 3b 0d 0d |.labelsC|olor);..|
|00008fe0| 09 49 6e 76 61 6c 69 64 | 61 74 65 56 69 65 77 65 |.Invalid|ateViewe|
|00008ff0| 72 28 29 3b 0d 7d 0d 0d | 0d 23 70 72 61 67 6d 61 |r();.}..|.#pragma|
|00009000| 20 6d 61 72 6b 20 2d 0d | 0d 65 6e 75 6d 20 7b 0d | mark -.|.enum {.|
|00009010| 09 09 72 65 73 6f 6c 75 | 74 69 6f 6e 49 74 65 6d |..resolu|tionItem|
|00009020| 20 3d 20 33 2c 0d 09 09 | 64 65 70 74 68 49 74 65 | = 3,...|depthIte|
|00009030| 6d 20 3d 20 34 2c 0d 09 | 09 74 72 61 6e 73 70 61 |m = 4,..|.transpa|
|00009040| 72 65 6e 74 49 74 65 6d | 20 3d 20 35 2c 0d 09 09 |rentItem| = 5,...|
|00009050| 6d 61 6b 65 44 65 66 61 | 75 6c 74 49 74 65 6d 20 |makeDefa|ultItem |
|00009060| 3d 20 36 0d 09 7d 3b 0d | 0d 0d 0d 73 74 61 74 69 |= 6..};.|...stati|
|00009070| 63 20 76 6f 69 64 20 4c | 6f 61 64 44 65 66 61 75 |c void L|oadDefau|
|00009080| 6c 74 50 69 63 4f 70 74 | 69 6f 6e 73 28 76 6f 69 |ltPicOpt|ions(voi|
|00009090| 64 29 0d 7b 0d 09 48 61 | 6e 64 6c 65 20 68 20 3d |d).{..Ha|ndle h =|
|000090a0| 20 4c 6f 61 64 50 72 65 | 66 65 72 65 6e 63 65 28 | LoadPre|ference(|
|000090b0| 70 69 63 4f 70 74 69 6f | 6e 73 52 65 73 54 79 70 |picOptio|nsResTyp|
|000090c0| 65 2c 20 31 32 38 2c 20 | 22 5c 70 22 29 3b 09 2f |e, 128, |"\p");./|
|000090d0| 2f 20 74 72 79 20 6c 6f | 61 64 69 6e 67 20 64 65 |/ try lo|ading de|
|000090e0| 66 61 75 6c 74 20 73 65 | 74 74 69 6e 67 73 20 28 |fault se|ttings (|
|000090f0| 69 66 20 61 6e 79 29 0d | 09 69 66 20 28 68 20 3d |if any).|.if (h =|
|00009100| 3d 20 6e 69 6c 29 20 72 | 65 74 75 72 6e 3b 0d 09 |= nil) r|eturn;..|
|00009110| 69 66 20 28 2a 2a 28 6c | 6f 6e 67 2a 2a 29 68 20 |if (**(l|ong**)h |
|00009120| 3d 3d 20 70 69 63 4f 70 | 74 69 6f 6e 73 56 65 72 |== picOp|tionsVer|
|00009130| 73 69 6f 6e 4e 72 29 09 | 09 09 09 09 09 2f 2f 20 |sionNr).|.....// |
|00009140| 69 66 20 76 65 72 73 69 | 6f 6e 20 69 73 20 6f 6b |if versi|on is ok|
|00009150| 0d 09 09 70 69 63 4f 70 | 74 69 6f 6e 73 20 3d 20 |...picOp|tions = |
|00009160| 2a 2a 28 50 69 63 4f 70 | 74 69 6f 6e 73 2a 2a 29 |**(PicOp|tions**)|
|00009170| 68 3b 0d 09 44 69 73 70 | 6f 73 65 48 61 6e 64 6c |h;..Disp|oseHandl|
|00009180| 65 28 68 29 3b 0d 7d 0d | 09 09 0d 09 0d 0d 73 74 |e(h);.}.|......st|
|00009190| 61 74 69 63 20 42 6f 6f | 6c 65 61 6e 20 50 69 63 |atic Boo|lean Pic|
|000091a0| 74 4f 70 74 69 6f 6e 73 | 44 69 61 6c 6f 67 28 76 |tOptions|Dialog(v|
|000091b0| 6f 69 64 29 0d 7b 0d 09 | 73 74 61 74 69 63 20 52 |oid).{..|static R|
|000091c0| 65 63 74 09 70 69 63 74 | 4f 70 74 69 6f 6e 73 44 |ect.pict|OptionsD|
|000091d0| 69 61 6c 6f 67 52 65 63 | 74 20 3d 20 7b 30 2c 30 |ialogRec|t = {0,0|
|000091e0| 2c 30 2c 30 7d 3b 09 09 | 09 2f 2f 20 64 65 66 61 |,0,0};..|.// defa|
|000091f0| 75 6c 74 20 64 69 61 6c | 6f 67 20 70 6f 73 69 74 |ult dial|og posit|
|00009200| 69 6f 6e 0d 09 44 69 61 | 6c 6f 67 44 61 74 61 2a |ion..Dia|logData*|
|00009210| 09 64 6c 67 3b 0d 09 73 | 68 6f 72 74 09 09 69 74 |.dlg;..s|hort..it|
|00009220| 65 6d 48 69 74 3b 0d 09 | 42 6f 6f 6c 65 61 6e 09 |emHit;..|Boolean.|
|00009230| 09 72 65 74 76 61 6c 20 | 3d 20 66 61 6c 73 65 3b |.retval |= false;|
|00009240| 0d 09 73 68 6f 72 74 09 | 09 69 3b 0d 09 50 69 63 |..short.|.i;..Pic|
|00009250| 4f 70 74 69 6f 6e 73 09 | 6e 65 77 50 69 63 4f 70 |Options.|newPicOp|
|00009260| 74 69 6f 6e 73 3b 0d 0d | 0d 09 73 74 61 74 69 63 |tions;..|..static|
|00009270| 20 63 6f 6e 73 74 20 73 | 68 6f 72 74 20 72 65 73 | const s|hort res|
|00009280| 6f 6c 75 74 69 6f 6e 73 | 5b 5d 20 3d 20 7b 37 32 |olutions|[] = {72|
|00009290| 2c 20 31 34 34 2c 20 32 | 38 38 2c 20 33 30 30 2c |, 144, 2|88, 300,|
|000092a0| 20 33 36 30 2c 20 30 7d | 3b 0d 09 73 74 61 74 69 | 360, 0}|;..stati|
|000092b0| 63 20 63 6f 6e 73 74 20 | 73 68 6f 72 74 20 64 65 |c const |short de|
|000092c0| 70 74 68 73 5b 5d 20 3d | 20 7b 31 2c 20 38 2c 20 |pths[] =| {1, 8, |
|000092d0| 32 34 2c 20 33 32 2c 20 | 30 7d 3b 0d 0d 09 64 6c |24, 32, |0};...dl|
|000092e0| 67 20 3d 20 4d 79 47 65 | 74 4e 65 77 44 69 61 6c |g = MyGe|tNewDial|
|000092f0| 6f 67 28 33 30 30 30 36 | 2c 20 31 2c 20 32 29 3b |og(30006|, 1, 2);|
|00009300| 0d 09 69 66 20 28 64 6c | 67 20 3d 3d 20 6e 69 6c |..if (dl|g == nil|
|00009310| 29 20 67 6f 74 6f 20 64 | 6f 6e 65 3b 0d 0d 09 66 |) goto d|one;...f|
|00009320| 6f 72 20 28 69 3d 30 3b | 20 72 65 73 6f 6c 75 74 |or (i=0;| resolut|
|00009330| 69 6f 6e 73 5b 69 5d 3b | 20 69 2b 2b 29 09 09 09 |ions[i];| i++)...|
|00009340| 2f 2f 20 66 69 6e 64 20 | 61 6e 64 20 73 65 74 20 |// find |and set |
|00009350| 76 61 6c 75 65 20 6f 66 | 20 72 65 73 6f 6c 75 74 |value of| resolut|
|00009360| 69 6f 6e 20 70 6f 70 75 | 70 0d 09 09 69 66 20 28 |ion popu|p...if (|
|00009370| 72 65 73 6f 6c 75 74 69 | 6f 6e 73 5b 69 5d 3d 3d |resoluti|ons[i]==|
|00009380| 70 69 63 4f 70 74 69 6f | 6e 73 2e 72 65 73 6f 6c |picOptio|ns.resol|
|00009390| 75 74 69 6f 6e 29 20 62 | 72 65 61 6b 3b 0d 09 69 |ution) b|reak;..i|
|000093a0| 66 20 28 72 65 73 6f 6c | 75 74 69 6f 6e 73 5b 69 |f (resol|utions[i|
|000093b0| 5d 3d 3d 30 29 0d 09 7b | 09 70 69 63 4f 70 74 69 |]==0)..{|.picOpti|
|000093c0| 6f 6e 73 2e 72 65 73 6f | 6c 75 74 69 6f 6e 20 3d |ons.reso|lution =|
|000093d0| 20 37 32 3b 0d 09 09 69 | 20 3d 20 30 3b 0d 09 7d | 72;...i| = 0;..}|
|000093e0| 0d 09 4d 79 53 65 74 49 | 74 65 6d 56 61 6c 75 65 |..MySetI|temValue|
|000093f0| 28 64 6c 67 2c 20 72 65 | 73 6f 6c 75 74 69 6f 6e |(dlg, re|solution|
|00009400| 49 74 65 6d 2c 20 69 2b | 31 29 3b 0d 09 66 6f 72 |Item, i+|1);..for|
|00009410| 20 28 69 3d 30 3b 20 64 | 65 70 74 68 73 5b 69 5d | (i=0; d|epths[i]|
|00009420| 3b 20 69 2b 2b 29 09 09 | 09 2f 2f 20 66 69 6e 64 |; i++)..|.// find|
|00009430| 20 61 6e 64 20 73 65 74 | 20 76 61 6c 75 65 20 6f | and set| value o|
|00009440| 66 20 64 65 70 74 68 20 | 70 6f 70 75 70 0d 09 09 |f depth |popup...|
|00009450| 69 66 20 28 64 65 70 74 | 68 73 5b 69 5d 3d 3d 70 |if (dept|hs[i]==p|
|00009460| 69 63 4f 70 74 69 6f 6e | 73 2e 70 69 63 44 65 70 |icOption|s.picDep|
|00009470| 74 68 29 20 62 72 65 61 | 6b 3b 0d 09 69 66 20 28 |th) brea|k;..if (|
|00009480| 64 65 70 74 68 73 5b 69 | 5d 3d 3d 30 29 0d 09 7b |depths[i|]==0)..{|
|00009490| 09 70 69 63 4f 70 74 69 | 6f 6e 73 2e 70 69 63 44 |.picOpti|ons.picD|
|000094a0| 65 70 74 68 20 3d 20 33 | 32 3b 0d 09 09 69 20 3d |epth = 3|2;...i =|
|000094b0| 20 33 3b 0d 09 7d 0d 09 | 4d 79 53 65 74 49 74 65 | 3;..}..|MySetIte|
|000094c0| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 64 65 70 74 |mValue(d|lg, dept|
|000094d0| 68 49 74 65 6d 2c 20 69 | 2b 31 29 3b 0d 09 4d 79 |hItem, i|+1);..My|
|000094e0| 53 65 74 49 74 65 6d 56 | 61 6c 75 65 28 64 6c 67 |SetItemV|alue(dlg|
|000094f0| 2c 20 74 72 61 6e 73 70 | 61 72 65 6e 74 49 74 65 |, transp|arentIte|
|00009500| 6d 2c 20 70 69 63 4f 70 | 74 69 6f 6e 73 2e 70 69 |m, picOp|tions.pi|
|00009510| 63 4d 6f 64 65 20 3d 3d | 20 73 72 63 4f 72 29 3b |cMode ==| srcOr);|
|00009520| 0d 0d 09 53 65 74 47 6c | 6f 62 61 6c 57 69 6e 64 |...SetGl|obalWind|
|00009530| 6f 77 52 65 63 74 28 64 | 6c 67 2d 3e 64 69 61 6c |owRect(d|lg->dial|
|00009540| 6f 67 2c 20 26 70 69 63 | 74 4f 70 74 69 6f 6e 73 |og, &pic|tOptions|
|00009550| 44 69 61 6c 6f 67 52 65 | 63 74 29 3b 0d 09 4d 79 |DialogRe|ct);..My|
|00009560| 53 68 6f 77 44 69 61 6c | 6f 67 28 64 6c 67 29 3b |ShowDial|og(dlg);|
|00009570| 0d 09 64 6f 0d 09 7b 0d | 09 09 4d 79 4d 6f 64 61 |..do..{.|..MyModa|
|00009580| 6c 44 69 61 6c 6f 67 28 | 64 6c 67 2c 20 26 69 74 |lDialog(|dlg, &it|
|00009590| 65 6d 48 69 74 29 3b 0d | 09 09 69 66 20 28 69 74 |emHit);.|..if (it|
|000095a0| 65 6d 48 69 74 20 3d 3d | 20 6f 6b 20 7c 7c 20 69 |emHit ==| ok || i|
|000095b0| 74 65 6d 48 69 74 20 3d | 3d 20 6d 61 6b 65 44 65 |temHit =|= makeDe|
|000095c0| 66 61 75 6c 74 49 74 65 | 6d 29 0d 09 09 7b 0d 09 |faultIte|m)...{..|
|000095d0| 09 09 6e 65 77 50 69 63 | 4f 70 74 69 6f 6e 73 2e |..newPic|Options.|
|000095e0| 76 65 72 73 69 6f 6e 20 | 3d 20 70 69 63 4f 70 74 |version |= picOpt|
|000095f0| 69 6f 6e 73 56 65 72 73 | 69 6f 6e 4e 72 3b 0d 09 |ionsVers|ionNr;..|
|00009600| 09 09 6e 65 77 50 69 63 | 4f 70 74 69 6f 6e 73 2e |..newPic|Options.|
|00009610| 72 65 73 6f 6c 75 74 69 | 6f 6e 20 3d 20 72 65 73 |resoluti|on = res|
|00009620| 6f 6c 75 74 69 6f 6e 73 | 5b 4d 79 47 65 74 49 74 |olutions|[MyGetIt|
|00009630| 65 6d 56 61 6c 75 65 28 | 64 6c 67 2c 20 72 65 73 |emValue(|dlg, res|
|00009640| 6f 6c 75 74 69 6f 6e 49 | 74 65 6d 29 2d 31 5d 3b |olutionI|tem)-1];|
|00009650| 0d 09 09 09 6e 65 77 50 | 69 63 4f 70 74 69 6f 6e |....newP|icOption|
|00009660| 73 2e 70 69 63 44 65 70 | 74 68 20 3d 20 64 65 70 |s.picDep|th = dep|
|00009670| 74 68 73 5b 4d 79 47 65 | 74 49 74 65 6d 56 61 6c |ths[MyGe|tItemVal|
|00009680| 75 65 28 64 6c 67 2c 20 | 64 65 70 74 68 49 74 65 |ue(dlg, |depthIte|
|00009690| 6d 29 2d 31 5d 3b 0d 09 | 09 09 6e 65 77 50 69 63 |m)-1];..|..newPic|
|000096a0| 4f 70 74 69 6f 6e 73 2e | 70 69 63 4d 6f 64 65 20 |Options.|picMode |
|000096b0| 3d 20 4d 79 47 65 74 49 | 74 65 6d 56 61 6c 75 65 |= MyGetI|temValue|
|000096c0| 28 64 6c 67 2c 74 72 61 | 6e 73 70 61 72 65 6e 74 |(dlg,tra|nsparent|
|000096d0| 49 74 65 6d 29 3f 20 73 | 72 63 4f 72 3a 20 73 72 |Item)? s|rcOr: sr|
|000096e0| 63 43 6f 70 79 3b 0d 09 | 09 09 69 66 20 28 69 74 |cCopy;..|..if (it|
|000096f0| 65 6d 48 69 74 20 3d 3d | 20 6f 6b 29 0d 09 09 09 |emHit ==| ok)....|
|00009700| 7b 09 72 65 74 76 61 6c | 20 3d 20 74 72 75 65 3b |{.retval| = true;|
|00009710| 0d 09 09 09 09 70 69 63 | 4f 70 74 69 6f 6e 73 20 |.....pic|Options |
|00009720| 3d 20 6e 65 77 50 69 63 | 4f 70 74 69 6f 6e 73 3b |= newPic|Options;|
|00009730| 0d 09 09 09 7d 0d 09 09 | 09 65 6c 73 65 0d 09 09 |....}...|.else...|
|00009740| 09 09 53 61 76 65 50 72 | 65 66 65 72 65 6e 63 65 |..SavePr|eference|
|00009750| 28 26 6e 65 77 50 69 63 | 4f 70 74 69 6f 6e 73 2c |(&newPic|Options,|
|00009760| 20 73 69 7a 65 6f 66 28 | 6e 65 77 50 69 63 4f 70 | sizeof(|newPicOp|
|00009770| 74 69 6f 6e 73 29 2c 20 | 70 69 63 4f 70 74 69 6f |tions), |picOptio|
|00009780| 6e 73 52 65 73 54 79 70 | 65 2c 20 31 32 38 2c 20 |nsResTyp|e, 128, |
|00009790| 22 5c 70 22 29 3b 0d 09 | 09 7d 0d 09 7d 77 68 69 |"\p");..|.}..}whi|
|000097a0| 6c 65 20 28 69 74 65 6d | 48 69 74 20 21 3d 20 6f |le (item|Hit != o|
|000097b0| 6b 20 26 26 20 69 74 65 | 6d 48 69 74 20 21 3d 20 |k && ite|mHit != |
|000097c0| 63 61 6e 63 65 6c 29 3b | 0d 0d 09 47 65 74 47 6c |cancel);|...GetGl|
|000097d0| 6f 62 61 6c 57 69 6e 64 | 6f 77 52 65 63 74 28 64 |obalWind|owRect(d|
|000097e0| 6c 67 2d 3e 64 69 61 6c | 6f 67 2c 20 26 70 69 63 |lg->dial|og, &pic|
|000097f0| 74 4f 70 74 69 6f 6e 73 | 44 69 61 6c 6f 67 52 65 |tOptions|DialogRe|
|00009800| 63 74 29 3b 0d 09 4d 79 | 44 69 73 70 6f 73 65 44 |ct);..My|DisposeD|
|00009810| 69 61 6c 6f 67 28 64 6c | 67 29 3b 0d 0d 64 6f 6e |ialog(dl|g);..don|
|00009820| 65 3a 0d 09 72 65 74 75 | 72 6e 20 69 74 65 6d 48 |e:..retu|rn itemH|
|00009830| 69 74 20 3d 3d 20 6f 6b | 3b 0d 7d 2f 2f 50 69 63 |it == ok|;.}//Pic|
|00009840| 74 4f 70 74 69 6f 6e 73 | 44 69 61 6c 6f 67 0d 0d |tOptions|Dialog..|
|00009850| 65 6e 75 6d 20 7b 0d 09 | 09 70 61 72 61 6c 6c 65 |enum {..|.paralle|
|00009860| 6c 49 74 20 3d 20 34 2c | 0d 09 09 70 6f 69 6e 74 |lIt = 4,|...point|
|00009870| 49 74 2c 0d 09 09 72 69 | 67 68 74 49 74 20 3d 20 |It,...ri|ghtIt = |
|00009880| 37 2c 0d 09 09 66 72 6f | 6e 74 49 74 2c 0d 09 09 |7,...fro|ntIt,...|
|00009890| 6c 65 66 74 49 74 2c 0d | 09 09 72 65 61 72 49 74 |leftIt,.|..rearIt|
|000098a0| 0d 09 7d 3b 0d 0d 73 74 | 61 74 69 63 20 76 6f 69 |..};..st|atic voi|
|000098b0| 64 20 43 61 6d 65 72 61 | 41 6e 64 49 6c 6c 75 6d |d Camera|AndIllum|
|000098c0| 69 6e 61 74 69 6f 6e 44 | 69 61 6c 6f 67 28 76 6f |inationD|ialog(vo|
|000098d0| 69 64 29 0d 7b 0d 09 73 | 74 61 74 69 63 20 52 65 |id).{..s|tatic Re|
|000098e0| 63 74 09 64 69 61 6c 6f | 67 52 65 63 74 20 3d 20 |ct.dialo|gRect = |
|000098f0| 7b 30 2c 30 2c 30 2c 30 | 7d 3b 09 09 09 2f 2f 20 |{0,0,0,0|};...// |
|00009900| 64 65 66 61 75 6c 74 20 | 64 69 61 6c 6f 67 20 70 |default |dialog p|
|00009910| 6f 73 69 74 69 6f 6e 0d | 09 44 69 61 6c 6f 67 44 |osition.|.DialogD|
|00009920| 61 74 61 2a 09 64 6c 67 | 3b 0d 09 73 68 6f 72 74 |ata*.dlg|;..short|
|00009930| 09 09 69 74 65 6d 48 69 | 74 3b 0d 09 42 6f 6f 6c |..itemHi|t;..Bool|
|00009940| 65 61 6e 09 09 72 65 74 | 76 61 6c 20 3d 20 66 61 |ean..ret|val = fa|
|00009950| 6c 73 65 3b 0d 09 73 68 | 6f 72 74 09 09 69 3b 0d |lse;..sh|ort..i;.|
|00009960| 09 42 6f 6f 6c 65 61 6e | 09 09 6f 72 69 67 4c 69 |.Boolean|..origLi|
|00009970| 67 68 74 73 5b 34 5d 3b | 0d 09 42 6f 6f 6c 65 61 |ghts[4];|..Boolea|
|00009980| 6e 09 09 77 61 73 50 61 | 72 61 6c 6c 65 6c 3b 0d |n..wasPa|rallel;.|
|00009990| 0d 09 64 6c 67 20 3d 20 | 4d 79 47 65 74 4e 65 77 |..dlg = |MyGetNew|
|000099a0| 44 69 61 6c 6f 67 28 33 | 30 30 30 37 2c 20 31 2c |Dialog(3|0007, 1,|
|000099b0| 20 32 29 3b 0d 09 69 66 | 20 28 64 6c 67 20 3d 3d | 2);..if| (dlg ==|
|000099c0| 20 6e 69 6c 29 20 72 65 | 74 75 72 6e 3b 0d 0d 09 | nil) re|turn;...|
|000099d0| 66 6f 72 20 28 69 3d 30 | 3b 20 69 3c 34 3b 20 69 |for (i=0|; i<4; i|
|000099e0| 2b 2b 29 09 09 09 09 09 | 09 09 09 09 2f 2f 20 73 |++).....|....// s|
|000099f0| 61 76 65 20 66 6f 72 20 | 6c 61 74 65 72 20 43 61 |ave for |later Ca|
|00009a00| 6e 63 65 6c 0d 09 7b 09 | 6f 72 69 67 4c 69 67 68 |ncel..{.|origLigh|
|00009a10| 74 73 5b 69 5d 20 3d 20 | 50 33 56 69 65 77 65 72 |ts[i] = |P3Viewer|
|00009a20| 47 65 74 53 70 6f 74 4c | 69 67 68 74 28 76 69 65 |GetSpotL|ight(vie|
|00009a30| 77 65 72 2c 20 69 29 3b | 0d 09 09 4d 79 53 65 74 |wer, i);|...MySet|
|00009a40| 49 74 65 6d 56 61 6c 75 | 65 28 64 6c 67 2c 20 72 |ItemValu|e(dlg, r|
|00009a50| 69 67 68 74 49 74 2b 69 | 2c 20 6f 72 69 67 4c 69 |ightIt+i|, origLi|
|00009a60| 67 68 74 73 5b 69 5d 29 | 3b 0d 09 7d 0d 09 77 61 |ghts[i])|;..}..wa|
|00009a70| 73 50 61 72 61 6c 6c 65 | 6c 20 3d 20 50 33 56 69 |sParalle|l = P3Vi|
|00009a80| 65 77 65 72 47 65 74 50 | 72 6f 6a 65 63 74 69 6f |ewerGetP|rojectio|
|00009a90| 6e 28 76 69 65 77 65 72 | 29 3b 0d 09 4d 79 53 65 |n(viewer|);..MySe|
|00009aa0| 74 49 74 65 6d 56 61 6c | 75 65 28 64 6c 67 2c 20 |tItemVal|ue(dlg, |
|00009ab0| 70 61 72 61 6c 6c 65 6c | 49 74 2c 20 77 61 73 50 |parallel|It, wasP|
|00009ac0| 61 72 61 6c 6c 65 6c 29 | 3b 0d 09 4d 79 53 65 74 |arallel)|;..MySet|
|00009ad0| 49 74 65 6d 56 61 6c 75 | 65 28 64 6c 67 2c 20 70 |ItemValu|e(dlg, p|
|00009ae0| 6f 69 6e 74 49 74 2c 20 | 21 77 61 73 50 61 72 61 |ointIt, |!wasPara|
|00009af0| 6c 6c 65 6c 29 3b 0d 0d | 09 53 65 74 47 6c 6f 62 |llel);..|.SetGlob|
|00009b00| 61 6c 57 69 6e 64 6f 77 | 52 65 63 74 28 64 6c 67 |alWindow|Rect(dlg|
|00009b10| 2d 3e 64 69 61 6c 6f 67 | 2c 20 26 64 69 61 6c 6f |->dialog|, &dialo|
|00009b20| 67 52 65 63 74 29 3b 0d | 09 4d 79 53 68 6f 77 44 |gRect);.|.MyShowD|
|00009b30| 69 61 6c 6f 67 28 64 6c | 67 29 3b 0d 09 64 6f 0d |ialog(dl|g);..do.|
|00009b40| 09 7b 0d 09 09 4d 79 4d | 6f 64 61 6c 44 69 61 6c |.{...MyM|odalDial|
|00009b50| 6f 67 28 64 6c 67 2c 20 | 26 69 74 65 6d 48 69 74 |og(dlg, |&itemHit|
|00009b60| 29 3b 0d 09 09 73 77 69 | 74 63 68 20 28 69 74 65 |);...swi|tch (ite|
|00009b70| 6d 48 69 74 29 0d 09 09 | 7b 0d 09 09 09 63 61 73 |mHit)...|{....cas|
|00009b80| 65 20 70 61 72 61 6c 6c | 65 6c 49 74 3a 09 09 09 |e parall|elIt:...|
|00009b90| 09 09 09 09 2f 2f 20 70 | 61 72 61 6c 6c 65 6c 20 |....// p|arallel |
|00009ba0| 70 72 6f 6a 65 63 74 69 | 6f 6e 0d 09 09 09 09 4d |projecti|on.....M|
|00009bb0| 79 53 65 74 49 74 65 6d | 56 61 6c 75 65 28 64 6c |ySetItem|Value(dl|
|00009bc0| 67 2c 20 70 6f 69 6e 74 | 49 74 2c 20 66 61 6c 73 |g, point|It, fals|
|00009bd0| 65 29 3b 0d 09 09 09 09 | 50 33 56 69 65 77 65 72 |e);.....|P3Viewer|
|00009be0| 53 65 74 50 72 6f 6a 65 | 63 74 69 6f 6e 28 76 69 |SetProje|ction(vi|
|00009bf0| 65 77 65 72 2c 20 74 72 | 75 65 29 3b 0d 09 09 09 |ewer, tr|ue);....|
|00009c00| 09 62 72 65 61 6b 3b 0d | 09 09 09 63 61 73 65 20 |.break;.|...case |
|00009c10| 70 6f 69 6e 74 49 74 3a | 09 09 09 09 09 09 09 09 |pointIt:|........|
|00009c20| 2f 2f 20 70 6f 69 6e 74 | 20 70 72 6f 6a 65 63 74 |// point| project|
|00009c30| 69 6f 6e 0d 09 09 09 09 | 4d 79 53 65 74 49 74 65 |ion.....|MySetIte|
|00009c40| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 70 61 72 61 |mValue(d|lg, para|
|00009c50| 6c 6c 65 6c 49 74 2c 20 | 66 61 6c 73 65 29 3b 0d |llelIt, |false);.|
|00009c60| 09 09 09 09 50 33 56 69 | 65 77 65 72 53 65 74 50 |....P3Vi|ewerSetP|
|00009c70| 72 6f 6a 65 63 74 69 6f | 6e 28 76 69 65 77 65 72 |rojectio|n(viewer|
|00009c80| 2c 20 66 61 6c 73 65 29 | 3b 0d 09 09 09 09 62 72 |, false)|;.....br|
|00009c90| 65 61 6b 3b 0d 09 09 09 | 63 61 73 65 20 72 69 67 |eak;....|case rig|
|00009ca0| 68 74 49 74 3a 09 09 09 | 09 09 09 09 09 2f 2f 20 |htIt:...|.....// |
|00009cb0| 69 66 20 6c 69 67 68 74 | 73 0d 09 09 09 63 61 73 |if light|s....cas|
|00009cc0| 65 20 66 72 6f 6e 74 49 | 74 3a 0d 09 09 09 63 61 |e frontI|t:....ca|
|00009cd0| 73 65 20 6c 65 66 74 49 | 74 3a 0d 09 09 09 63 61 |se leftI|t:....ca|
|00009ce0| 73 65 20 72 65 61 72 49 | 74 3a 0d 09 09 09 09 50 |se rearI|t:.....P|
|00009cf0| 33 56 69 65 77 65 72 53 | 65 74 53 70 6f 74 4c 69 |3ViewerS|etSpotLi|
|00009d00| 67 68 74 28 76 69 65 77 | 65 72 2c 20 69 74 65 6d |ght(view|er, item|
|00009d10| 48 69 74 2d 72 69 67 68 | 74 49 74 2c 20 4d 79 47 |Hit-righ|tIt, MyG|
|00009d20| 65 74 49 74 65 6d 56 61 | 6c 75 65 28 64 6c 67 2c |etItemVa|lue(dlg,|
|00009d30| 20 69 74 65 6d 48 69 74 | 29 29 3b 0d 09 09 09 09 | itemHit|));.....|
|00009d40| 62 72 65 61 6b 3b 0d 09 | 09 09 63 61 73 65 20 63 |break;..|..case c|
|00009d50| 61 6e 63 65 6c 3a 0d 09 | 09 09 09 66 6f 72 20 28 |ancel:..|...for (|
|00009d60| 69 3d 30 3b 20 69 3c 34 | 3b 20 69 2b 2b 29 09 09 |i=0; i<4|; i++)..|
|00009d70| 09 09 09 09 2f 2f 20 72 | 65 73 74 6f 72 65 20 6c |....// r|estore l|
|00009d80| 69 67 68 74 73 0d 09 09 | 09 09 09 50 33 56 69 65 |ights...|...P3Vie|
|00009d90| 77 65 72 53 65 74 53 70 | 6f 74 4c 69 67 68 74 28 |werSetSp|otLight(|
|00009da0| 76 69 65 77 65 72 2c 20 | 69 2c 20 6f 72 69 67 4c |viewer, |i, origL|
|00009db0| 69 67 68 74 73 5b 69 5d | 29 3b 0d 09 09 09 09 50 |ights[i]|);.....P|
|00009dc0| 33 56 69 65 77 65 72 53 | 65 74 50 72 6f 6a 65 63 |3ViewerS|etProjec|
|00009dd0| 74 69 6f 6e 28 76 69 65 | 77 65 72 2c 20 77 61 73 |tion(vie|wer, was|
|00009de0| 50 61 72 61 6c 6c 65 6c | 29 3b 0d 09 09 7d 2f 2f |Parallel|);...}//|
|00009df0| 73 77 69 74 63 68 0d 09 | 7d 77 68 69 6c 65 20 28 |switch..|}while (|
|00009e00| 69 74 65 6d 48 69 74 20 | 21 3d 20 6f 6b 20 26 26 |itemHit |!= ok &&|
|00009e10| 20 69 74 65 6d 48 69 74 | 20 21 3d 20 63 61 6e 63 | itemHit| != canc|
|00009e20| 65 6c 29 3b 0d 0d 09 47 | 65 74 47 6c 6f 62 61 6c |el);...G|etGlobal|
|00009e30| 57 69 6e 64 6f 77 52 65 | 63 74 28 64 6c 67 2d 3e |WindowRe|ct(dlg->|
|00009e40| 64 69 61 6c 6f 67 2c 20 | 26 64 69 61 6c 6f 67 52 |dialog, |&dialogR|
|00009e50| 65 63 74 29 3b 0d 09 4d | 79 44 69 73 70 6f 73 65 |ect);..M|yDispose|
|00009e60| 44 69 61 6c 6f 67 28 64 | 6c 67 29 3b 0d 7d 0d 23 |Dialog(d|lg);.}.#|
|00009e70| 70 72 61 67 6d 61 20 6d | 61 72 6b 20 2d 0d 0d 73 |pragma m|ark -..s|
|00009e80| 74 61 74 69 63 20 50 69 | 63 48 61 6e 64 6c 65 20 |tatic Pi|cHandle |
|00009e90| 73 65 6c 65 63 74 65 64 | 50 69 63 3b 0d 0d 73 74 |selected|Pic;..st|
|00009ea0| 61 74 69 63 20 70 61 73 | 63 61 6c 20 76 6f 69 64 |atic pas|cal void|
|00009eb0| 20 50 69 63 49 74 65 6d | 28 57 69 6e 64 6f 77 50 | PicItem|(WindowP|
|00009ec0| 74 72 20 77 69 6e 64 6f | 77 2c 20 73 68 6f 72 74 |tr windo|w, short|
|00009ed0| 20 69 74 65 6d 29 0d 7b | 0d 09 52 65 63 74 09 72 | item).{|..Rect.r|
|00009ee0| 3b 0d 09 73 68 6f 72 74 | 09 69 3b 0d 09 48 61 6e |;..short|.i;..Han|
|00009ef0| 64 6c 65 09 64 75 6d 6d | 79 48 61 6e 64 6c 65 3b |dle.dumm|yHandle;|
|00009f00| 0d 0d 09 47 65 74 44 69 | 61 6c 6f 67 49 74 65 6d |...GetDi|alogItem|
|00009f10| 28 77 69 6e 64 6f 77 2c | 20 69 74 65 6d 2c 20 26 |(window,| item, &|
|00009f20| 69 2c 20 26 64 75 6d 6d | 79 48 61 6e 64 6c 65 2c |i, &dumm|yHandle,|
|00009f30| 20 26 72 29 3b 0d 09 46 | 72 61 6d 65 52 65 63 74 | &r);..F|rameRect|
|00009f40| 28 26 72 29 3b 0d 09 49 | 6e 73 65 74 52 65 63 74 |(&r);..I|nsetRect|
|00009f50| 28 26 72 2c 20 31 2c 31 | 29 3b 0d 09 45 72 61 73 |(&r, 1,1|);..Eras|
|00009f60| 65 52 65 63 74 28 26 72 | 29 3b 0d 09 69 66 20 28 |eRect(&r|);..if (|
|00009f70| 73 65 6c 65 63 74 65 64 | 50 69 63 29 20 44 72 61 |selected|Pic) Dra|
|00009f80| 77 50 69 63 74 75 72 65 | 28 73 65 6c 65 63 74 65 |wPicture|(selecte|
|00009f90| 64 50 69 63 2c 20 26 72 | 29 3b 0d 7d 0d 0d 0d 73 |dPic, &r|);.}...s|
|00009fa0| 74 61 74 69 63 20 42 6f | 6f 6c 65 61 6e 20 53 65 |tatic Bo|olean Se|
|00009fb0| 6c 65 63 74 54 65 78 74 | 75 72 65 28 76 6f 69 64 |lectText|ure(void|
|00009fc0| 29 0d 7b 0d 65 6e 75 6d | 20 7b 09 70 69 63 49 74 |).{.enum| {.picIt|
|00009fd0| 20 3d 20 33 2c 0d 09 09 | 70 72 65 76 49 74 20 3d | = 3,...|prevIt =|
|00009fe0| 20 34 2c 0d 09 09 6e 65 | 78 74 49 74 2c 0d 09 09 | 4,...ne|xtIt,...|
|00009ff0| 78 52 65 70 65 61 74 49 | 74 20 3d 20 38 2c 0d 09 |xRepeatI|t = 8,..|
|0000a000| 09 79 52 65 70 65 61 74 | 49 74 0d 09 7d 3b 0d 0d |.yRepeat|It..};..|
|0000a010| 0d 09 52 65 63 74 09 09 | 09 72 3b 0d 09 48 61 6e |..Rect..|.r;..Han|
|0000a020| 64 6c 65 09 09 09 64 75 | 6d 6d 79 48 61 6e 64 6c |dle...du|mmyHandl|
|0000a030| 65 3b 0d 09 73 68 6f 72 | 74 09 09 09 69 74 65 6d |e;..shor|t...item|
|0000a040| 48 69 74 20 3d 20 63 61 | 6e 63 65 6c 3b 0d 09 73 |Hit = ca|ncel;..s|
|0000a050| 74 61 74 69 63 20 52 65 | 63 74 09 09 64 69 61 6c |tatic Re|ct..dial|
|0000a060| 6f 67 52 65 63 74 20 3d | 20 7b 30 2c 30 2c 30 2c |ogRect =| {0,0,0,|
|0000a070| 30 7d 3b 09 09 09 2f 2f | 20 64 65 66 61 75 6c 74 |0};...//| default|
|0000a080| 20 64 69 61 6c 6f 67 20 | 70 6f 73 69 74 69 6f 6e | dialog |position|
|0000a090| 0d 09 44 69 61 6c 6f 67 | 44 61 74 61 2a 09 09 64 |..Dialog|Data*..d|
|0000a0a0| 6c 67 3b 0d 09 55 73 65 | 72 49 74 65 6d 55 50 50 |lg;..Use|rItemUPP|
|0000a0b0| 09 09 75 73 65 72 49 74 | 65 6d 55 50 50 20 3d 20 |..userIt|emUPP = |
|0000a0c0| 4e 65 77 55 73 65 72 49 | 74 65 6d 50 72 6f 63 28 |NewUserI|temProc(|
|0000a0d0| 50 69 63 49 74 65 6d 29 | 3b 0d 09 73 68 6f 72 74 |PicItem)|;..short|
|0000a0e0| 09 09 09 6e 65 77 54 65 | 78 74 75 72 65 49 44 20 |...newTe|xtureID |
|0000a0f0| 3d 20 67 72 61 66 33 44 | 49 6e 66 6f 2e 74 65 78 |= graf3D|Info.tex|
|0000a100| 74 75 72 65 49 44 3b 0d | 0d 0d 09 73 65 6c 65 63 |tureID;.|...selec|
|0000a110| 74 65 64 50 69 63 20 3d | 20 28 50 69 63 48 61 6e |tedPic =| (PicHan|
|0000a120| 64 6c 65 29 47 65 74 31 | 52 65 73 6f 75 72 63 65 |dle)Get1|Resource|
|0000a130| 28 27 50 49 43 54 27 2c | 20 6e 65 77 54 65 78 74 |('PICT',| newText|
|0000a140| 75 72 65 49 44 29 3b 0d | 09 69 66 20 28 73 65 6c |ureID);.|.if (sel|
|0000a150| 65 63 74 65 64 50 69 63 | 20 3d 3d 20 6e 69 6c 29 |ectedPic| == nil)|
|0000a160| 09 09 09 09 09 09 09 2f | 2f 20 73 68 6f 75 6c 64 |......./|/ should|
|0000a170| 20 6e 65 76 65 72 20 68 | 61 70 70 65 6e 0d 09 7b | never h|appen..{|
|0000a180| 09 6e 65 77 54 65 78 74 | 75 72 65 49 44 20 3d 20 |.newText|ureID = |
|0000a190| 33 31 30 30 30 3b 0d 09 | 09 73 65 6c 65 63 74 65 |31000;..|.selecte|
|0000a1a0| 64 50 69 63 20 3d 20 28 | 50 69 63 48 61 6e 64 6c |dPic = (|PicHandl|
|0000a1b0| 65 29 47 65 74 31 52 65 | 73 6f 75 72 63 65 28 27 |e)Get1Re|source('|
|0000a1c0| 50 49 43 54 27 2c 20 6e | 65 77 54 65 78 74 75 72 |PICT', n|ewTextur|
|0000a1d0| 65 49 44 29 3b 0d 09 7d | 0d 0d 0d 09 64 6c 67 20 |eID);..}|....dlg |
|0000a1e0| 3d 20 4d 79 47 65 74 4e | 65 77 44 69 61 6c 6f 67 |= MyGetN|ewDialog|
|0000a1f0| 28 33 30 30 31 38 2c 20 | 31 2c 20 32 29 3b 0d 09 |(30018, |1, 2);..|
|0000a200| 69 66 20 28 75 73 65 72 | 49 74 65 6d 55 50 50 3d |if (user|ItemUPP=|
|0000a210| 3d 6e 69 6c 20 7c 7c 20 | 64 6c 67 20 3d 3d 20 6e |=nil || |dlg == n|
|0000a220| 69 6c 20 7c 7c 20 73 65 | 6c 65 63 74 65 64 50 69 |il || se|lectedPi|
|0000a230| 63 20 3d 3d 20 6e 69 6c | 29 20 72 65 74 75 72 6e |c == nil|) return|
|0000a240| 20 66 61 6c 73 65 3b 0d | 0d 09 47 65 74 44 69 61 | false;.|..GetDia|
|0000a250| 6c 6f 67 49 74 65 6d 28 | 64 6c 67 2d 3e 64 69 61 |logItem(|dlg->dia|
|0000a260| 6c 6f 67 2c 20 70 69 63 | 49 74 2c 20 26 69 74 65 |log, pic|It, &ite|
|0000a270| 6d 48 69 74 2c 20 26 64 | 75 6d 6d 79 48 61 6e 64 |mHit, &d|ummyHand|
|0000a280| 6c 65 2c 20 26 72 29 3b | 0d 09 53 65 74 44 69 61 |le, &r);|..SetDia|
|0000a290| 6c 6f 67 49 74 65 6d 28 | 64 6c 67 2d 3e 64 69 61 |logItem(|dlg->dia|
|0000a2a0| 6c 6f 67 2c 20 70 69 63 | 49 74 2c 20 69 74 65 6d |log, pic|It, item|
|0000a2b0| 48 69 74 2c 20 28 48 61 | 6e 64 6c 65 29 75 73 65 |Hit, (Ha|ndle)use|
|0000a2c0| 72 49 74 65 6d 55 50 50 | 2c 20 26 72 29 3b 20 0d |rItemUPP|, &r); .|
|0000a2d0| 0d 09 4d 79 53 65 74 4c | 6f 6e 67 49 74 65 6d 28 |..MySetL|ongItem(|
|0000a2e0| 64 6c 67 2c 20 78 52 65 | 70 65 61 74 49 74 2c 20 |dlg, xRe|peatIt, |
|0000a2f0| 67 72 61 66 33 44 49 6e | 66 6f 2e 74 65 78 74 75 |graf3DIn|fo.textu|
|0000a300| 72 65 52 65 70 65 61 74 | 58 29 3b 0d 09 4d 79 53 |reRepeat|X);..MyS|
|0000a310| 65 74 4c 6f 6e 67 49 74 | 65 6d 28 64 6c 67 2c 20 |etLongIt|em(dlg, |
|0000a320| 79 52 65 70 65 61 74 49 | 74 2c 20 67 72 61 66 33 |yRepeatI|t, graf3|
|0000a330| 44 49 6e 66 6f 2e 74 65 | 78 74 75 72 65 52 65 70 |DInfo.te|xtureRep|
|0000a340| 65 61 74 59 29 3b 0d 09 | 4d 79 53 65 6c 65 63 74 |eatY);..|MySelect|
|0000a350| 49 74 65 6d 54 65 78 74 | 28 64 6c 67 2c 20 78 52 |ItemText|(dlg, xR|
|0000a360| 65 70 65 61 74 49 74 2c | 20 30 2c 20 30 78 37 46 |epeatIt,| 0, 0x7F|
|0000a370| 46 46 29 3b 0d 09 53 65 | 74 47 6c 6f 62 61 6c 57 |FF);..Se|tGlobalW|
|0000a380| 69 6e 64 6f 77 52 65 63 | 74 28 64 6c 67 2d 3e 64 |indowRec|t(dlg->d|
|0000a390| 69 61 6c 6f 67 2c 20 26 | 64 69 61 6c 6f 67 52 65 |ialog, &|dialogRe|
|0000a3a0| 63 74 29 3b 0d 09 4d 79 | 53 68 6f 77 44 69 61 6c |ct);..My|ShowDial|
|0000a3b0| 6f 67 28 64 6c 67 29 3b | 0d 09 64 6f 0d 09 7b 0d |og(dlg);|..do..{.|
|0000a3c0| 09 09 4d 79 4d 6f 64 61 | 6c 44 69 61 6c 6f 67 28 |..MyModa|lDialog(|
|0000a3d0| 64 6c 67 2c 20 26 69 74 | 65 6d 48 69 74 29 3b 0d |dlg, &it|emHit);.|
|0000a3e0| 09 09 73 77 69 74 63 68 | 20 28 69 74 65 6d 48 69 |..switch| (itemHi|
|0000a3f0| 74 29 0d 09 09 7b 0d 09 | 09 09 63 61 73 65 20 70 |t)...{..|..case p|
|0000a400| 72 65 76 49 74 3a 0d 09 | 09 09 09 09 52 65 6c 65 |revIt:..|....Rele|
|0000a410| 61 73 65 52 65 73 6f 75 | 72 63 65 28 28 48 61 6e |aseResou|rce((Han|
|0000a420| 64 6c 65 29 73 65 6c 65 | 63 74 65 64 50 69 63 29 |dle)sele|ctedPic)|
|0000a430| 3b 0d 09 09 09 09 09 73 | 65 6c 65 63 74 65 64 50 |;......s|electedP|
|0000a440| 69 63 20 3d 20 6e 69 6c | 3b 0d 09 09 09 09 09 77 |ic = nil|;......w|
|0000a450| 68 69 6c 65 20 28 73 65 | 6c 65 63 74 65 64 50 69 |hile (se|lectedPi|
|0000a460| 63 3d 3d 6e 69 6c 29 0d | 09 09 09 09 09 7b 0d 09 |c==nil).|.....{..|
|0000a470| 09 09 09 09 09 6e 65 77 | 54 65 78 74 75 72 65 49 |.....new|TextureI|
|0000a480| 44 20 2d 3d 20 31 3b 0d | 09 09 09 09 09 09 69 66 |D -= 1;.|......if|
|0000a490| 20 28 6e 65 77 54 65 78 | 74 75 72 65 49 44 20 3c | (newTex|tureID <|
|0000a4a0| 20 33 31 30 30 30 29 20 | 6e 65 77 54 65 78 74 75 | 31000) |newTextu|
|0000a4b0| 72 65 49 44 20 3d 20 33 | 31 30 39 39 3b 0d 09 09 |reID = 3|1099;...|
|0000a4c0| 09 09 09 09 73 65 6c 65 | 63 74 65 64 50 69 63 20 |....sele|ctedPic |
|0000a4d0| 3d 20 28 50 69 63 48 61 | 6e 64 6c 65 29 47 65 74 |= (PicHa|ndle)Get|
|0000a4e0| 31 52 65 73 6f 75 72 63 | 65 28 27 50 49 43 54 27 |1Resourc|e('PICT'|
|0000a4f0| 2c 20 6e 65 77 54 65 78 | 74 75 72 65 49 44 29 3b |, newTex|tureID);|
|0000a500| 0d 09 09 09 09 09 7d 0d | 09 09 09 09 09 4d 79 49 |......}.|.....MyI|
|0000a510| 6e 76 61 6c 69 64 61 74 | 65 49 74 65 6d 28 64 6c |nvalidat|eItem(dl|
|0000a520| 67 2c 20 70 69 63 49 74 | 29 3b 0d 09 09 09 09 09 |g, picIt|);......|
|0000a530| 62 72 65 61 6b 3b 0d 09 | 09 09 63 61 73 65 20 6e |break;..|..case n|
|0000a540| 65 78 74 49 74 3a 0d 09 | 09 09 09 09 52 65 6c 65 |extIt:..|....Rele|
|0000a550| 61 73 65 52 65 73 6f 75 | 72 63 65 28 28 48 61 6e |aseResou|rce((Han|
|0000a560| 64 6c 65 29 73 65 6c 65 | 63 74 65 64 50 69 63 29 |dle)sele|ctedPic)|
|0000a570| 3b 0d 09 09 09 09 09 73 | 65 6c 65 63 74 65 64 50 |;......s|electedP|
|0000a580| 69 63 20 3d 20 6e 69 6c | 3b 0d 09 09 09 09 09 77 |ic = nil|;......w|
|0000a590| 68 69 6c 65 20 28 73 65 | 6c 65 63 74 65 64 50 69 |hile (se|lectedPi|
|0000a5a0| 63 3d 3d 6e 69 6c 29 0d | 09 09 09 09 09 7b 0d 09 |c==nil).|.....{..|
|0000a5b0| 09 09 09 09 09 6e 65 77 | 54 65 78 74 75 72 65 49 |.....new|TextureI|
|0000a5c0| 44 20 2b 3d 20 31 3b 0d | 09 09 09 09 09 09 69 66 |D += 1;.|......if|
|0000a5d0| 20 28 6e 65 77 54 65 78 | 74 75 72 65 49 44 20 3e | (newTex|tureID >|
|0000a5e0| 20 33 31 30 39 39 29 20 | 6e 65 77 54 65 78 74 75 | 31099) |newTextu|
|0000a5f0| 72 65 49 44 20 3d 20 33 | 31 30 30 30 3b 0d 09 09 |reID = 3|1000;...|
|0000a600| 09 09 09 09 73 65 6c 65 | 63 74 65 64 50 69 63 20 |....sele|ctedPic |
|0000a610| 3d 20 28 50 69 63 48 61 | 6e 64 6c 65 29 47 65 74 |= (PicHa|ndle)Get|
|0000a620| 31 52 65 73 6f 75 72 63 | 65 28 27 50 49 43 54 27 |1Resourc|e('PICT'|
|0000a630| 2c 20 6e 65 77 54 65 78 | 74 75 72 65 49 44 29 3b |, newTex|tureID);|
|0000a640| 0d 09 09 09 09 09 7d 0d | 09 09 09 09 09 4d 79 49 |......}.|.....MyI|
|0000a650| 6e 76 61 6c 69 64 61 74 | 65 49 74 65 6d 28 64 6c |nvalidat|eItem(dl|
|0000a660| 67 2c 20 70 69 63 49 74 | 29 3b 0d 09 09 09 09 09 |g, picIt|);......|
|0000a670| 62 72 65 61 6b 3b 0d 09 | 09 09 63 61 73 65 20 6f |break;..|..case o|
|0000a680| 6b 3a 0d 09 09 09 09 7b | 09 6c 6f 6e 67 09 6e 65 |k:.....{|.long.ne|
|0000a690| 77 58 2c 20 6e 65 77 59 | 3b 0d 09 09 09 09 09 69 |wX, newY|;......i|
|0000a6a0| 66 20 28 4d 79 47 65 74 | 4c 6f 6e 67 49 74 65 6d |f (MyGet|LongItem|
|0000a6b0| 28 64 6c 67 2c 20 78 52 | 65 70 65 61 74 49 74 2c |(dlg, xR|epeatIt,|
|0000a6c0| 20 26 6e 65 77 58 29 20 | 26 26 0d 09 09 09 09 09 | &newX) |&&......|
|0000a6d0| 09 4d 79 47 65 74 4c 6f | 6e 67 49 74 65 6d 28 64 |.MyGetLo|ngItem(d|
|0000a6e0| 6c 67 2c 20 79 52 65 70 | 65 61 74 49 74 2c 20 26 |lg, yRep|eatIt, &|
|0000a6f0| 6e 65 77 59 29 29 0d 09 | 09 09 09 09 09 7b 0d 09 |newY))..|.....{..|
|0000a700| 09 09 09 09 09 09 69 66 | 20 28 6e 65 77 58 20 3c |......if| (newX <|
|0000a710| 20 31 29 20 6e 65 77 58 | 20 3d 20 31 3b 0d 09 09 | 1) newX| = 1;...|
|0000a720| 09 09 09 09 09 65 6c 73 | 65 20 69 66 20 28 6e 65 |.....els|e if (ne|
|0000a730| 77 59 20 3e 20 31 30 30 | 29 20 6e 65 77 59 20 3d |wY > 100|) newY =|
|0000a740| 20 31 30 30 3b 0d 09 09 | 09 09 09 09 09 69 66 20 | 100;...|.....if |
|0000a750| 28 6e 65 77 58 20 3c 20 | 31 29 20 6e 65 77 58 20 |(newX < |1) newX |
|0000a760| 3d 20 31 3b 0d 09 09 09 | 09 09 09 09 65 6c 73 65 |= 1;....|....else|
|0000a770| 20 69 66 20 28 6e 65 77 | 59 20 3e 20 31 30 30 29 | if (new|Y > 100)|
|0000a780| 20 6e 65 77 59 20 3d 20 | 31 30 30 3b 0d 09 09 09 | newY = |100;....|
|0000a790| 09 09 09 09 67 72 61 66 | 33 44 49 6e 66 6f 2e 74 |....graf|3DInfo.t|
|0000a7a0| 65 78 74 75 72 65 52 65 | 70 65 61 74 58 20 3d 20 |extureRe|peatX = |
|0000a7b0| 6e 65 77 58 3b 0d 09 09 | 09 09 09 09 09 67 72 61 |newX;...|.....gra|
|0000a7c0| 66 33 44 49 6e 66 6f 2e | 74 65 78 74 75 72 65 52 |f3DInfo.|textureR|
|0000a7d0| 65 70 65 61 74 59 20 3d | 20 6e 65 77 59 3b 0d 09 |epeatY =| newY;..|
|0000a7e0| 09 09 09 09 09 09 67 72 | 61 66 33 44 49 6e 66 6f |......gr|af3DInfo|
|0000a7f0| 2e 74 65 78 74 75 72 65 | 49 44 20 3d 20 6e 65 77 |.texture|ID = new|
|0000a800| 54 65 78 74 75 72 65 49 | 44 3b 0d 09 09 09 09 09 |TextureI|D;......|
|0000a810| 09 7d 0d 09 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |.}......|break;..|
|0000a820| 09 09 09 7d 0d 0d 09 09 | 7d 2f 2f 73 77 69 74 63 |...}....|}//switc|
|0000a830| 68 0d 09 7d 77 68 69 6c | 65 20 28 69 74 65 6d 48 |h..}whil|e (itemH|
|0000a840| 69 74 20 21 3d 20 6f 6b | 20 26 26 20 69 74 65 6d |it != ok| && item|
|0000a850| 48 69 74 20 21 3d 20 63 | 61 6e 63 65 6c 29 3b 0d |Hit != c|ancel);.|
|0000a860| 0d 09 47 65 74 47 6c 6f | 62 61 6c 57 69 6e 64 6f |..GetGlo|balWindo|
|0000a870| 77 52 65 63 74 28 64 6c | 67 2d 3e 64 69 61 6c 6f |wRect(dl|g->dialo|
|0000a880| 67 2c 20 26 64 69 61 6c | 6f 67 52 65 63 74 29 3b |g, &dial|ogRect);|
|0000a890| 0d 09 4d 79 44 69 73 70 | 6f 73 65 44 69 61 6c 6f |..MyDisp|oseDialo|
|0000a8a0| 67 28 64 6c 67 29 3b 0d | 09 69 66 20 28 73 65 6c |g(dlg);.|.if (sel|
|0000a8b0| 65 63 74 65 64 50 69 63 | 29 20 52 65 6c 65 61 73 |ectedPic|) Releas|
|0000a8c0| 65 52 65 73 6f 75 72 63 | 65 28 28 48 61 6e 64 6c |eResourc|e((Handl|
|0000a8d0| 65 29 73 65 6c 65 63 74 | 65 64 50 69 63 29 3b 0d |e)select|edPic);.|
|0000a8e0| 09 69 66 20 28 75 73 65 | 72 49 74 65 6d 55 50 50 |.if (use|rItemUPP|
|0000a8f0| 29 20 44 69 73 70 6f 73 | 65 52 6f 75 74 69 6e 65 |) Dispos|eRoutine|
|0000a900| 44 65 73 63 72 69 70 74 | 6f 72 28 75 73 65 72 49 |Descript|or(userI|
|0000a910| 74 65 6d 55 50 50 29 3b | 0d 09 72 65 74 75 72 6e |temUPP);|..return|
|0000a920| 20 69 74 65 6d 48 69 74 | 20 3d 3d 20 6f 6b 3b 0d | itemHit| == ok;.|
|0000a930| 7d 0d 0d 23 70 72 61 67 | 6d 61 20 6d 61 72 6b 20 |}..#prag|ma mark |
|0000a940| 2d 0d 0d 73 74 61 74 69 | 63 20 76 6f 69 64 20 53 |-..stati|c void S|
|0000a950| 65 74 43 6f 6c 6f 72 43 | 6f 6e 74 72 6f 6c 28 43 |etColorC|ontrol(C|
|0000a960| 6f 6e 74 72 6f 6c 48 61 | 6e 64 6c 65 20 63 6f 6e |ontrolHa|ndle con|
|0000a970| 74 72 6f 6c 2c 20 52 47 | 42 43 6f 6c 6f 72 2a 20 |trol, RG|BColor* |
|0000a980| 63 6f 6e 73 74 20 63 6f | 6c 6f 72 2c 20 42 6f 6f |const co|lor, Boo|
|0000a990| 6c 65 61 6e 20 74 65 78 | 74 75 72 65 64 29 3b 0d |lean tex|tured);.|
|0000a9a0| 09 2f 2f 20 64 65 66 69 | 6e 65 64 20 66 75 72 74 |.// defi|ned furt|
|0000a9b0| 68 65 72 20 62 65 6c 6f | 77 0d 0d 73 74 61 74 69 |her belo|w..stati|
|0000a9c0| 63 20 76 6f 69 64 20 53 | 65 74 75 70 4d 61 69 6e |c void S|etupMain|
|0000a9d0| 43 6f 6e 74 72 6f 6c 73 | 28 76 6f 69 64 29 0d 09 |Controls|(void)..|
|0000a9e0| 2f 2f 20 73 65 74 73 20 | 75 70 20 74 68 65 20 76 |// sets |up the v|
|0000a9f0| 61 6c 75 65 73 20 6f 66 | 20 74 68 65 20 63 6f 6e |alues of| the con|
|0000aa00| 74 72 6f 6c 73 20 69 6e | 20 6f 75 72 20 6d 61 69 |trols in| our mai|
|0000aa10| 6e 20 77 69 6e 64 6f 77 | 0d 7b 0d 09 53 65 74 43 |n window|.{..SetC|
|0000aa20| 6f 6c 6f 72 43 6f 6e 74 | 72 6f 6c 28 73 75 72 66 |olorCont|rol(surf|
|0000aa30| 61 63 65 43 6f 6c 6f 72 | 43 74 6c 2c 20 26 67 72 |aceColor|Ctl, &gr|
|0000aa40| 61 66 33 44 49 6e 66 6f | 2e 73 75 72 66 61 63 65 |af3DInfo|.surface|
|0000aa50| 43 6f 6c 6f 72 2c 20 67 | 72 61 66 33 44 49 6e 66 |Color, g|raf3DInf|
|0000aa60| 6f 2e 69 73 54 65 78 74 | 75 72 65 64 29 3b 0d 09 |o.isText|ured);..|
|0000aa70| 53 65 74 43 6f 6c 6f 72 | 43 6f 6e 74 72 6f 6c 28 |SetColor|Control(|
|0000aa80| 61 78 65 73 43 6f 6c 6f | 72 43 74 6c 2c 20 26 67 |axesColo|rCtl, &g|
|0000aa90| 72 61 66 33 44 49 6e 66 | 6f 2e 61 78 65 73 43 6f |raf3DInf|o.axesCo|
|0000aaa0| 6c 6f 72 2c 20 66 61 6c | 73 65 29 3b 0d 09 53 65 |lor, fal|se);..Se|
|0000aab0| 74 43 6f 6c 6f 72 43 6f | 6e 74 72 6f 6c 28 6c 61 |tColorCo|ntrol(la|
|0000aac0| 62 65 6c 73 43 6f 6c 6f | 72 43 74 6c 2c 20 26 67 |belsColo|rCtl, &g|
|0000aad0| 72 61 66 33 44 49 6e 66 | 6f 2e 6c 61 62 65 6c 73 |raf3DInf|o.labels|
|0000aae0| 43 6f 6c 6f 72 2c 20 66 | 61 6c 73 65 29 3b 0d 09 |Color, f|alse);..|
|0000aaf0| 53 65 74 43 6f 6e 74 72 | 6f 6c 56 61 6c 75 65 28 |SetContr|olValue(|
|0000ab00| 66 69 6c 6c 53 74 79 6c | 65 43 74 6c 2c 20 67 72 |fillStyl|eCtl, gr|
|0000ab10| 61 66 33 44 49 6e 66 6f | 2e 73 75 72 66 61 63 65 |af3DInfo|.surface|
|0000ab20| 53 74 79 6c 65 2b 31 29 | 3b 0d 09 53 65 74 43 6f |Style+1)|;..SetCo|
|0000ab30| 6e 74 72 6f 6c 56 61 6c | 75 65 28 73 68 6f 77 41 |ntrolVal|ue(showA|
|0000ab40| 78 65 73 43 74 6c 2c 20 | 67 72 61 66 33 44 49 6e |xesCtl, |graf3DIn|
|0000ab50| 66 6f 2e 73 68 6f 77 41 | 78 65 73 29 3b 0d 09 53 |fo.showA|xes);..S|
|0000ab60| 65 74 43 6f 6e 74 72 6f | 6c 56 61 6c 75 65 28 73 |etContro|lValue(s|
|0000ab70| 68 6f 77 4c 61 62 65 6c | 73 43 74 6c 2c 20 67 72 |howLabel|sCtl, gr|
|0000ab80| 61 66 33 44 49 6e 66 6f | 2e 73 68 6f 77 4e 61 6d |af3DInfo|.showNam|
|0000ab90| 65 73 41 6e 64 4c 61 62 | 65 6c 73 29 3b 0d 09 53 |esAndLab|els);..S|
|0000aba0| 65 74 43 6f 6e 74 72 6f | 6c 56 61 6c 75 65 28 73 |etContro|lValue(s|
|0000abb0| 68 6f 77 53 75 72 66 61 | 63 65 43 74 6c 2c 20 67 |howSurfa|ceCtl, g|
|0000abc0| 72 61 66 33 44 49 6e 66 | 6f 2e 73 68 6f 77 53 75 |raf3DInf|o.showSu|
|0000abd0| 72 66 61 63 65 29 3b 0d | 7d 0d 0d 0d 73 74 61 74 |rface);.|}...stat|
|0000abe0| 69 63 20 76 6f 69 64 20 | 4d 61 6b 65 53 74 79 6c |ic void |MakeStyl|
|0000abf0| 65 28 53 74 79 6c 65 49 | 6e 66 6f 2a 20 63 6f 6e |e(StyleI|nfo* con|
|0000ac00| 73 74 20 73 74 79 6c 65 | 29 0d 09 2f 2f 20 72 65 |st style|)..// re|
|0000ac10| 74 75 72 6e 73 20 74 68 | 65 20 63 75 72 72 65 6e |turns th|e curren|
|0000ac20| 74 20 73 74 79 6c 65 20 | 73 65 74 74 69 6e 67 0d |t style |setting.|
|0000ac30| 7b 0d 09 73 74 79 6c 65 | 2d 3e 76 65 72 73 69 6f |{..style|->versio|
|0000ac40| 6e 4e 72 20 3d 20 73 74 | 79 6c 65 56 65 72 73 69 |nNr = st|yleVersi|
|0000ac50| 6f 6e 4e 72 3b 0d 09 73 | 74 79 6c 65 2d 3e 67 72 |onNr;..s|tyle->gr|
|0000ac60| 61 66 49 6e 66 6f 20 3d | 20 67 72 61 66 33 44 49 |afInfo =| graf3DI|
|0000ac70| 6e 66 6f 3b 0d 09 50 33 | 56 69 65 77 65 72 47 65 |nfo;..P3|ViewerGe|
|0000ac80| 74 53 65 74 74 69 6e 67 | 73 28 76 69 65 77 65 72 |tSetting|s(viewer|
|0000ac90| 2c 20 26 73 74 79 6c 65 | 2d 3e 76 69 65 77 65 72 |, &style|->viewer|
|0000aca0| 53 65 74 74 69 6e 67 73 | 29 3b 0d 7d 0d 0d 73 74 |Settings|);.}..st|
|0000acb0| 61 74 69 63 20 76 6f 69 | 64 20 41 70 70 6c 79 53 |atic voi|d ApplyS|
|0000acc0| 74 79 6c 65 28 48 61 6e | 64 6c 65 20 68 2c 20 42 |tyle(Han|dle h, B|
|0000acd0| 6f 6f 6c 65 61 6e 20 61 | 70 70 6c 79 54 6f 47 72 |oolean a|pplyToGr|
|0000ace0| 61 70 68 2c 20 42 6f 6f | 6c 65 61 6e 20 61 70 70 |aph, Boo|lean app|
|0000acf0| 6c 79 54 6f 52 61 6e 67 | 65 2c 20 42 6f 6f 6c 65 |lyToRang|e, Boole|
|0000ad00| 61 6e 20 61 70 70 6c 79 | 54 6f 43 61 6d 65 72 61 |an apply|ToCamera|
|0000ad10| 29 0d 7b 0d 09 53 74 79 | 6c 65 49 6e 66 6f 2a 20 |).{..Sty|leInfo* |
|0000ad20| 69 6e 66 6f 3b 0d 09 69 | 66 20 28 68 3d 3d 6e 69 |info;..i|f (h==ni|
|0000ad30| 6c 29 20 72 65 74 75 72 | 6e 3b 0d 09 48 4c 6f 63 |l) retur|n;..HLoc|
|0000ad40| 6b 28 68 29 3b 0d 09 69 | 6e 66 6f 20 3d 20 28 53 |k(h);..i|nfo = (S|
|0000ad50| 74 79 6c 65 49 6e 66 6f | 2a 29 2a 68 3b 0d 09 69 |tyleInfo|*)*h;..i|
|0000ad60| 66 20 28 61 70 70 6c 79 | 54 6f 47 72 61 70 68 20 |f (apply|ToGraph |
|0000ad70| 7c 7c 20 61 70 70 6c 79 | 54 6f 52 61 6e 67 65 29 ||| apply|ToRange)|
|0000ad80| 0d 09 7b 09 0d 09 09 69 | 66 20 28 61 70 70 6c 79 |..{....i|f (apply|
|0000ad90| 54 6f 47 72 61 70 68 29 | 0d 09 09 7b 09 53 63 61 |ToGraph)|...{.Sca|
|0000ada0| 6c 69 6e 67 44 65 73 63 | 72 09 6f 72 69 67 53 63 |lingDesc|r.origSc|
|0000adb0| 61 6c 69 6e 67 5b 33 5d | 3b 0d 09 09 09 42 6c 6f |aling[3]|;....Blo|
|0000adc0| 63 6b 4d 6f 76 65 28 26 | 67 72 61 66 33 44 49 6e |ckMove(&|graf3DIn|
|0000add0| 66 6f 2e 73 63 61 6c 69 | 6e 67 44 65 73 63 72 2c |fo.scali|ngDescr,|
|0000ade0| 20 26 6f 72 69 67 53 63 | 61 6c 69 6e 67 2c 20 33 | &origSc|aling, 3|
|0000adf0| 2a 73 69 7a 65 6f 66 28 | 53 63 61 6c 69 6e 67 44 |*sizeof(|ScalingD|
|0000ae00| 65 73 63 72 29 29 3b 0d | 09 09 09 67 72 61 66 33 |escr));.|...graf3|
|0000ae10| 44 49 6e 66 6f 20 3d 20 | 69 6e 66 6f 2d 3e 67 72 |DInfo = |info->gr|
|0000ae20| 61 66 49 6e 66 6f 3b 0d | 09 09 09 69 66 20 28 21 |afInfo;.|...if (!|
|0000ae30| 61 70 70 6c 79 54 6f 52 | 61 6e 67 65 29 09 09 09 |applyToR|ange)...|
|0000ae40| 09 09 09 09 2f 2f 20 69 | 66 20 77 65 20 6d 75 73 |....// i|f we mus|
|0000ae50| 74 20 6e 6f 74 20 63 68 | 61 6e 67 65 20 73 63 61 |t not ch|ange sca|
|0000ae60| 6c 69 6e 67 0d 09 09 09 | 09 42 6c 6f 63 6b 4d 6f |ling....|.BlockMo|
|0000ae70| 76 65 28 26 6f 72 69 67 | 53 63 61 6c 69 6e 67 2c |ve(&orig|Scaling,|
|0000ae80| 20 26 67 72 61 66 33 44 | 49 6e 66 6f 2e 73 63 61 | &graf3D|Info.sca|
|0000ae90| 6c 69 6e 67 44 65 73 63 | 72 2c 20 33 2a 73 69 7a |lingDesc|r, 3*siz|
|0000aea0| 65 6f 66 28 53 63 61 6c | 69 6e 67 44 65 73 63 72 |eof(Scal|ingDescr|
|0000aeb0| 29 29 3b 0d 09 09 7d 0d | 09 09 65 6c 73 65 0d 09 |));...}.|..else..|
|0000aec0| 09 09 42 6c 6f 63 6b 4d | 6f 76 65 28 26 69 6e 66 |..BlockM|ove(&inf|
|0000aed0| 6f 2d 3e 67 72 61 66 49 | 6e 66 6f 2e 73 63 61 6c |o->grafI|nfo.scal|
|0000aee0| 69 6e 67 44 65 73 63 72 | 2c 20 26 67 72 61 66 33 |ingDescr|, &graf3|
|0000aef0| 44 49 6e 66 6f 2e 73 63 | 61 6c 69 6e 67 44 65 73 |DInfo.sc|alingDes|
|0000af00| 63 72 2c 20 33 2a 73 69 | 7a 65 6f 66 28 53 63 61 |cr, 3*si|zeof(Sca|
|0000af10| 6c 69 6e 67 44 65 73 63 | 72 29 29 3b 0d 09 7d 0d |lingDesc|r));..}.|
|0000af20| 09 69 66 20 28 61 70 70 | 6c 79 54 6f 43 61 6d 65 |.if (app|lyToCame|
|0000af30| 72 61 29 0d 09 09 50 33 | 56 69 65 77 65 72 53 65 |ra)...P3|ViewerSe|
|0000af40| 74 53 65 74 74 69 6e 67 | 73 28 76 69 65 77 65 72 |tSetting|s(viewer|
|0000af50| 2c 20 26 69 6e 66 6f 2d | 3e 76 69 65 77 65 72 53 |, &info-|>viewerS|
|0000af60| 65 74 74 69 6e 67 73 29 | 3b 0d 09 48 55 6e 6c 6f |ettings)|;..HUnlo|
|0000af70| 63 6b 28 68 29 3b 0d 09 | 53 65 74 75 70 4d 61 69 |ck(h);..|SetupMai|
|0000af80| 6e 43 6f 6e 74 72 6f 6c | 73 28 29 3b 0d 09 55 73 |nControl|s();..Us|
|0000af90| 65 47 72 61 66 46 6f 72 | 53 63 61 6c 69 6e 67 28 |eGrafFor|Scaling(|
|0000afa0| 26 67 72 61 66 33 44 49 | 6e 66 6f 29 3b 0d 09 69 |&graf3DI|nfo);..i|
|0000afb0| 66 20 28 61 70 70 6c 79 | 54 6f 52 61 6e 67 65 29 |f (apply|ToRange)|
|0000afc0| 20 4d 61 6b 65 53 75 72 | 66 61 63 65 28 29 3b 0d | MakeSur|face();.|
|0000afd0| 09 4d 61 6b 65 41 78 65 | 73 41 6e 64 4c 61 62 65 |.MakeAxe|sAndLabe|
|0000afe0| 6c 73 28 29 3b 09 09 09 | 09 09 2f 2f 20 63 72 65 |ls();...|..// cre|
|0000aff0| 61 74 65 73 20 61 78 65 | 73 2c 20 6c 61 62 65 6c |ates axe|s, label|
|0000b000| 73 20 6f 62 6a 65 63 74 | 73 0d 09 4d 61 6b 65 4d |s object|s..MakeM|
|0000b010| 6f 64 65 6c 28 29 3b 0d | 7d 0d 0d 0d 73 74 61 74 |odel();.|}...stat|
|0000b020| 69 63 20 76 6f 69 64 20 | 55 70 64 61 74 65 53 74 |ic void |UpdateSt|
|0000b030| 79 6c 65 4d 65 6e 75 73 | 28 76 6f 69 64 29 0d 7b |yleMenus|(void).{|
|0000b040| 0d 09 69 66 20 28 6c 6f | 61 64 53 74 79 6c 65 4d |..if (lo|adStyleM|
|0000b050| 65 6e 75 29 0d 09 7b 0d | 09 09 69 66 20 28 55 70 |enu)..{.|..if (Up|
|0000b060| 64 61 74 65 4d 65 6e 75 | 46 72 6f 6d 50 72 65 66 |dateMenu|FromPref|
|0000b070| 73 4e 61 6d 65 73 28 6c | 6f 61 64 53 74 79 6c 65 |sNames(l|oadStyle|
|0000b080| 4d 65 6e 75 2c 20 73 74 | 79 6c 65 52 65 73 54 79 |Menu, st|yleResTy|
|0000b090| 70 65 29 29 0d 09 09 09 | 45 6e 61 62 6c 65 49 74 |pe))....|EnableIt|
|0000b0a0| 65 6d 28 66 69 6c 65 4d | 65 6e 75 2c 20 6c 6f 61 |em(fileM|enu, loa|
|0000b0b0| 64 53 74 79 6c 65 49 74 | 65 6d 4e 72 29 3b 0d 09 |dStyleIt|emNr);..|
|0000b0c0| 09 65 6c 73 65 0d 09 09 | 09 44 69 73 61 62 6c 65 |.else...|.Disable|
|0000b0d0| 49 74 65 6d 28 66 69 6c | 65 4d 65 6e 75 2c 20 6c |Item(fil|eMenu, l|
|0000b0e0| 6f 61 64 53 74 79 6c 65 | 49 74 65 6d 4e 72 29 3b |oadStyle|ItemNr);|
|0000b0f0| 0d 09 7d 0d 09 69 66 20 | 28 64 65 6c 65 74 65 53 |..}..if |(deleteS|
|0000b100| 74 79 6c 65 4d 65 6e 75 | 29 09 0d 09 7b 0d 09 09 |tyleMenu|)...{...|
|0000b110| 69 66 20 28 55 70 64 61 | 74 65 4d 65 6e 75 46 72 |if (Upda|teMenuFr|
|0000b120| 6f 6d 50 72 65 66 73 4e | 61 6d 65 73 28 64 65 6c |omPrefsN|ames(del|
|0000b130| 65 74 65 53 74 79 6c 65 | 4d 65 6e 75 2c 20 73 74 |eteStyle|Menu, st|
|0000b140| 79 6c 65 52 65 73 54 79 | 70 65 29 29 0d 09 09 09 |yleResTy|pe))....|
|0000b150| 45 6e 61 62 6c 65 49 74 | 65 6d 28 66 69 6c 65 4d |EnableIt|em(fileM|
|0000b160| 65 6e 75 2c 20 64 65 6c | 65 74 65 53 74 79 6c 65 |enu, del|eteStyle|
|0000b170| 49 74 65 6d 4e 72 29 3b | 0d 09 09 65 6c 73 65 0d |ItemNr);|...else.|
|0000b180| 09 09 09 44 69 73 61 62 | 6c 65 49 74 65 6d 28 66 |...Disab|leItem(f|
|0000b190| 69 6c 65 4d 65 6e 75 2c | 20 64 65 6c 65 74 65 53 |ileMenu,| deleteS|
|0000b1a0| 74 79 6c 65 49 74 65 6d | 4e 72 29 3b 0d 09 7d 0d |tyleItem|Nr);..}.|
|0000b1b0| 7d 0d 0d 0d 0d 73 74 61 | 74 69 63 20 76 6f 69 64 |}....sta|tic void|
|0000b1c0| 20 4c 6f 61 64 53 74 79 | 6c 65 28 73 68 6f 72 74 | LoadSty|le(short|
|0000b1d0| 20 69 74 65 6d 29 0d 7b | 0d 09 53 74 72 32 35 35 | item).{|..Str255|
|0000b1e0| 09 6e 61 6d 65 3b 0d 09 | 48 61 6e 64 6c 65 09 68 |.name;..|Handle.h|
|0000b1f0| 3b 0d 09 73 74 61 74 69 | 63 20 42 6f 6f 6c 65 61 |;..stati|c Boolea|
|0000b200| 6e 20 61 70 70 6c 79 54 | 6f 47 72 61 70 68 20 3d |n applyT|oGraph =|
|0000b210| 20 74 72 75 65 3b 0d 09 | 73 74 61 74 69 63 20 42 | true;..|static B|
|0000b220| 6f 6f 6c 65 61 6e 20 61 | 70 70 6c 79 54 6f 52 61 |oolean a|pplyToRa|
|0000b230| 6e 67 65 20 3d 20 66 61 | 6c 73 65 3b 0d 09 73 74 |nge = fa|lse;..st|
|0000b240| 61 74 69 63 20 42 6f 6f | 6c 65 61 6e 20 61 70 70 |atic Boo|lean app|
|0000b250| 6c 79 54 6f 43 61 6d 65 | 72 61 20 3d 20 74 72 75 |lyToCame|ra = tru|
|0000b260| 65 3b 0d 0d 09 65 6e 75 | 6d 7b 09 61 70 70 6c 79 |e;...enu|m{.apply|
|0000b270| 54 6f 47 72 61 70 68 49 | 74 20 3d 20 33 2c 0d 09 |ToGraphI|t = 3,..|
|0000b280| 09 09 61 70 70 6c 79 54 | 6f 52 61 6e 67 65 49 74 |..applyT|oRangeIt|
|0000b290| 2c 0d 09 09 09 61 70 70 | 6c 79 54 6f 43 61 6d 65 |,....app|lyToCame|
|0000b2a0| 72 61 49 74 0d 09 09 7d | 3b 0d 0d 0d 09 47 65 74 |raIt...}|;....Get|
|0000b2b0| 4d 65 6e 75 49 74 65 6d | 54 65 78 74 28 6c 6f 61 |MenuItem|Text(loa|
|0000b2c0| 64 53 74 79 6c 65 4d 65 | 6e 75 2c 20 69 74 65 6d |dStyleMe|nu, item|
|0000b2d0| 2c 20 6e 61 6d 65 29 3b | 0d 09 68 20 3d 20 4c 6f |, name);|..h = Lo|
|0000b2e0| 61 64 50 72 65 66 65 72 | 65 6e 63 65 28 73 74 79 |adPrefer|ence(sty|
|0000b2f0| 6c 65 52 65 73 54 79 70 | 65 2c 20 30 2c 20 6e 61 |leResTyp|e, 0, na|
|0000b300| 6d 65 29 3b 0d 09 69 66 | 20 28 68 29 0d 09 7b 0d |me);..if| (h)..{.|
|0000b310| 09 09 69 66 20 28 2a 2a | 28 6c 6f 6e 67 2a 2a 29 |..if (**|(long**)|
|0000b320| 68 20 3d 3d 20 73 74 79 | 6c 65 56 65 72 73 69 6f |h == sty|leVersio|
|0000b330| 6e 4e 72 29 0d 09 09 7b | 0d 09 09 09 44 69 61 6c |nNr)...{|....Dial|
|0000b340| 6f 67 44 61 74 61 2a 09 | 64 6c 67 20 3d 20 4d 79 |ogData*.|dlg = My|
|0000b350| 47 65 74 4e 65 77 44 69 | 61 6c 6f 67 28 33 30 30 |GetNewDi|alog(300|
|0000b360| 31 35 2c 20 31 2c 20 32 | 29 3b 09 2f 2f 20 6c 6f |15, 1, 2|);.// lo|
|0000b370| 61 64 20 77 68 61 74 20 | 70 61 72 74 0d 09 09 09 |ad what |part....|
|0000b380| 69 66 20 28 64 6c 67 29 | 0d 09 09 09 7b 0d 09 09 |if (dlg)|....{...|
|0000b390| 09 09 73 68 6f 72 74 09 | 69 74 65 6d 48 69 74 3b |..short.|itemHit;|
|0000b3a0| 0d 09 09 09 09 4d 79 53 | 65 74 49 74 65 6d 56 61 |.....MyS|etItemVa|
|0000b3b0| 6c 75 65 28 64 6c 67 2c | 20 61 70 70 6c 79 54 6f |lue(dlg,| applyTo|
|0000b3c0| 47 72 61 70 68 49 74 2c | 20 61 70 70 6c 79 54 6f |GraphIt,| applyTo|
|0000b3d0| 47 72 61 70 68 29 3b 0d | 09 09 09 09 4d 79 53 65 |Graph);.|....MySe|
|0000b3e0| 74 49 74 65 6d 56 61 6c | 75 65 28 64 6c 67 2c 20 |tItemVal|ue(dlg, |
|0000b3f0| 61 70 70 6c 79 54 6f 52 | 61 6e 67 65 49 74 2c 20 |applyToR|angeIt, |
|0000b400| 61 70 70 6c 79 54 6f 52 | 61 6e 67 65 29 3b 0d 09 |applyToR|ange);..|
|0000b410| 09 09 09 4d 79 53 65 74 | 49 74 65 6d 56 61 6c 75 |...MySet|ItemValu|
|0000b420| 65 28 64 6c 67 2c 20 61 | 70 70 6c 79 54 6f 43 61 |e(dlg, a|pplyToCa|
|0000b430| 6d 65 72 61 49 74 2c 20 | 61 70 70 6c 79 54 6f 43 |meraIt, |applyToC|
|0000b440| 61 6d 65 72 61 29 3b 0d | 09 09 09 09 4d 79 53 68 |amera);.|....MySh|
|0000b450| 6f 77 44 69 61 6c 6f 67 | 28 64 6c 67 29 3b 0d 09 |owDialog|(dlg);..|
|0000b460| 09 09 09 64 6f 0d 09 09 | 09 09 7b 09 0d 09 09 09 |...do...|..{.....|
|0000b470| 09 09 4d 79 4d 6f 64 61 | 6c 44 69 61 6c 6f 67 28 |..MyModa|lDialog(|
|0000b480| 64 6c 67 2c 20 26 69 74 | 65 6d 48 69 74 29 3b 0d |dlg, &it|emHit);.|
|0000b490| 09 09 09 09 09 69 66 20 | 28 69 74 65 6d 48 69 74 |.....if |(itemHit|
|0000b4a0| 20 3d 3d 20 6f 6b 29 0d | 09 09 09 09 09 7b 09 61 | == ok).|.....{.a|
|0000b4b0| 70 70 6c 79 54 6f 47 72 | 61 70 68 20 3d 20 4d 79 |pplyToGr|aph = My|
|0000b4c0| 47 65 74 49 74 65 6d 56 | 61 6c 75 65 28 64 6c 67 |GetItemV|alue(dlg|
|0000b4d0| 2c 20 61 70 70 6c 79 54 | 6f 47 72 61 70 68 49 74 |, applyT|oGraphIt|
|0000b4e0| 29 3b 0d 09 09 09 09 09 | 09 61 70 70 6c 79 54 6f |);......|.applyTo|
|0000b4f0| 52 61 6e 67 65 20 3d 20 | 4d 79 47 65 74 49 74 65 |Range = |MyGetIte|
|0000b500| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 61 70 70 6c |mValue(d|lg, appl|
|0000b510| 79 54 6f 52 61 6e 67 65 | 49 74 29 3b 0d 09 09 09 |yToRange|It);....|
|0000b520| 09 09 09 61 70 70 6c 79 | 54 6f 43 61 6d 65 72 61 |...apply|ToCamera|
|0000b530| 20 3d 20 4d 79 47 65 74 | 49 74 65 6d 56 61 6c 75 | = MyGet|ItemValu|
|0000b540| 65 28 64 6c 67 2c 20 61 | 70 70 6c 79 54 6f 43 61 |e(dlg, a|pplyToCa|
|0000b550| 6d 65 72 61 49 74 29 3b | 0d 09 09 09 09 09 09 41 |meraIt);|.......A|
|0000b560| 70 70 6c 79 53 74 79 6c | 65 28 68 2c 20 61 70 70 |pplyStyl|e(h, app|
|0000b570| 6c 79 54 6f 47 72 61 70 | 68 2c 20 61 70 70 6c 79 |lyToGrap|h, apply|
|0000b580| 54 6f 52 61 6e 67 65 2c | 20 61 70 70 6c 79 54 6f |ToRange,| applyTo|
|0000b590| 43 61 6d 65 72 61 29 3b | 0d 09 09 09 09 09 7d 0d |Camera);|......}.|
|0000b5a0| 09 09 09 09 7d 77 68 69 | 6c 65 20 28 69 74 65 6d |....}whi|le (item|
|0000b5b0| 48 69 74 20 21 3d 20 6f | 6b 20 26 26 20 69 74 65 |Hit != o|k && ite|
|0000b5c0| 6d 48 69 74 20 21 3d 20 | 63 61 6e 63 65 6c 29 3b |mHit != |cancel);|
|0000b5d0| 0d 09 09 09 09 4d 79 44 | 69 73 70 6f 73 65 44 69 |.....MyD|isposeDi|
|0000b5e0| 61 6c 6f 67 28 64 6c 67 | 29 3b 0d 09 09 09 7d 2f |alog(dlg|);....}/|
|0000b5f0| 2f 69 66 20 64 6c 67 0d | 09 09 7d 0d 09 09 65 6c |/if dlg.|..}...el|
|0000b600| 73 65 0d 09 09 09 4d 79 | 41 6c 65 72 74 28 33 30 |se....My|Alert(30|
|0000b610| 30 31 34 29 3b 0d 09 09 | 44 69 73 70 6f 73 65 48 |014);...|DisposeH|
|0000b620| 61 6e 64 6c 65 28 68 29 | 3b 0d 09 7d 09 0d 09 0d |andle(h)|;..}....|
|0000b630| 7d 0d 0d 73 74 61 74 69 | 63 20 76 6f 69 64 20 44 |}..stati|c void D|
|0000b640| 65 6c 65 74 65 53 74 79 | 6c 65 28 73 68 6f 72 74 |eleteSty|le(short|
|0000b650| 20 69 74 65 6d 29 0d 7b | 0d 09 53 74 72 32 35 35 | item).{|..Str255|
|0000b660| 09 6e 61 6d 65 3b 0d 0d | 09 47 65 74 4d 65 6e 75 |.name;..|.GetMenu|
|0000b670| 49 74 65 6d 54 65 78 74 | 28 6c 6f 61 64 53 74 79 |ItemText|(loadSty|
|0000b680| 6c 65 4d 65 6e 75 2c 20 | 69 74 65 6d 2c 20 6e 61 |leMenu, |item, na|
|0000b690| 6d 65 29 3b 0d 09 50 61 | 72 61 6d 54 65 78 74 28 |me);..Pa|ramText(|
|0000b6a0| 6e 61 6d 65 2c 20 22 5c | 70 22 2c 20 22 5c 70 22 |name, "\|p", "\p"|
|0000b6b0| 2c 20 22 5c 70 22 29 3b | 0d 09 69 66 20 28 4d 79 |, "\p");|..if (My|
|0000b6c0| 41 6c 65 72 74 28 33 30 | 30 31 36 29 20 3d 3d 20 |Alert(30|016) == |
|0000b6d0| 63 61 6e 63 65 6c 29 20 | 72 65 74 75 72 6e 3b 09 |cancel) |return;.|
|0000b6e0| 09 09 09 2f 2f 20 64 6f | 20 79 6f 75 20 72 65 61 |...// do| you rea|
|0000b6f0| 6c 6c 79 20 77 61 6e 74 | 20 74 6f 20 64 65 6c 65 |lly want| to dele|
|0000b700| 74 65 20 74 68 69 73 20 | 73 74 79 6c 65 3f 0d 09 |te this |style?..|
|0000b710| 53 61 76 65 50 72 65 66 | 65 72 65 6e 63 65 28 6e |SavePref|erence(n|
|0000b720| 69 6c 2c 20 30 2c 20 73 | 74 79 6c 65 52 65 73 54 |il, 0, s|tyleResT|
|0000b730| 79 70 65 2c 20 30 2c 20 | 6e 61 6d 65 29 3b 0d 09 |ype, 0, |name);..|
|0000b740| 55 70 64 61 74 65 53 74 | 79 6c 65 4d 65 6e 75 73 |UpdateSt|yleMenus|
|0000b750| 28 29 3b 0d 7d 0d 0d 0d | 73 74 61 74 69 63 20 76 |();.}...|static v|
|0000b760| 6f 69 64 20 53 61 76 65 | 53 74 79 6c 65 44 69 61 |oid Save|StyleDia|
|0000b770| 6c 6f 67 28 76 6f 69 64 | 29 0d 7b 0d 09 44 69 61 |log(void|).{..Dia|
|0000b780| 6c 6f 67 44 61 74 61 2a | 09 64 6c 67 3b 0d 09 53 |logData*|.dlg;..S|
|0000b790| 74 79 6c 65 49 6e 66 6f | 09 73 74 79 6c 65 3b 0d |tyleInfo|.style;.|
|0000b7a0| 09 53 74 72 32 35 35 09 | 09 6e 61 6d 65 3b 0d 09 |.Str255.|.name;..|
|0000b7b0| 73 68 6f 72 74 09 09 69 | 74 65 6d 48 69 74 3b 0d |short..i|temHit;.|
|0000b7c0| 0d 09 65 6e 75 6d 20 7b | 20 6e 61 6d 65 49 74 20 |..enum {| nameIt |
|0000b7d0| 3d 20 34 0d 09 09 7d 3b | 0d 0d 09 4d 61 6b 65 53 |= 4...};|...MakeS|
|0000b7e0| 74 79 6c 65 28 26 73 74 | 79 6c 65 29 3b 0d 09 64 |tyle(&st|yle);..d|
|0000b7f0| 6c 67 20 3d 20 4d 79 47 | 65 74 4e 65 77 44 69 61 |lg = MyG|etNewDia|
|0000b800| 6c 6f 67 28 33 30 30 31 | 32 2c 20 31 2c 20 32 29 |log(3001|2, 1, 2)|
|0000b810| 3b 0d 09 69 66 20 28 64 | 6c 67 20 3d 3d 20 6e 69 |;..if (d|lg == ni|
|0000b820| 6c 29 20 72 65 74 75 72 | 6e 3b 0d 0d 09 4d 79 53 |l) retur|n;...MyS|
|0000b830| 65 6c 65 63 74 49 74 65 | 6d 54 65 78 74 28 64 6c |electIte|mText(dl|
|0000b840| 67 2c 20 6e 61 6d 65 49 | 74 2c 20 30 2c 20 30 78 |g, nameI|t, 0, 0x|
|0000b850| 37 46 46 46 29 3b 0d 09 | 4d 79 53 68 6f 77 44 69 |7FFF);..|MyShowDi|
|0000b860| 61 6c 6f 67 28 64 6c 67 | 29 3b 0d 09 64 6f 0d 09 |alog(dlg|);..do..|
|0000b870| 7b 09 0d 09 09 4d 79 4d | 6f 64 61 6c 44 69 61 6c |{....MyM|odalDial|
|0000b880| 6f 67 28 64 6c 67 2c 20 | 26 69 74 65 6d 48 69 74 |og(dlg, |&itemHit|
|0000b890| 29 3b 0d 09 09 69 66 20 | 28 69 74 65 6d 48 69 74 |);...if |(itemHit|
|0000b8a0| 20 3d 3d 20 6f 6b 29 0d | 09 09 7b 0d 09 09 09 4d | == ok).|..{....M|
|0000b8b0| 79 47 65 74 49 74 65 6d | 54 65 78 74 28 64 6c 67 |yGetItem|Text(dlg|
|0000b8c0| 2c 20 6e 61 6d 65 49 74 | 2c 20 6e 61 6d 65 29 3b |, nameIt|, name);|
|0000b8d0| 0d 09 09 09 69 66 20 28 | 50 72 65 66 65 72 65 6e |....if (|Preferen|
|0000b8e0| 63 65 45 78 69 73 74 73 | 28 73 74 79 6c 65 52 65 |ceExists|(styleRe|
|0000b8f0| 73 54 79 70 65 2c 20 30 | 2c 20 6e 61 6d 65 29 20 |sType, 0|, name) |
|0000b900| 26 26 20 4d 79 41 6c 65 | 72 74 28 33 30 30 31 33 |&& MyAle|rt(30013|
|0000b910| 29 20 3d 3d 20 63 61 6e | 63 65 6c 29 20 2f 2f 20 |) == can|cel) // |
|0000b920| 64 6f 20 79 6f 75 20 72 | 65 61 6c 6c 79 20 77 61 |do you r|eally wa|
|0000b930| 6e 74 20 74 6f 20 72 65 | 70 6c 61 63 65 2e 2e 0d |nt to re|place...|
|0000b940| 09 09 09 09 69 74 65 6d | 48 69 74 20 3d 20 30 3b |....item|Hit = 0;|
|0000b950| 0d 09 09 09 65 6c 73 65 | 0d 09 09 09 7b 09 53 61 |....else|....{.Sa|
|0000b960| 76 65 50 72 65 66 65 72 | 65 6e 63 65 28 26 73 74 |vePrefer|ence(&st|
|0000b970| 79 6c 65 2c 20 73 69 7a | 65 6f 66 28 73 74 79 6c |yle, siz|eof(styl|
|0000b980| 65 29 2c 20 73 74 79 6c | 65 52 65 73 54 79 70 65 |e), styl|eResType|
|0000b990| 2c 20 30 2c 20 6e 61 6d | 65 29 3b 0d 09 09 09 09 |, 0, nam|e);.....|
|0000b9a0| 55 70 64 61 74 65 53 74 | 79 6c 65 4d 65 6e 75 73 |UpdateSt|yleMenus|
|0000b9b0| 28 29 3b 0d 09 09 09 7d | 0d 09 09 7d 09 09 0d 09 |();....}|...}....|
|0000b9c0| 7d 77 68 69 6c 65 20 28 | 69 74 65 6d 48 69 74 20 |}while (|itemHit |
|0000b9d0| 21 3d 20 6f 6b 20 26 26 | 20 69 74 65 6d 48 69 74 |!= ok &&| itemHit|
|0000b9e0| 20 21 3d 20 63 61 6e 63 | 65 6c 29 3b 0d 09 4d 79 | != canc|el);..My|
|0000b9f0| 44 69 73 70 6f 73 65 44 | 69 61 6c 6f 67 28 64 6c |DisposeD|ialog(dl|
|0000ba00| 67 29 3b 0d 7d 0d 0d 23 | 70 72 61 67 6d 61 20 6d |g);.}..#|pragma m|
|0000ba10| 61 72 6b 20 2d 0d 0d 65 | 6e 75 6d 20 7b 0d 09 09 |ark -..e|num {...|
|0000ba20| 2f 2f 20 74 68 65 20 76 | 61 72 69 6f 75 73 20 70 |// the v|arious p|
|0000ba30| 61 6e 65 6c 73 3a 0d 09 | 09 72 61 6e 67 65 54 69 |anels:..|.rangeTi|
|0000ba40| 63 6b 73 50 61 6e 65 6c | 20 3d 20 31 2c 0d 09 09 |cksPanel| = 1,...|
|0000ba50| 6f 72 69 67 69 6e 4c 65 | 6e 67 74 68 50 61 6e 65 |originLe|ngthPane|
|0000ba60| 6c 2c 0d 09 09 74 69 63 | 6b 4c 61 62 65 6c 73 50 |l,...tic|kLabelsP|
|0000ba70| 61 6e 65 6c 2c 0d 09 09 | 6e 61 6d 65 73 50 61 6e |anel,...|namesPan|
|0000ba80| 65 6c 2c 0d 0d 09 09 2f | 2f 20 74 68 65 20 72 65 |el,..../|/ the re|
|0000ba90| 67 75 6c 61 72 20 69 74 | 65 6d 73 3a 0d 09 09 61 |gular it|ems:...a|
|0000baa0| 78 69 73 50 6f 70 75 70 | 49 74 20 3d 20 33 2c 0d |xisPopup|It = 3,.|
|0000bab0| 09 09 70 72 65 76 69 65 | 77 49 74 2c 0d 09 09 76 |..previe|wIt,...v|
|0000bac0| 69 73 69 62 6c 65 49 74 | 20 3d 20 35 2c 0d 09 09 |isibleIt| = 5,...|
|0000bad0| 73 65 6c 65 63 74 6f 72 | 49 74 20 3d 20 36 2c 09 |selector|It = 6,.|
|0000bae0| 09 09 09 09 09 2f 2f 20 | 74 68 65 20 70 61 6e 65 |.....// |the pane|
|0000baf0| 6c 20 73 65 6c 65 63 74 | 6f 72 0d 09 09 6e 72 52 |l select|or...nrR|
|0000bb00| 65 67 75 6c 61 72 49 74 | 65 6d 73 20 3d 20 36 2c |egularIt|ems = 6,|
|0000bb10| 0d 09 09 0d 09 09 2f 2f | 20 69 74 65 6d 73 20 6f |......//| items o|
|0000bb20| 66 20 6e 61 6d 65 73 2d | 70 61 6e 65 6c 3a 0d 09 |f names-|panel:..|
|0000bb30| 09 61 78 69 73 4e 61 6d | 65 49 74 20 3d 20 6e 72 |.axisNam|eIt = nr|
|0000bb40| 52 65 67 75 6c 61 72 49 | 74 65 6d 73 2b 32 2c 0d |RegularI|tems+2,.|
|0000bb50| 09 09 78 52 6f 74 49 74 | 20 3d 20 6e 72 52 65 67 |..xRotIt| = nrReg|
|0000bb60| 75 6c 61 72 49 74 65 6d | 73 2b 38 2c 0d 09 09 79 |ularItem|s+8,...y|
|0000bb70| 52 6f 74 49 74 2c 0d 09 | 09 7a 52 6f 74 49 74 2c |RotIt,..|.zRotIt,|
|0000bb80| 0d 09 09 78 50 6f 73 49 | 74 20 3d 20 6e 72 52 65 |...xPosI|t = nrRe|
|0000bb90| 67 75 6c 61 72 49 74 65 | 6d 73 2b 31 31 2c 0d 09 |gularIte|ms+11,..|
|0000bba0| 09 79 50 6f 73 49 74 2c | 0d 09 09 7a 50 6f 73 49 |.yPosIt,|...zPosI|
|0000bbb0| 74 2c 0d 09 09 6e 61 6d | 65 53 69 7a 65 49 74 20 |t,...nam|eSizeIt |
|0000bbc0| 3d 20 6e 72 52 65 67 75 | 6c 61 72 49 74 65 6d 73 |= nrRegu|larItems|
|0000bbd0| 2b 31 35 2c 0d 09 09 61 | 6c 69 67 6e 6d 65 6e 74 |+15,...a|lignment|
|0000bbe0| 49 74 20 3d 20 6e 72 52 | 65 67 75 6c 61 72 49 74 |It = nrR|egularIt|
|0000bbf0| 65 6d 73 2b 31 36 2c 0d | 09 09 6d 69 6e 49 74 20 |ems+16,.|..minIt |
|0000bc00| 3d 20 6e 72 52 65 67 75 | 6c 61 72 49 74 65 6d 73 |= nrRegu|larItems|
|0000bc10| 2b 31 30 2c 0d 09 09 6d | 61 78 49 74 20 3d 20 6e |+10,...m|axIt = n|
|0000bc20| 72 52 65 67 75 6c 61 72 | 49 74 65 6d 73 2b 31 32 |rRegular|Items+12|
|0000bc30| 2c 0d 09 09 0d 09 09 2f | 2f 20 69 74 65 6d 73 20 |,....../|/ items |
|0000bc40| 6f 66 20 72 61 6e 67 65 | 20 61 6e 64 20 74 69 63 |of range| and tic|
|0000bc50| 6b 73 20 70 61 6e 65 6c | 0d 09 09 72 61 6e 67 65 |ks panel|...range|
|0000bc60| 54 69 74 6c 65 49 74 20 | 3d 20 6e 72 52 65 67 75 |TitleIt |= nrRegu|
|0000bc70| 6c 61 72 49 74 65 6d 73 | 2b 31 2c 0d 09 09 66 69 |larItems|+1,...fi|
|0000bc80| 72 73 74 4d 61 6a 6f 72 | 49 74 20 3d 20 6e 72 52 |rstMajor|It = nrR|
|0000bc90| 65 67 75 6c 61 72 49 74 | 65 6d 73 2b 35 2c 0d 09 |egularIt|ems+5,..|
|0000bca0| 09 64 69 73 74 61 6e 63 | 65 49 74 2c 0d 09 09 6e |.distanc|eIt,...n|
|0000bcb0| 75 6d 62 65 72 4d 69 6e | 6f 72 73 49 74 2c 0d 09 |umberMin|orsIt,..|
|0000bcc0| 09 73 68 6f 77 54 69 63 | 6b 73 49 74 20 3d 20 6e |.showTic|ksIt = n|
|0000bcd0| 72 52 65 67 75 6c 61 72 | 49 74 65 6d 73 2b 38 2c |rRegular|Items+8,|
|0000bce0| 0d 09 09 73 68 6f 77 4c | 61 62 65 6c 73 49 74 2c |...showL|abelsIt,|
|0000bcf0| 0d 09 09 74 69 63 6b 73 | 54 69 74 6c 65 49 74 20 |...ticks|TitleIt |
|0000bd00| 3d 20 6e 72 52 65 67 75 | 6c 61 72 49 74 65 6d 73 |= nrRegu|larItems|
|0000bd10| 2b 31 33 2c 0d 0d 09 09 | 2f 2f 20 69 74 65 6d 73 |+13,....|// items|
|0000bd20| 20 6f 66 20 74 69 63 6b | 20 6c 61 62 65 6c 73 20 | of tick| labels |
|0000bd30| 70 61 6e 65 6c 0d 09 09 | 64 69 67 69 74 73 49 74 |panel...|digitsIt|
|0000bd40| 20 3d 20 6e 72 52 65 67 | 75 6c 61 72 49 74 65 6d | = nrReg|ularItem|
|0000bd50| 73 2b 32 2c 0d 09 09 6c | 61 62 65 6c 73 41 6c 69 |s+2,...l|abelsAli|
|0000bd60| 67 6e 49 74 20 3d 20 6e | 72 52 65 67 75 6c 61 72 |gnIt = n|rRegular|
|0000bd70| 49 74 65 6d 73 2b 31 36 | 2c 0d 09 09 6c 61 62 58 |Items+16|,...labX|
|0000bd80| 52 6f 74 49 74 20 3d 20 | 6e 72 52 65 67 75 6c 61 |RotIt = |nrRegula|
|0000bd90| 72 49 74 65 6d 73 2b 38 | 2c 0d 09 09 6c 61 62 59 |rItems+8|,...labY|
|0000bda0| 52 6f 74 49 74 2c 0d 09 | 09 6c 61 62 5a 52 6f 74 |RotIt,..|.labZRot|
|0000bdb0| 49 74 2c 0d 09 09 6c 61 | 62 58 50 6f 73 49 74 20 |It,...la|bXPosIt |
|0000bdc0| 3d 20 6e 72 52 65 67 75 | 6c 61 72 49 74 65 6d 73 |= nrRegu|larItems|
|0000bdd0| 2b 31 31 2c 0d 09 09 6c | 61 62 59 50 6f 73 49 74 |+11,...l|abYPosIt|
|0000bde0| 2c 0d 09 09 6c 61 62 5a | 50 6f 73 49 74 2c 0d 09 |,...labZ|PosIt,..|
|0000bdf0| 09 6c 61 62 53 69 7a 65 | 49 74 20 3d 20 6e 72 52 |.labSize|It = nrR|
|0000be00| 65 67 75 6c 61 72 49 74 | 65 6d 73 2b 31 35 2c 0d |egularIt|ems+15,.|
|0000be10| 09 09 6c 61 62 56 69 73 | 69 62 6c 65 49 74 20 3d |..labVis|ibleIt =|
|0000be20| 20 6e 72 52 65 67 75 6c | 61 72 49 74 65 6d 73 2b | nrRegul|arItems+|
|0000be30| 31 37 2c 0d 0d 09 09 2f | 2f 20 69 74 65 6d 73 20 |17,..../|/ items |
|0000be40| 6f 66 20 6f 72 69 67 69 | 6e 20 61 6e 64 20 73 69 |of origi|n and si|
|0000be50| 7a 65 20 70 61 6e 65 6c | 0d 09 09 78 4f 72 69 67 |ze panel|...xOrig|
|0000be60| 69 6e 49 74 20 3d 20 6e | 72 52 65 67 75 6c 61 72 |inIt = n|rRegular|
|0000be70| 49 74 65 6d 73 2b 39 2c | 0d 09 09 79 4f 72 69 67 |Items+9,|...yOrig|
|0000be80| 69 6e 49 74 2c 0d 09 09 | 7a 4f 72 69 67 69 6e 49 |inIt,...|zOriginI|
|0000be90| 74 2c 0d 09 09 78 4c 65 | 6e 67 74 68 49 74 20 3d |t,...xLe|ngthIt =|
|0000bea0| 20 6e 72 52 65 67 75 6c | 61 72 49 74 65 6d 73 2b | nrRegul|arItems+|
|0000beb0| 36 2c 0d 09 09 79 4c 65 | 6e 67 74 68 49 74 2c 0d |6,...yLe|ngthIt,.|
|0000bec0| 09 09 7a 4c 65 6e 67 74 | 68 49 74 0d 09 7d 3b 0d |..zLengt|hIt..};.|
|0000bed0| 0d 0d 2f 2f 20 61 20 6c | 6f 6f 6b 75 70 20 74 61 |..// a l|ookup ta|
|0000bee0| 62 6c 65 20 74 6f 20 63 | 6f 6e 76 65 72 74 20 74 |ble to c|onvert t|
|0000bef0| 68 65 20 76 61 6c 75 65 | 20 6f 66 20 74 68 65 20 |he value| of the |
|0000bf00| 70 6f 70 75 70 20 69 6e | 74 6f 20 74 68 65 20 69 |popup in|to the i|
|0000bf10| 6e 64 65 78 20 6f 66 20 | 74 68 65 20 61 78 69 73 |ndex of |the axis|
|0000bf20| 0d 73 74 61 74 69 63 20 | 63 6f 6e 73 74 20 63 68 |.static |const ch|
|0000bf30| 61 72 20 70 6f 70 75 70 | 54 6f 41 78 69 73 49 6e |ar popup|ToAxisIn|
|0000bf40| 64 65 78 5b 5d 20 3d 20 | 7b 30 2c 30 2c 31 2c 32 |dex[] = |{0,0,1,2|
|0000bf50| 2c 33 2c 34 2c 30 2c 35 | 2c 36 2c 37 2c 38 2c 39 |,3,4,0,5|,6,7,8,9|
|0000bf60| 2c 30 2c 31 30 2c 31 31 | 2c 31 32 2c 31 33 2c 20 |,0,10,11|,12,13, |
|0000bf70| 31 34 7d 3b 0d 0d 73 74 | 61 74 69 63 20 50 33 56 |14};..st|atic P3V|
|0000bf80| 69 65 77 65 72 44 61 74 | 61 2a 09 70 72 65 76 69 |iewerDat|a*.previ|
|0000bf90| 65 77 65 72 3d 4e 55 4c | 4c 3b 0d 73 74 61 74 69 |ewer=NUL|L;.stati|
|0000bfa0| 63 20 47 72 61 66 33 44 | 49 6e 66 6f 2a 09 09 6e |c Graf3D|Info*..n|
|0000bfb0| 65 77 47 72 61 66 33 44 | 49 6e 66 6f 3d 6e 69 6c |ewGraf3D|Info=nil|
|0000bfc0| 3b 09 09 2f 2f 20 74 68 | 65 20 63 6f 70 79 20 77 |;..// th|e copy w|
|0000bfd0| 65 20 77 6f 72 6b 20 6f | 6e 20 28 75 73 65 20 63 |e work o|n (use c|
|0000bfe0| 6f 70 79 20 66 6f 72 20 | 63 61 6e 63 65 6c 6c 69 |opy for |cancelli|
|0000bff0| 6e 67 29 0d 73 74 61 74 | 69 63 20 54 51 33 47 72 |ng).stat|ic TQ3Gr|
|0000c000| 6f 75 70 4f 62 6a 65 63 | 74 09 70 72 65 76 69 65 |oupObjec|t.previe|
|0000c010| 77 3b 0d 73 74 61 74 69 | 63 20 73 68 6f 72 74 09 |w;.stati|c short.|
|0000c020| 09 09 73 65 6c 65 63 74 | 6f 72 50 6f 70 75 70 56 |..select|orPopupV|
|0000c030| 61 6c 75 65 20 3d 20 72 | 61 6e 67 65 54 69 63 6b |alue = r|angeTick|
|0000c040| 73 50 61 6e 65 6c 3b 09 | 2f 2f 20 64 65 66 61 75 |sPanel;.|// defau|
|0000c050| 6c 74 20 76 61 6c 75 65 | 20 66 6f 72 20 73 65 6c |lt value| for sel|
|0000c060| 65 63 74 6f 72 20 70 6f | 70 75 70 0d 0d 73 74 61 |ector po|pup..sta|
|0000c070| 74 69 63 20 70 61 73 63 | 61 6c 20 76 6f 69 64 20 |tic pasc|al void |
|0000c080| 55 73 65 72 49 74 65 6d | 28 57 69 6e 64 6f 77 50 |UserItem|(WindowP|
|0000c090| 74 72 20 77 69 6e 64 6f | 77 2c 20 73 68 6f 72 74 |tr windo|w, short|
|0000c0a0| 20 69 74 65 6d 29 0d 7b | 0d 09 52 65 63 74 09 72 | item).{|..Rect.r|
|0000c0b0| 3b 0d 09 73 68 6f 72 74 | 09 69 3b 0d 09 48 61 6e |;..short|.i;..Han|
|0000c0c0| 64 6c 65 09 64 75 6d 6d | 79 48 61 6e 64 6c 65 3b |dle.dumm|yHandle;|
|0000c0d0| 0d 0d 09 47 65 74 44 69 | 61 6c 6f 67 49 74 65 6d |...GetDi|alogItem|
|0000c0e0| 28 77 69 6e 64 6f 77 2c | 20 70 72 65 76 69 65 77 |(window,| preview|
|0000c0f0| 49 74 2c 20 26 69 2c 20 | 26 64 75 6d 6d 79 48 61 |It, &i, |&dummyHa|
|0000c100| 6e 64 6c 65 2c 20 26 72 | 29 3b 0d 09 49 6e 73 65 |ndle, &r|);..Inse|
|0000c110| 74 52 65 63 74 28 26 72 | 2c 20 2d 31 2c 20 2d 31 |tRect(&r|, -1, -1|
|0000c120| 29 3b 0d 09 46 72 61 6d | 65 52 65 63 74 28 26 72 |);..Fram|eRect(&r|
|0000c130| 29 3b 0d 09 69 66 20 28 | 70 72 65 76 69 65 77 65 |);..if (|previewe|
|0000c140| 72 29 20 50 33 56 69 65 | 77 65 72 44 72 61 77 28 |r) P3Vie|werDraw(|
|0000c150| 70 72 65 76 69 65 77 65 | 72 29 3b 0d 7d 0d 0d 73 |previewe|r);.}..s|
|0000c160| 74 61 74 69 63 20 76 6f | 69 64 20 4d 61 6b 65 50 |tatic vo|id MakeP|
|0000c170| 72 65 76 69 65 77 28 44 | 69 61 6c 6f 67 44 61 74 |review(D|ialogDat|
|0000c180| 61 2a 20 64 6c 67 2c 20 | 73 68 6f 72 74 20 68 69 |a* dlg, |short hi|
|0000c190| 6c 69 74 65 41 78 69 73 | 29 0d 09 2f 2f 20 6d 61 |liteAxis|)..// ma|
|0000c1a0| 6b 65 73 20 74 68 65 20 | 70 72 65 76 69 65 77 20 |kes the |preview |
|0000c1b0| 6d 6f 64 65 6c 0d 7b 0d | 09 54 51 33 47 72 6f 75 |model.{.|.TQ3Grou|
|0000c1c0| 70 4f 62 6a 65 63 74 20 | 6c 69 6e 65 73 20 3d 20 |pObject |lines = |
|0000c1d0| 51 33 4f 72 64 65 72 65 | 64 44 69 73 70 6c 61 79 |Q3Ordere|dDisplay|
|0000c1e0| 47 72 6f 75 70 5f 4e 65 | 77 28 29 3b 0d 09 54 51 |Group_Ne|w();..TQ|
|0000c1f0| 33 47 72 6f 75 70 4f 62 | 6a 65 63 74 20 6c 61 62 |3GroupOb|ject lab|
|0000c200| 65 6c 73 20 3d 20 51 33 | 4f 72 64 65 72 65 64 44 |els = Q3|OrderedD|
|0000c210| 69 73 70 6c 61 79 47 72 | 6f 75 70 5f 4e 65 77 28 |isplayGr|oup_New(|
|0000c220| 29 3b 0d 0d 09 69 66 20 | 28 6c 69 6e 65 73 20 3d |);...if |(lines =|
|0000c230| 3d 20 6e 69 6c 20 7c 7c | 20 6c 61 62 65 6c 73 20 |= nil ||| labels |
|0000c240| 3d 3d 20 6e 69 6c 29 20 | 67 6f 74 6f 20 64 6f 6e |== nil) |goto don|
|0000c250| 65 3b 0d 0d 09 4d 61 6b | 65 41 78 65 73 41 6e 64 |e;...Mak|eAxesAnd|
|0000c260| 4c 61 62 65 6c 73 44 65 | 65 70 28 6c 69 6e 65 73 |LabelsDe|ep(lines|
|0000c270| 2c 20 6e 69 6c 2c 20 6c | 61 62 65 6c 73 2c 20 6e |, nil, l|abels, n|
|0000c280| 65 77 47 72 61 66 33 44 | 49 6e 66 6f 2c 20 68 69 |ewGraf3D|Info, hi|
|0000c290| 6c 69 74 65 41 78 69 73 | 29 3b 09 09 0d 09 51 33 |liteAxis|);....Q3|
|0000c2a0| 47 72 6f 75 70 5f 45 6d | 70 74 79 4f 62 6a 65 63 |Group_Em|ptyObjec|
|0000c2b0| 74 73 28 70 72 65 76 69 | 65 77 29 3b 09 09 09 09 |ts(previ|ew);....|
|0000c2c0| 09 2f 2f 20 72 65 6d 6f | 76 65 20 65 76 65 72 79 |.// remo|ve every|
|0000c2d0| 74 68 69 6e 67 20 74 68 | 61 74 20 69 74 20 63 6f |thing th|at it co|
|0000c2e0| 6e 74 61 69 6e 65 64 0d | 09 51 33 47 72 6f 75 70 |ntained.|.Q3Group|
|0000c2f0| 5f 41 64 64 4f 62 6a 65 | 63 74 28 70 72 65 76 69 |_AddObje|ct(previ|
|0000c300| 65 77 2c 6c 69 6e 65 73 | 29 3b 0d 09 51 33 47 72 |ew,lines|);..Q3Gr|
|0000c310| 6f 75 70 5f 41 64 64 4f | 62 6a 65 63 74 28 70 72 |oup_AddO|bject(pr|
|0000c320| 65 76 69 65 77 2c 6c 61 | 62 65 6c 73 29 3b 0d 64 |eview,la|bels);.d|
|0000c330| 6f 6e 65 3a 0d 09 51 33 | 4f 62 6a 65 63 74 5f 44 |one:..Q3|Object_D|
|0000c340| 69 73 70 6f 73 65 49 66 | 4e 6f 74 4e 69 6c 28 6c |isposeIf|NotNil(l|
|0000c350| 69 6e 65 73 29 3b 0d 09 | 51 33 4f 62 6a 65 63 74 |ines);..|Q3Object|
|0000c360| 5f 44 69 73 70 6f 73 65 | 49 66 4e 6f 74 4e 69 6c |_Dispose|IfNotNil|
|0000c370| 28 6c 61 62 65 6c 73 29 | 3b 0d 7d 0d 0d 0d 73 74 |(labels)|;.}...st|
|0000c380| 61 74 69 63 20 76 6f 69 | 64 20 53 65 74 75 70 49 |atic voi|d SetupI|
|0000c390| 74 65 6d 73 28 44 69 61 | 6c 6f 67 44 61 74 61 2a |tems(Dia|logData*|
|0000c3a0| 20 64 6c 67 29 0d 09 2f | 2f 20 68 69 6c 69 74 65 | dlg)../|/ hilite|
|0000c3b0| 73 20 74 68 65 20 69 74 | 65 6d 20 77 65 20 61 72 |s the it|em we ar|
|0000c3c0| 65 20 70 72 65 73 65 6e | 74 6c 79 20 65 64 69 74 |e presen|tly edit|
|0000c3d0| 69 6e 67 2c 20 73 65 74 | 73 20 75 70 20 69 74 65 |ing, set|s up ite|
|0000c3e0| 6d 73 0d 7b 0d 09 73 68 | 6f 72 74 09 09 09 65 64 |ms.{..sh|ort...ed|
|0000c3f0| 69 74 65 64 41 78 69 73 | 20 3d 20 70 6f 70 75 70 |itedAxis| = popup|
|0000c400| 54 6f 41 78 69 73 49 6e | 64 65 78 5b 4d 79 47 65 |ToAxisIn|dex[MyGe|
|0000c410| 74 49 74 65 6d 56 61 6c | 75 65 28 64 6c 67 2c 20 |tItemVal|ue(dlg, |
|0000c420| 61 78 69 73 50 6f 70 75 | 70 49 74 29 5d 3b 0d 09 |axisPopu|pIt)];..|
|0000c430| 73 68 6f 72 74 09 09 09 | 78 5f 79 5f 7a 20 3d 20 |short...|x_y_z = |
|0000c440| 65 64 69 74 65 64 41 78 | 69 73 2f 35 3b 0d 09 41 |editedAx|is/5;..A|
|0000c450| 78 69 73 44 65 73 63 72 | 2a 09 09 61 78 69 73 44 |xisDescr|*..axisD|
|0000c460| 65 73 63 72 20 3d 20 26 | 6e 65 77 47 72 61 66 33 |escr = &|newGraf3|
|0000c470| 44 49 6e 66 6f 2d 3e 61 | 78 69 73 44 65 73 63 72 |DInfo->a|xisDescr|
|0000c480| 5b 65 64 69 74 65 64 41 | 78 69 73 5d 3b 0d 09 53 |[editedA|xis];..S|
|0000c490| 63 61 6c 69 6e 67 44 65 | 73 63 72 2a 09 73 63 61 |calingDe|scr*.sca|
|0000c4a0| 6c 69 6e 67 44 65 73 63 | 72 20 3d 20 26 6e 65 77 |lingDesc|r = &new|
|0000c4b0| 47 72 61 66 33 44 49 6e | 66 6f 2d 3e 73 63 61 6c |Graf3DIn|fo->scal|
|0000c4c0| 69 6e 67 44 65 73 63 72 | 5b 78 5f 79 5f 7a 5d 3b |ingDescr|[x_y_z];|
|0000c4d0| 0d 09 73 74 61 74 69 63 | 20 63 6f 6e 73 74 20 75 |..static| const u|
|0000c4e0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 20 61 78 69 |nsigned |char axi|
|0000c4f0| 73 4e 61 6d 65 73 5b 5d | 5b 32 5d 20 3d 20 7b 22 |sNames[]|[2] = {"|
|0000c500| 5c 70 58 22 2c 22 5c 70 | 59 22 2c 22 5c 70 5a 22 |\pX","\p|Y","\pZ"|
|0000c510| 7d 3b 0d 0d 09 4d 61 6b | 65 50 72 65 76 69 65 77 |};...Mak|ePreview|
|0000c520| 28 64 6c 67 2c 20 65 64 | 69 74 65 64 41 78 69 73 |(dlg, ed|itedAxis|
|0000c530| 29 3b 0d 0d 09 4d 79 53 | 65 74 49 74 65 6d 56 61 |);...MyS|etItemVa|
|0000c540| 6c 75 65 28 64 6c 67 2c | 20 76 69 73 69 62 6c 65 |lue(dlg,| visible|
|0000c550| 49 74 2c 20 61 78 69 73 | 44 65 73 63 72 2d 3e 76 |It, axis|Descr->v|
|0000c560| 69 73 69 62 6c 65 29 3b | 0d 09 73 77 69 74 63 68 |isible);|..switch|
|0000c570| 28 73 65 6c 65 63 74 6f | 72 50 6f 70 75 70 56 61 |(selecto|rPopupVa|
|0000c580| 6c 75 65 29 0d 09 7b 0d | 09 63 61 73 65 20 6e 61 |lue)..{.|.case na|
|0000c590| 6d 65 73 50 61 6e 65 6c | 3a 0d 09 09 7b 0d 09 09 |mesPanel|:...{...|
|0000c5a0| 09 4d 79 53 65 74 45 78 | 74 65 6e 64 65 64 49 74 |.MySetEx|tendedIt|
|0000c5b0| 65 6d 28 64 6c 67 2c 20 | 6e 61 6d 65 53 69 7a 65 |em(dlg, |nameSize|
|0000c5c0| 49 74 2c 20 6e 65 77 47 | 72 61 66 33 44 49 6e 66 |It, newG|raf3DInf|
|0000c5d0| 6f 2d 3e 6e 61 6d 65 53 | 69 7a 65 29 3b 0d 09 09 |o->nameS|ize);...|
|0000c5e0| 09 4d 79 53 65 74 49 74 | 65 6d 54 65 78 74 28 64 |.MySetIt|emText(d|
|0000c5f0| 6c 67 2c 20 61 78 69 73 | 4e 61 6d 65 49 74 2c 20 |lg, axis|NameIt, |
|0000c600| 61 78 69 73 44 65 73 63 | 72 2d 3e 6e 61 6d 65 29 |axisDesc|r->name)|
|0000c610| 3b 0d 09 09 09 4d 79 53 | 65 74 45 78 74 65 6e 64 |;....MyS|etExtend|
|0000c620| 65 64 49 74 65 6d 28 64 | 6c 67 2c 20 78 50 6f 73 |edItem(d|lg, xPos|
|0000c630| 49 74 2c 20 61 78 69 73 | 44 65 73 63 72 2d 3e 78 |It, axis|Descr->x|
|0000c640| 50 6f 73 29 3b 0d 09 09 | 09 4d 79 53 65 74 45 78 |Pos);...|.MySetEx|
|0000c650| 74 65 6e 64 65 64 49 74 | 65 6d 28 64 6c 67 2c 20 |tendedIt|em(dlg, |
|0000c660| 79 50 6f 73 49 74 2c 20 | 61 78 69 73 44 65 73 63 |yPosIt, |axisDesc|
|0000c670| 72 2d 3e 79 50 6f 73 29 | 3b 0d 09 09 09 4d 79 53 |r->yPos)|;....MyS|
|0000c680| 65 74 45 78 74 65 6e 64 | 65 64 49 74 65 6d 28 64 |etExtend|edItem(d|
|0000c690| 6c 67 2c 20 7a 50 6f 73 | 49 74 2c 20 61 78 69 73 |lg, zPos|It, axis|
|0000c6a0| 44 65 73 63 72 2d 3e 7a | 50 6f 73 29 3b 0d 09 09 |Descr->z|Pos);...|
|0000c6b0| 09 4d 79 53 65 74 4c 6f | 6e 67 49 74 65 6d 28 64 |.MySetLo|ngItem(d|
|0000c6c0| 6c 67 2c 20 78 52 6f 74 | 49 74 2c 20 72 69 6e 74 |lg, xRot|It, rint|
|0000c6d0| 28 44 45 47 28 61 78 69 | 73 44 65 73 63 72 2d 3e |(DEG(axi|sDescr->|
|0000c6e0| 78 52 6f 74 29 29 29 3b | 0d 09 09 09 4d 79 53 65 |xRot)));|....MySe|
|0000c6f0| 74 4c 6f 6e 67 49 74 65 | 6d 28 64 6c 67 2c 20 79 |tLongIte|m(dlg, y|
|0000c700| 52 6f 74 49 74 2c 20 72 | 69 6e 74 28 44 45 47 28 |RotIt, r|int(DEG(|
|0000c710| 61 78 69 73 44 65 73 63 | 72 2d 3e 79 52 6f 74 29 |axisDesc|r->yRot)|
|0000c720| 29 29 3b 0d 09 09 09 4d | 79 53 65 74 4c 6f 6e 67 |));....M|ySetLong|
|0000c730| 49 74 65 6d 28 64 6c 67 | 2c 20 7a 52 6f 74 49 74 |Item(dlg|, zRotIt|
|0000c740| 2c 20 72 69 6e 74 28 44 | 45 47 28 61 78 69 73 44 |, rint(D|EG(axisD|
|0000c750| 65 73 63 72 2d 3e 7a 52 | 6f 74 29 29 29 3b 0d 09 |escr->zR|ot)));..|
|0000c760| 09 09 4d 79 53 65 6c 65 | 63 74 49 74 65 6d 54 65 |..MySele|ctItemTe|
|0000c770| 78 74 28 64 6c 67 2c 20 | 61 78 69 73 4e 61 6d 65 |xt(dlg, |axisName|
|0000c780| 49 74 2c 20 30 2c 20 30 | 78 37 46 46 46 29 3b 0d |It, 0, 0|x7FFF);.|
|0000c790| 09 09 09 4d 79 53 65 74 | 49 74 65 6d 56 61 6c 75 |...MySet|ItemValu|
|0000c7a0| 65 28 64 6c 67 2c 20 61 | 6c 69 67 6e 6d 65 6e 74 |e(dlg, a|lignment|
|0000c7b0| 49 74 2c 20 61 78 69 73 | 44 65 73 63 72 2d 3e 6e |It, axis|Descr->n|
|0000c7c0| 61 6d 65 41 6c 69 67 6e | 20 2b 20 32 29 3b 0d 09 |ameAlign| + 2);..|
|0000c7d0| 09 09 62 72 65 61 6b 3b | 0d 09 09 7d 0d 09 63 61 |..break;|...}..ca|
|0000c7e0| 73 65 20 72 61 6e 67 65 | 54 69 63 6b 73 50 61 6e |se range|TicksPan|
|0000c7f0| 65 6c 3a 0d 09 09 7b 0d | 09 09 09 4d 79 53 65 74 |el:...{.|...MySet|
|0000c800| 45 78 74 65 6e 64 65 64 | 49 74 65 6d 28 64 6c 67 |Extended|Item(dlg|
|0000c810| 2c 20 66 69 72 73 74 4d | 61 6a 6f 72 49 74 2c 20 |, firstM|ajorIt, |
|0000c820| 73 63 61 6c 69 6e 67 44 | 65 73 63 72 2d 3e 66 69 |scalingD|escr->fi|
|0000c830| 72 73 74 4d 61 6a 6f 72 | 29 3b 0d 09 09 09 4d 79 |rstMajor|);....My|
|0000c840| 53 65 74 45 78 74 65 6e | 64 65 64 49 74 65 6d 28 |SetExten|dedItem(|
|0000c850| 64 6c 67 2c 20 64 69 73 | 74 61 6e 63 65 49 74 2c |dlg, dis|tanceIt,|
|0000c860| 20 73 63 61 6c 69 6e 67 | 44 65 73 63 72 2d 3e 64 | scaling|Descr->d|
|0000c870| 69 73 74 4d 61 6a 6f 72 | 29 3b 0d 09 09 09 4d 79 |istMajor|);....My|
|0000c880| 53 65 74 4c 6f 6e 67 49 | 74 65 6d 28 64 6c 67 2c |SetLongI|tem(dlg,|
|0000c890| 20 6e 75 6d 62 65 72 4d | 69 6e 6f 72 73 49 74 2c | numberM|inorsIt,|
|0000c8a0| 20 73 63 61 6c 69 6e 67 | 44 65 73 63 72 2d 3e 6e | scaling|Descr->n|
|0000c8b0| 72 4d 69 6e 6f 72 29 3b | 0d 09 09 09 4d 79 53 65 |rMinor);|....MySe|
|0000c8c0| 74 49 74 65 6d 56 61 6c | 75 65 28 64 6c 67 2c 20 |tItemVal|ue(dlg, |
|0000c8d0| 73 68 6f 77 54 69 63 6b | 73 49 74 2c 20 61 78 69 |showTick|sIt, axi|
|0000c8e0| 73 44 65 73 63 72 2d 3e | 73 68 6f 77 54 69 63 6b |sDescr->|showTick|
|0000c8f0| 73 29 3b 0d 09 09 09 4d | 79 53 65 74 49 74 65 6d |s);....M|ySetItem|
|0000c900| 56 61 6c 75 65 28 64 6c | 67 2c 20 73 68 6f 77 4c |Value(dl|g, showL|
|0000c910| 61 62 65 6c 73 49 74 2c | 20 61 78 69 73 44 65 73 |abelsIt,| axisDes|
|0000c920| 63 72 2d 3e 73 68 6f 77 | 4c 61 62 65 6c 73 29 3b |cr->show|Labels);|
|0000c930| 0d 09 09 09 4d 79 53 65 | 74 45 78 74 65 6e 64 65 |....MySe|tExtende|
|0000c940| 64 49 74 65 6d 28 64 6c | 67 2c 20 6d 69 6e 49 74 |dItem(dl|g, minIt|
|0000c950| 2c 20 73 63 61 6c 69 6e | 67 44 65 73 63 72 2d 3e |, scalin|gDescr->|
|0000c960| 6d 69 6e 29 3b 0d 09 09 | 09 4d 79 53 65 74 45 78 |min);...|.MySetEx|
|0000c970| 74 65 6e 64 65 64 49 74 | 65 6d 28 64 6c 67 2c 20 |tendedIt|em(dlg, |
|0000c980| 6d 61 78 49 74 2c 20 73 | 63 61 6c 69 6e 67 44 65 |maxIt, s|calingDe|
|0000c990| 73 63 72 2d 3e 6d 61 78 | 29 3b 0d 09 09 09 50 61 |scr->max|);....Pa|
|0000c9a0| 72 61 6d 54 65 78 74 28 | 61 78 69 73 4e 61 6d 65 |ramText(|axisName|
|0000c9b0| 73 5b 78 5f 79 5f 7a 5d | 2c 22 5c 70 22 2c 20 22 |s[x_y_z]|,"\p", "|
|0000c9c0| 5c 70 22 2c 20 22 5c 70 | 22 29 3b 0d 09 09 09 4d |\p", "\p|");....M|
|0000c9d0| 79 49 6e 76 61 6c 69 64 | 61 74 65 49 74 65 6d 28 |yInvalid|ateItem(|
|0000c9e0| 64 6c 67 2c 20 74 69 63 | 6b 73 54 69 74 6c 65 49 |dlg, tic|ksTitleI|
|0000c9f0| 74 29 3b 09 09 09 2f 2f | 20 66 6f 72 63 65 20 75 |t);...//| force u|
|0000ca00| 70 64 61 74 65 20 6f 6e | 20 74 68 65 20 69 74 65 |pdate on| the ite|
|0000ca10| 6d 73 20 77 65 20 63 68 | 61 6e 67 65 64 20 74 68 |ms we ch|anged th|
|0000ca20| 65 20 74 65 78 74 20 6f | 66 0d 09 09 09 4d 79 49 |e text o|f....MyI|
|0000ca30| 6e 76 61 6c 69 64 61 74 | 65 49 74 65 6d 28 64 6c |nvalidat|eItem(dl|
|0000ca40| 67 2c 20 72 61 6e 67 65 | 54 69 74 6c 65 49 74 29 |g, range|TitleIt)|
|0000ca50| 3b 0d 09 09 09 4d 79 53 | 65 6c 65 63 74 49 74 65 |;....MyS|electIte|
|0000ca60| 6d 54 65 78 74 28 64 6c | 67 2c 20 6d 69 6e 49 74 |mText(dl|g, minIt|
|0000ca70| 2c 20 30 2c 20 30 78 37 | 46 46 46 29 3b 0d 09 09 |, 0, 0x7|FFF);...|
|0000ca80| 09 62 72 65 61 6b 3b 0d | 09 09 7d 0d 09 63 61 73 |.break;.|..}..cas|
|0000ca90| 65 20 74 69 63 6b 4c 61 | 62 65 6c 73 50 61 6e 65 |e tickLa|belsPane|
|0000caa0| 6c 3a 0d 09 09 7b 0d 09 | 09 09 64 6f 75 62 6c 65 |l:...{..|..double|
|0000cab0| 09 78 50 6f 73 3d 30 2c | 20 79 50 6f 73 3d 30 2c |.xPos=0,| yPos=0,|
|0000cac0| 20 7a 50 6f 73 3d 30 3b | 0d 09 09 09 69 6e 74 09 | zPos=0;|....int.|
|0000cad0| 09 69 3b 0d 09 09 09 0d | 09 09 09 69 66 20 28 78 |.i;.....|...if (x|
|0000cae0| 5f 79 5f 7a 20 3d 3d 20 | 30 29 20 7b 79 50 6f 73 |_y_z == |0) {yPos|
|0000caf0| 20 3d 20 61 78 69 73 44 | 65 73 63 72 2d 3e 6c 61 | = axisD|escr->la|
|0000cb00| 62 4f 66 66 31 3b 20 7a | 50 6f 73 20 3d 20 61 78 |bOff1; z|Pos = ax|
|0000cb10| 69 73 44 65 73 63 72 2d | 3e 6c 61 62 4f 66 66 32 |isDescr-|>labOff2|
|0000cb20| 3b 7d 0d 09 09 09 65 6c | 73 65 20 69 66 20 28 78 |;}....el|se if (x|
|0000cb30| 5f 79 5f 7a 20 3d 3d 20 | 30 29 20 7b 78 50 6f 73 |_y_z == |0) {xPos|
|0000cb40| 20 3d 20 61 78 69 73 44 | 65 73 63 72 2d 3e 6c 61 | = axisD|escr->la|
|0000cb50| 62 4f 66 66 31 3b 20 7a | 50 6f 73 20 3d 20 61 78 |bOff1; z|Pos = ax|
|0000cb60| 69 73 44 65 73 63 72 2d | 3e 6c 61 62 4f 66 66 32 |isDescr-|>labOff2|
|0000cb70| 3b 7d 0d 09 09 09 65 6c | 73 65 20 7b 78 50 6f 73 |;}....el|se {xPos|
|0000cb80| 20 3d 20 61 78 69 73 44 | 65 73 63 72 2d 3e 6c 61 | = axisD|escr->la|
|0000cb90| 62 4f 66 66 31 3b 20 79 | 50 6f 73 20 3d 20 61 78 |bOff1; y|Pos = ax|
|0000cba0| 69 73 44 65 73 63 72 2d | 3e 6c 61 62 4f 66 66 32 |isDescr-|>labOff2|
|0000cbb0| 3b 7d 0d 09 09 09 66 6f | 72 20 28 69 3d 30 3b 20 |;}....fo|r (i=0; |
|0000cbc0| 69 3c 33 3b 20 69 2b 2b | 29 0d 09 09 09 09 69 66 |i<3; i++|).....if|
|0000cbd0| 20 28 69 20 3d 3d 20 78 | 5f 79 5f 7a 29 20 4d 79 | (i == x|_y_z) My|
|0000cbe0| 48 69 64 65 49 74 65 6d | 28 64 6c 67 2c 20 6c 61 |HideItem|(dlg, la|
|0000cbf0| 62 58 50 6f 73 49 74 2b | 69 29 3b 0d 09 09 09 09 |bXPosIt+|i);.....|
|0000cc00| 65 6c 73 65 20 4d 79 53 | 68 6f 77 49 74 65 6d 28 |else MyS|howItem(|
|0000cc10| 64 6c 67 2c 20 6c 61 62 | 58 50 6f 73 49 74 2b 69 |dlg, lab|XPosIt+i|
|0000cc20| 29 3b 0d 09 09 09 4d 79 | 53 65 74 4c 6f 6e 67 49 |);....My|SetLongI|
|0000cc30| 74 65 6d 28 64 6c 67 2c | 20 64 69 67 69 74 73 49 |tem(dlg,| digitsI|
|0000cc40| 74 2c 20 73 63 61 6c 69 | 6e 67 44 65 73 63 72 2d |t, scali|ngDescr-|
|0000cc50| 3e 64 69 67 69 74 73 29 | 3b 0d 09 09 09 4d 79 53 |>digits)|;....MyS|
|0000cc60| 65 74 45 78 74 65 6e 64 | 65 64 49 74 65 6d 28 64 |etExtend|edItem(d|
|0000cc70| 6c 67 2c 20 6c 61 62 58 | 50 6f 73 49 74 2c 20 78 |lg, labX|PosIt, x|
|0000cc80| 50 6f 73 29 3b 0d 09 09 | 09 4d 79 53 65 74 45 78 |Pos);...|.MySetEx|
|0000cc90| 74 65 6e 64 65 64 49 74 | 65 6d 28 64 6c 67 2c 20 |tendedIt|em(dlg, |
|0000cca0| 6c 61 62 59 50 6f 73 49 | 74 2c 20 79 50 6f 73 29 |labYPosI|t, yPos)|
|0000ccb0| 3b 0d 09 09 09 4d 79 53 | 65 74 45 78 74 65 6e 64 |;....MyS|etExtend|
|0000ccc0| 65 64 49 74 65 6d 28 64 | 6c 67 2c 20 6c 61 62 5a |edItem(d|lg, labZ|
|0000ccd0| 50 6f 73 49 74 2c 20 7a | 50 6f 73 29 3b 0d 09 09 |PosIt, z|Pos);...|
|0000cce0| 09 4d 79 53 65 74 4c 6f | 6e 67 49 74 65 6d 28 64 |.MySetLo|ngItem(d|
|0000ccf0| 6c 67 2c 20 6c 61 62 58 | 52 6f 74 49 74 2c 20 72 |lg, labX|RotIt, r|
|0000cd00| 69 6e 74 28 44 45 47 28 | 61 78 69 73 44 65 73 63 |int(DEG(|axisDesc|
|0000cd10| 72 2d 3e 6c 61 62 58 52 | 6f 74 29 29 29 3b 0d 09 |r->labXR|ot)));..|
|0000cd20| 09 09 4d 79 53 65 74 4c | 6f 6e 67 49 74 65 6d 28 |..MySetL|ongItem(|
|0000cd30| 64 6c 67 2c 20 6c 61 62 | 59 52 6f 74 49 74 2c 20 |dlg, lab|YRotIt, |
|0000cd40| 72 69 6e 74 28 44 45 47 | 28 61 78 69 73 44 65 73 |rint(DEG|(axisDes|
|0000cd50| 63 72 2d 3e 6c 61 62 59 | 52 6f 74 29 29 29 3b 0d |cr->labY|Rot)));.|
|0000cd60| 09 09 09 4d 79 53 65 74 | 4c 6f 6e 67 49 74 65 6d |...MySet|LongItem|
|0000cd70| 28 64 6c 67 2c 20 6c 61 | 62 5a 52 6f 74 49 74 2c |(dlg, la|bZRotIt,|
|0000cd80| 20 72 69 6e 74 28 44 45 | 47 28 61 78 69 73 44 65 | rint(DE|G(axisDe|
|0000cd90| 73 63 72 2d 3e 6c 61 62 | 5a 52 6f 74 29 29 29 3b |scr->lab|ZRot)));|
|0000cda0| 0d 09 09 09 4d 79 53 65 | 74 45 78 74 65 6e 64 65 |....MySe|tExtende|
|0000cdb0| 64 49 74 65 6d 28 64 6c | 67 2c 20 6c 61 62 53 69 |dItem(dl|g, labSi|
|0000cdc0| 7a 65 49 74 2c 20 6e 65 | 77 47 72 61 66 33 44 49 |zeIt, ne|wGraf3DI|
|0000cdd0| 6e 66 6f 2d 3e 6c 61 62 | 65 6c 53 69 7a 65 29 3b |nfo->lab|elSize);|
|0000cde0| 0d 09 09 09 4d 79 53 65 | 74 49 74 65 6d 56 61 6c |....MySe|tItemVal|
|0000cdf0| 75 65 28 64 6c 67 2c 20 | 6c 61 62 65 6c 73 41 6c |ue(dlg, |labelsAl|
|0000ce00| 69 67 6e 49 74 2c 20 61 | 78 69 73 44 65 73 63 72 |ignIt, a|xisDescr|
|0000ce10| 2d 3e 6c 61 62 41 6c 69 | 67 6e 20 2b 20 32 29 3b |->labAli|gn + 2);|
|0000ce20| 0d 09 09 09 4d 79 53 65 | 6c 65 63 74 49 74 65 6d |....MySe|lectItem|
|0000ce30| 54 65 78 74 28 64 6c 67 | 2c 20 64 69 67 69 74 73 |Text(dlg|, digits|
|0000ce40| 49 74 2c 20 30 2c 20 30 | 78 37 46 46 46 29 3b 0d |It, 0, 0|x7FFF);.|
|0000ce50| 09 09 09 4d 79 53 65 74 | 49 74 65 6d 56 61 6c 75 |...MySet|ItemValu|
|0000ce60| 65 28 64 6c 67 2c 20 6c | 61 62 56 69 73 69 62 6c |e(dlg, l|abVisibl|
|0000ce70| 65 49 74 2c 20 61 78 69 | 73 44 65 73 63 72 2d 3e |eIt, axi|sDescr->|
|0000ce80| 73 68 6f 77 4c 61 62 65 | 6c 73 29 3b 0d 09 09 09 |showLabe|ls);....|
|0000ce90| 62 72 65 61 6b 3b 0d 09 | 09 7d 0d 09 63 61 73 65 |break;..|.}..case|
|0000cea0| 20 6f 72 69 67 69 6e 4c | 65 6e 67 74 68 50 61 6e | originL|engthPan|
|0000ceb0| 65 6c 3a 0d 09 09 7b 0d | 09 09 09 4d 79 53 65 74 |el:...{.|...MySet|
|0000cec0| 45 78 74 65 6e 64 65 64 | 49 74 65 6d 28 64 6c 67 |Extended|Item(dlg|
|0000ced0| 2c 20 78 4f 72 69 67 69 | 6e 49 74 2c 20 6e 65 77 |, xOrigi|nIt, new|
|0000cee0| 47 72 61 66 33 44 49 6e | 66 6f 2d 3e 73 63 61 6c |Graf3DIn|fo->scal|
|0000cef0| 69 6e 67 44 65 73 63 72 | 5b 30 5d 2e 6f 72 69 67 |ingDescr|[0].orig|
|0000cf00| 69 6e 29 3b 0d 09 09 09 | 4d 79 53 65 74 45 78 74 |in);....|MySetExt|
|0000cf10| 65 6e 64 65 64 49 74 65 | 6d 28 64 6c 67 2c 20 79 |endedIte|m(dlg, y|
|0000cf20| 4f 72 69 67 69 6e 49 74 | 2c 20 6e 65 77 47 72 61 |OriginIt|, newGra|
|0000cf30| 66 33 44 49 6e 66 6f 2d | 3e 73 63 61 6c 69 6e 67 |f3DInfo-|>scaling|
|0000cf40| 44 65 73 63 72 5b 31 5d | 2e 6f 72 69 67 69 6e 29 |Descr[1]|.origin)|
|0000cf50| 3b 0d 09 09 09 4d 79 53 | 65 74 45 78 74 65 6e 64 |;....MyS|etExtend|
|0000cf60| 65 64 49 74 65 6d 28 64 | 6c 67 2c 20 7a 4f 72 69 |edItem(d|lg, zOri|
|0000cf70| 67 69 6e 49 74 2c 20 6e | 65 77 47 72 61 66 33 44 |ginIt, n|ewGraf3D|
|0000cf80| 49 6e 66 6f 2d 3e 73 63 | 61 6c 69 6e 67 44 65 73 |Info->sc|alingDes|
|0000cf90| 63 72 5b 32 5d 2e 6f 72 | 69 67 69 6e 29 3b 0d 09 |cr[2].or|igin);..|
|0000cfa0| 09 09 4d 79 53 65 74 4c | 6f 6e 67 49 74 65 6d 28 |..MySetL|ongItem(|
|0000cfb0| 64 6c 67 2c 20 78 4c 65 | 6e 67 74 68 49 74 2c 20 |dlg, xLe|ngthIt, |
|0000cfc0| 6e 65 77 47 72 61 66 33 | 44 49 6e 66 6f 2d 3e 73 |newGraf3|DInfo->s|
|0000cfd0| 63 61 6c 69 6e 67 44 65 | 73 63 72 5b 30 5d 2e 6c |calingDe|scr[0].l|
|0000cfe0| 65 6e 67 74 68 29 3b 0d | 09 09 09 4d 79 53 65 74 |ength);.|...MySet|
|0000cff0| 4c 6f 6e 67 49 74 65 6d | 28 64 6c 67 2c 20 79 4c |LongItem|(dlg, yL|
|0000d000| 65 6e 67 74 68 49 74 2c | 20 6e 65 77 47 72 61 66 |engthIt,| newGraf|
|0000d010| 33 44 49 6e 66 6f 2d 3e | 73 63 61 6c 69 6e 67 44 |3DInfo->|scalingD|
|0000d020| 65 73 63 72 5b 31 5d 2e | 6c 65 6e 67 74 68 29 3b |escr[1].|length);|
|0000d030| 0d 09 09 09 4d 79 53 65 | 74 4c 6f 6e 67 49 74 65 |....MySe|tLongIte|
|0000d040| 6d 28 64 6c 67 2c 20 7a | 4c 65 6e 67 74 68 49 74 |m(dlg, z|LengthIt|
|0000d050| 2c 20 6e 65 77 47 72 61 | 66 33 44 49 6e 66 6f 2d |, newGra|f3DInfo-|
|0000d060| 3e 73 63 61 6c 69 6e 67 | 44 65 73 63 72 5b 32 5d |>scaling|Descr[2]|
|0000d070| 2e 6c 65 6e 67 74 68 29 | 3b 0d 09 09 09 4d 79 53 |.length)|;....MyS|
|0000d080| 65 6c 65 63 74 49 74 65 | 6d 54 65 78 74 28 64 6c |electIte|mText(dl|
|0000d090| 67 2c 20 78 4f 72 69 67 | 69 6e 49 74 2c 20 30 2c |g, xOrig|inIt, 0,|
|0000d0a0| 20 30 78 37 46 46 46 29 | 3b 0d 09 09 09 62 72 65 | 0x7FFF)|;....bre|
|0000d0b0| 61 6b 3b 0d 09 09 7d 0d | 09 7d 2f 2f 73 77 69 74 |ak;...}.|.}//swit|
|0000d0c0| 63 68 0d 7d 0d 0d 73 74 | 61 74 69 63 20 42 6f 6f |ch.}..st|atic Boo|
|0000d0d0| 6c 65 61 6e 20 47 65 74 | 41 6e 67 6c 65 28 44 69 |lean Get|Angle(Di|
|0000d0e0| 61 6c 6f 67 44 61 74 61 | 2a 20 64 6c 67 2c 20 73 |alogData|* dlg, s|
|0000d0f0| 68 6f 72 74 20 69 74 65 | 6d 2c 20 66 6c 6f 61 74 |hort ite|m, float|
|0000d100| 2a 20 63 6f 6e 73 74 20 | 61 6e 67 6c 65 29 0d 7b |* const |angle).{|
|0000d110| 0d 09 6c 6f 6e 67 20 69 | 3b 0d 0d 09 69 66 20 28 |..long i|;...if (|
|0000d120| 21 4d 79 47 65 74 4c 6f | 6e 67 49 74 65 6d 28 64 |!MyGetLo|ngItem(d|
|0000d130| 6c 67 2c 20 69 74 65 6d | 2c 20 26 69 29 29 20 72 |lg, item|, &i)) r|
|0000d140| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 09 69 66 |eturn fa|lse;..if|
|0000d150| 20 28 69 20 3c 3d 20 2d | 33 36 30 29 20 69 20 3d | (i <= -|360) i =|
|0000d160| 20 30 3b 0d 09 65 6c 73 | 65 20 69 66 20 28 69 20 | 0;..els|e if (i |
|0000d170| 3c 20 30 29 20 69 20 2b | 3d 20 33 36 30 3b 0d 09 |< 0) i +|= 360;..|
|0000d180| 65 6c 73 65 20 69 66 20 | 28 69 20 3e 20 33 36 30 |else if |(i > 360|
|0000d190| 29 20 69 20 3d 20 33 36 | 30 3b 0d 09 2a 61 6e 67 |) i = 36|0;..*ang|
|0000d1a0| 6c 65 20 3d 20 52 41 44 | 28 69 29 3b 0d 09 72 65 |le = RAD|(i);..re|
|0000d1b0| 74 75 72 6e 20 74 72 75 | 65 3b 0d 7d 0d 0d 73 74 |turn tru|e;.}..st|
|0000d1c0| 61 74 69 63 20 42 6f 6f | 6c 65 61 6e 20 47 65 74 |atic Boo|lean Get|
|0000d1d0| 4d 69 6e 4d 61 78 28 44 | 69 61 6c 6f 67 44 61 74 |MinMax(D|ialogDat|
|0000d1e0| 61 2a 20 64 6c 67 2c 20 | 73 68 6f 72 74 20 69 74 |a* dlg, |short it|
|0000d1f0| 65 6d 2c 20 64 6f 75 62 | 6c 65 2a 20 63 6f 6e 73 |em, doub|le* cons|
|0000d200| 74 20 76 61 6c 29 0d 7b | 0d 09 64 6f 75 62 6c 65 |t val).{|..double|
|0000d210| 09 72 3b 0d 09 69 66 20 | 28 21 4d 79 47 65 74 45 |.r;..if |(!MyGetE|
|0000d220| 78 74 65 6e 64 65 64 49 | 74 65 6d 28 64 6c 67 2c |xtendedI|tem(dlg,|
|0000d230| 20 69 74 65 6d 2c 20 26 | 72 29 29 20 72 65 74 75 | item, &|r)) retu|
|0000d240| 72 6e 20 66 61 6c 73 65 | 3b 0d 09 69 66 20 28 72 |rn false|;..if (r|
|0000d250| 3c 2d 31 65 32 30 30 20 | 7c 7c 20 72 20 3e 20 31 |<-1e200 ||| r > 1|
|0000d260| 65 32 30 30 29 09 09 09 | 09 09 09 09 2f 2f 20 70 |e200)...|....// p|
|0000d270| 75 72 65 6c 79 20 61 72 | 62 69 74 72 61 72 79 20 |urely ar|bitrary |
|0000d280| 6c 69 6d 69 74 0d 09 7b | 09 4d 79 53 65 6c 65 63 |limit..{|.MySelec|
|0000d290| 74 49 74 65 6d 54 65 78 | 74 28 64 6c 67 2c 20 69 |tItemTex|t(dlg, i|
|0000d2a0| 74 65 6d 2c 20 30 2c 20 | 30 78 37 46 46 46 29 3b |tem, 0, |0x7FFF);|
|0000d2b0| 0d 09 09 53 79 73 42 65 | 65 70 28 33 30 29 3b 0d |...SysBe|ep(30);.|
|0000d2c0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|0000d2d0| 09 7d 0d 09 2a 76 61 6c | 20 3d 20 72 3b 0d 09 72 |.}..*val| = r;..r|
|0000d2e0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 7d 0d 0d 73 |eturn tr|ue;.}..s|
|0000d2f0| 74 61 74 69 63 20 42 6f | 6f 6c 65 61 6e 20 47 65 |tatic Bo|olean Ge|
|0000d300| 74 50 6f 73 69 74 69 6f | 6e 28 44 69 61 6c 6f 67 |tPositio|n(Dialog|
|0000d310| 44 61 74 61 2a 20 64 6c | 67 2c 20 73 68 6f 72 74 |Data* dl|g, short|
|0000d320| 20 69 74 65 6d 2c 20 66 | 6c 6f 61 74 2a 20 63 6f | item, f|loat* co|
|0000d330| 6e 73 74 20 70 6f 73 29 | 0d 7b 0d 09 64 6f 75 62 |nst pos)|.{..doub|
|0000d340| 6c 65 09 72 3b 0d 0d 09 | 69 66 20 28 21 4d 79 47 |le.r;...|if (!MyG|
|0000d350| 65 74 45 78 74 65 6e 64 | 65 64 49 74 65 6d 28 64 |etExtend|edItem(d|
|0000d360| 6c 67 2c 20 69 74 65 6d | 2c 20 26 72 29 29 20 72 |lg, item|, &r)) r|
|0000d370| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 09 69 66 |eturn fa|lse;..if|
|0000d380| 20 28 72 20 3c 20 2d 31 | 30 2e 30 29 20 72 20 3d | (r < -1|0.0) r =|
|0000d390| 20 2d 31 30 2e 30 3b 09 | 09 09 09 09 09 09 2f 2f | -10.0;.|......//|
|0000d3a0| 20 70 75 72 65 6c 79 20 | 61 72 62 69 74 72 61 72 | purely |arbitrar|
|0000d3b0| 79 20 6c 69 6d 69 74 73 | 0d 09 65 6c 73 65 20 69 |y limits|..else i|
|0000d3c0| 66 20 28 72 20 3e 20 31 | 30 2e 30 29 20 72 20 3d |f (r > 1|0.0) r =|
|0000d3d0| 20 31 30 2e 30 3b 0d 09 | 2a 70 6f 73 20 3d 20 72 | 10.0;..|*pos = r|
|0000d3e0| 3b 0d 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |;..retur|n true;.|
|0000d3f0| 7d 0d 0d 73 74 61 74 69 | 63 20 42 6f 6f 6c 65 61 |}..stati|c Boolea|
|0000d400| 6e 20 47 65 74 4f 72 69 | 67 69 6e 28 44 69 61 6c |n GetOri|gin(Dial|
|0000d410| 6f 67 44 61 74 61 2a 20 | 64 6c 67 2c 20 73 68 6f |ogData* |dlg, sho|
|0000d420| 72 74 20 77 68 69 63 68 | 2c 20 64 6f 75 62 6c 65 |rt which|, double|
|0000d430| 2a 20 63 6f 6e 73 74 20 | 76 61 6c 29 0d 09 2f 2f |* const |val)..//|
|0000d440| 20 77 68 69 63 68 3d 30 | 20 66 6f 72 20 78 2c 20 | which=0| for x, |
|0000d450| 31 20 66 6f 72 20 79 2c | 2e 2e 2e 0d 7b 0d 09 53 |1 for y,|....{..S|
|0000d460| 63 61 6c 69 6e 67 44 65 | 73 63 72 2a 09 64 65 73 |calingDe|scr*.des|
|0000d470| 63 72 20 3d 20 26 6e 65 | 77 47 72 61 66 33 44 49 |cr = &ne|wGraf3DI|
|0000d480| 6e 66 6f 2d 3e 73 63 61 | 6c 69 6e 67 44 65 73 63 |nfo->sca|lingDesc|
|0000d490| 72 5b 77 68 69 63 68 5d | 3b 0d 09 73 68 6f 72 74 |r[which]|;..short|
|0000d4a0| 09 09 09 69 74 65 6d 20 | 3d 20 78 4f 72 69 67 69 |...item |= xOrigi|
|0000d4b0| 6e 49 74 2b 77 68 69 63 | 68 3b 0d 0d 09 69 66 20 |nIt+whic|h;...if |
|0000d4c0| 28 21 47 65 74 4d 69 6e | 4d 61 78 28 64 6c 67 2c |(!GetMin|Max(dlg,|
|0000d4d0| 20 69 74 65 6d 2c 20 76 | 61 6c 29 29 20 72 65 74 | item, v|al)) ret|
|0000d4e0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 09 69 66 20 28 |urn fals|e;..if (|
|0000d4f0| 2a 76 61 6c 20 3c 20 64 | 65 73 63 72 2d 3e 6d 69 |*val < d|escr->mi|
|0000d500| 6e 29 20 2a 76 61 6c 20 | 3d 20 64 65 73 63 72 2d |n) *val |= descr-|
|0000d510| 3e 6d 69 6e 3b 0d 09 69 | 66 20 28 2a 76 61 6c 20 |>min;..i|f (*val |
|0000d520| 3e 20 64 65 73 63 72 2d | 3e 6d 61 78 29 20 2a 76 |> descr-|>max) *v|
|0000d530| 61 6c 20 3d 20 64 65 73 | 63 72 2d 3e 6d 61 78 3b |al = des|cr->max;|
|0000d540| 0d 09 72 65 74 75 72 6e | 20 74 72 75 65 3b 0d 7d |..return| true;.}|
|0000d550| 0d 0d 73 74 61 74 69 63 | 20 42 6f 6f 6c 65 61 6e |..static| Boolean|
|0000d560| 20 47 65 74 4c 65 6e 67 | 74 68 49 74 65 6d 28 44 | GetLeng|thItem(D|
|0000d570| 69 61 6c 6f 67 44 61 74 | 61 2a 20 64 6c 67 2c 20 |ialogDat|a* dlg, |
|0000d580| 73 68 6f 72 74 20 69 74 | 65 6d 2c 20 66 6c 6f 61 |short it|em, floa|
|0000d590| 74 2a 20 63 6f 6e 73 74 | 20 76 61 6c 29 0d 7b 0d |t* const| val).{.|
|0000d5a0| 09 6c 6f 6e 67 09 69 3b | 0d 0d 09 69 66 20 28 21 |.long.i;|...if (!|
|0000d5b0| 4d 79 47 65 74 4c 6f 6e | 67 49 74 65 6d 28 64 6c |MyGetLon|gItem(dl|
|0000d5c0| 67 2c 20 69 74 65 6d 2c | 20 26 69 29 29 20 72 65 |g, item,| &i)) re|
|0000d5d0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 09 69 66 20 |turn fal|se;..if |
|0000d5e0| 28 69 3c 31 30 29 20 69 | 20 3d 20 31 30 3b 0d 09 |(i<10) i| = 10;..|
|0000d5f0| 65 6c 73 65 20 69 66 20 | 28 69 3e 31 30 30 29 20 |else if |(i>100) |
|0000d600| 69 20 3d 20 31 30 30 3b | 0d 09 2a 76 61 6c 20 3d |i = 100;|..*val =|
|0000d610| 20 69 3b 0d 09 72 65 74 | 75 72 6e 20 74 72 75 65 | i;..ret|urn true|
|0000d620| 3b 0d 7d 09 0d 0d 73 74 | 61 74 69 63 20 42 6f 6f |;.}...st|atic Boo|
|0000d630| 6c 65 61 6e 20 52 65 61 | 64 49 74 65 6d 73 28 44 |lean Rea|dItems(D|
|0000d640| 69 61 6c 6f 67 44 61 74 | 61 2a 20 64 6c 67 2c 20 |ialogDat|a* dlg, |
|0000d650| 73 68 6f 72 74 20 69 6e | 64 65 78 29 0d 09 2f 2f |short in|dex)..//|
|0000d660| 20 72 65 61 64 73 20 74 | 68 65 20 69 74 65 6d 73 | reads t|he items|
|0000d670| 20 69 6e 74 6f 20 61 78 | 69 73 44 65 73 63 72 2c | into ax|isDescr,|
|0000d680| 20 64 6f 65 73 20 6e 6f | 74 68 69 6e 67 20 61 6e | does no|thing an|
|0000d690| 64 20 72 65 74 75 72 6e | 73 20 66 61 6c 73 65 20 |d return|s false |
|0000d6a0| 69 66 20 66 61 69 6c 75 | 72 65 0d 09 2f 2f 20 75 |if failu|re..// u|
|0000d6b0| 70 64 61 74 65 50 72 65 | 76 69 65 77 20 69 73 20 |pdatePre|view is |
|0000d6c0| 74 72 75 65 20 69 66 20 | 77 65 20 6d 75 73 74 20 |true if |we must |
|0000d6d0| 75 70 64 61 74 65 20 74 | 68 65 20 70 72 65 76 69 |update t|he previ|
|0000d6e0| 65 77 0d 7b 0d 09 73 68 | 6f 72 74 09 09 09 78 5f |ew.{..sh|ort...x_|
|0000d6f0| 79 5f 7a 20 3d 20 69 6e | 64 65 78 2f 35 3b 0d 09 |y_z = in|dex/5;..|
|0000d700| 41 78 69 73 44 65 73 63 | 72 2a 20 20 09 61 78 69 |AxisDesc|r* .axi|
|0000d710| 73 44 65 73 63 72 20 3d | 20 26 6e 65 77 47 72 61 |sDescr =| &newGra|
|0000d720| 66 33 44 49 6e 66 6f 2d | 3e 61 78 69 73 44 65 73 |f3DInfo-|>axisDes|
|0000d730| 63 72 5b 69 6e 64 65 78 | 5d 3b 0d 09 53 63 61 6c |cr[index|];..Scal|
|0000d740| 69 6e 67 44 65 73 63 72 | 2a 09 73 63 61 6c 69 6e |ingDescr|*.scalin|
|0000d750| 67 44 65 73 63 72 20 3d | 20 26 6e 65 77 47 72 61 |gDescr =| &newGra|
|0000d760| 66 33 44 49 6e 66 6f 2d | 3e 73 63 61 6c 69 6e 67 |f3DInfo-|>scaling|
|0000d770| 44 65 73 63 72 5b 78 5f | 79 5f 7a 5d 3b 0d 0d 09 |Descr[x_|y_z];...|
|0000d780| 73 77 69 74 63 68 28 73 | 65 6c 65 63 74 6f 72 50 |switch(s|electorP|
|0000d790| 6f 70 75 70 56 61 6c 75 | 65 29 0d 09 7b 0d 09 63 |opupValu|e)..{..c|
|0000d7a0| 61 73 65 20 6e 61 6d 65 | 73 50 61 6e 65 6c 3a 0d |ase name|sPanel:.|
|0000d7b0| 09 09 7b 0d 09 09 09 53 | 74 72 32 35 35 09 09 73 |..{....S|tr255..s|
|0000d7c0| 3b 0d 09 09 09 66 6c 6f | 61 74 09 09 6e 65 77 58 |;....flo|at..newX|
|0000d7d0| 50 6f 73 2c 20 6e 65 77 | 59 50 6f 73 2c 20 6e 65 |Pos, new|YPos, ne|
|0000d7e0| 77 5a 50 6f 73 3b 0d 09 | 09 09 66 6c 6f 61 74 09 |wZPos;..|..float.|
|0000d7f0| 09 6e 65 77 58 52 6f 74 | 2c 20 6e 65 77 59 52 6f |.newXRot|, newYRo|
|0000d800| 74 2c 20 6e 65 77 5a 52 | 6f 74 3b 0d 09 09 09 64 |t, newZR|ot;....d|
|0000d810| 6f 75 62 6c 65 09 09 6e | 65 77 53 69 7a 65 3b 0d |ouble..n|ewSize;.|
|0000d820| 0d 09 09 09 69 66 20 28 | 21 20 28 47 65 74 41 6e |....if (|! (GetAn|
|0000d830| 67 6c 65 28 64 6c 67 2c | 20 78 52 6f 74 49 74 2c |gle(dlg,| xRotIt,|
|0000d840| 20 26 6e 65 77 58 52 6f | 74 29 20 26 26 20 47 65 | &newXRo|t) && Ge|
|0000d850| 74 41 6e 67 6c 65 28 64 | 6c 67 2c 20 79 52 6f 74 |tAngle(d|lg, yRot|
|0000d860| 49 74 2c 20 26 6e 65 77 | 59 52 6f 74 29 20 26 26 |It, &new|YRot) &&|
|0000d870| 0d 09 09 09 09 20 20 20 | 47 65 74 41 6e 67 6c 65 |..... |GetAngle|
|0000d880| 28 64 6c 67 2c 20 7a 52 | 6f 74 49 74 2c 20 26 6e |(dlg, zR|otIt, &n|
|0000d890| 65 77 5a 52 6f 74 29 20 | 26 26 0d 09 09 09 09 20 |ewZRot) |&&..... |
|0000d8a0| 20 20 47 65 74 50 6f 73 | 69 74 69 6f 6e 28 64 6c | GetPos|ition(dl|
|0000d8b0| 67 2c 20 78 50 6f 73 49 | 74 2c 20 26 6e 65 77 58 |g, xPosI|t, &newX|
|0000d8c0| 50 6f 73 29 20 26 26 20 | 47 65 74 50 6f 73 69 74 |Pos) && |GetPosit|
|0000d8d0| 69 6f 6e 28 64 6c 67 2c | 20 79 50 6f 73 49 74 2c |ion(dlg,| yPosIt,|
|0000d8e0| 20 26 6e 65 77 59 50 6f | 73 29 20 26 26 0d 09 09 | &newYPo|s) &&...|
|0000d8f0| 09 09 20 20 20 47 65 74 | 50 6f 73 69 74 69 6f 6e |.. Get|Position|
|0000d900| 28 64 6c 67 2c 20 7a 50 | 6f 73 49 74 2c 20 26 6e |(dlg, zP|osIt, &n|
|0000d910| 65 77 5a 50 6f 73 29 20 | 26 26 0d 09 09 09 09 20 |ewZPos) |&&..... |
|0000d920| 20 20 4d 79 47 65 74 45 | 78 74 65 6e 64 65 64 49 | MyGetE|xtendedI|
|0000d930| 74 65 6d 28 64 6c 67 2c | 20 6e 61 6d 65 53 69 7a |tem(dlg,| nameSiz|
|0000d940| 65 49 74 2c 20 26 6e 65 | 77 53 69 7a 65 29 29 29 |eIt, &ne|wSize)))|
|0000d950| 0d 09 09 09 09 20 20 20 | 09 20 09 72 65 74 75 72 |..... |. .retur|
|0000d960| 6e 20 66 61 6c 73 65 3b | 0d 0d 09 09 09 61 78 69 |n false;|.....axi|
|0000d970| 73 44 65 73 63 72 2d 3e | 78 50 6f 73 20 3d 20 6e |sDescr->|xPos = n|
|0000d980| 65 77 58 50 6f 73 3b 0d | 09 09 09 61 78 69 73 44 |ewXPos;.|...axisD|
|0000d990| 65 73 63 72 2d 3e 79 50 | 6f 73 20 3d 20 6e 65 77 |escr->yP|os = new|
|0000d9a0| 59 50 6f 73 3b 0d 09 09 | 09 61 78 69 73 44 65 73 |YPos;...|.axisDes|
|0000d9b0| 63 72 2d 3e 7a 50 6f 73 | 20 3d 20 6e 65 77 5a 50 |cr->zPos| = newZP|
|0000d9c0| 6f 73 3b 0d 09 09 09 61 | 78 69 73 44 65 73 63 72 |os;....a|xisDescr|
|0000d9d0| 2d 3e 78 52 6f 74 20 3d | 20 6e 65 77 58 52 6f 74 |->xRot =| newXRot|
|0000d9e0| 3b 0d 09 09 09 61 78 69 | 73 44 65 73 63 72 2d 3e |;....axi|sDescr->|
|0000d9f0| 79 52 6f 74 20 3d 20 6e | 65 77 59 52 6f 74 3b 0d |yRot = n|ewYRot;.|
|0000da00| 09 09 09 61 78 69 73 44 | 65 73 63 72 2d 3e 7a 52 |...axisD|escr->zR|
|0000da10| 6f 74 20 3d 20 6e 65 77 | 5a 52 6f 74 3b 0d 09 09 |ot = new|ZRot;...|
|0000da20| 09 4d 79 47 65 74 49 74 | 65 6d 54 65 78 74 28 64 |.MyGetIt|emText(d|
|0000da30| 6c 67 2c 20 61 78 69 73 | 4e 61 6d 65 49 74 2c 20 |lg, axis|NameIt, |
|0000da40| 73 29 3b 0d 09 09 09 69 | 66 20 28 73 5b 30 5d 20 |s);....i|f (s[0] |
|0000da50| 3e 20 6d 61 78 4e 61 6d | 65 4c 65 6e 67 74 68 29 |> maxNam|eLength)|
|0000da60| 20 73 5b 30 5d 20 3d 20 | 6d 61 78 4e 61 6d 65 4c | s[0] = |maxNameL|
|0000da70| 65 6e 67 74 68 3b 0d 09 | 09 09 42 6c 6f 63 6b 4d |ength;..|..BlockM|
|0000da80| 6f 76 65 28 26 73 5b 30 | 5d 2c 20 61 78 69 73 44 |ove(&s[0|], axisD|
|0000da90| 65 73 63 72 2d 3e 6e 61 | 6d 65 2c 20 73 5b 30 5d |escr->na|me, s[0]|
|0000daa0| 2b 31 29 3b 0d 09 09 09 | 69 66 20 28 6e 65 77 53 |+1);....|if (newS|
|0000dab0| 69 7a 65 20 3e 20 31 29 | 20 6e 65 77 53 69 7a 65 |ize > 1)| newSize|
|0000dac0| 20 3d 20 31 3b 09 09 09 | 09 09 09 09 2f 2f 20 70 | = 1;...|....// p|
|0000dad0| 75 72 65 6c 79 20 61 72 | 62 69 74 72 61 72 79 20 |urely ar|bitrary |
|0000dae0| 6c 69 6d 69 74 73 0d 09 | 09 09 65 6c 73 65 20 69 |limits..|..else i|
|0000daf0| 66 20 28 6e 65 77 53 69 | 7a 65 20 3c 20 30 2e 30 |f (newSi|ze < 0.0|
|0000db00| 31 29 20 6e 65 77 53 69 | 7a 65 20 3d 20 30 2e 30 |1) newSi|ze = 0.0|
|0000db10| 31 3b 0d 09 09 09 6e 65 | 77 47 72 61 66 33 44 49 |1;....ne|wGraf3DI|
|0000db20| 6e 66 6f 2d 3e 6e 61 6d | 65 53 69 7a 65 20 3d 20 |nfo->nam|eSize = |
|0000db30| 6e 65 77 53 69 7a 65 3b | 0d 09 09 09 61 78 69 73 |newSize;|....axis|
|0000db40| 44 65 73 63 72 2d 3e 6e | 61 6d 65 41 6c 69 67 6e |Descr->n|ameAlign|
|0000db50| 20 3d 20 4d 79 47 65 74 | 49 74 65 6d 56 61 6c 75 | = MyGet|ItemValu|
|0000db60| 65 28 64 6c 67 2c 20 61 | 6c 69 67 6e 6d 65 6e 74 |e(dlg, a|lignment|
|0000db70| 49 74 29 20 2d 20 32 3b | 0d 09 09 09 62 72 65 61 |It) - 2;|....brea|
|0000db80| 6b 3b 0d 09 09 7d 0d 09 | 63 61 73 65 20 72 61 6e |k;...}..|case ran|
|0000db90| 67 65 54 69 63 6b 73 50 | 61 6e 65 6c 3a 0d 09 09 |geTicksP|anel:...|
|0000dba0| 7b 0d 09 09 09 64 6f 75 | 62 6c 65 09 66 69 72 73 |{....dou|ble.firs|
|0000dbb0| 74 2c 20 64 69 73 74 2c | 20 6d 69 6e 2c 20 6d 61 |t, dist,| min, ma|
|0000dbc0| 78 3b 0d 09 09 09 6c 6f | 6e 67 09 6e 72 4d 69 6e |x;....lo|ng.nrMin|
|0000dbd0| 6f 72 3b 0d 09 09 09 69 | 66 20 28 21 20 28 47 65 |or;....i|f (! (Ge|
|0000dbe0| 74 4d 69 6e 4d 61 78 28 | 64 6c 67 2c 20 6d 69 6e |tMinMax(|dlg, min|
|0000dbf0| 49 74 2c 20 26 6d 69 6e | 29 20 26 26 0d 09 09 09 |It, &min|) &&....|
|0000dc00| 09 20 20 20 47 65 74 4d | 69 6e 4d 61 78 28 64 6c |. GetM|inMax(dl|
|0000dc10| 67 2c 20 6d 61 78 49 74 | 2c 20 26 6d 61 78 29 20 |g, maxIt|, &max) |
|0000dc20| 26 26 0d 09 09 09 09 20 | 20 20 4d 79 47 65 74 45 |&&..... | MyGetE|
|0000dc30| 78 74 65 6e 64 65 64 49 | 74 65 6d 28 64 6c 67 2c |xtendedI|tem(dlg,|
|0000dc40| 20 66 69 72 73 74 4d 61 | 6a 6f 72 49 74 2c 20 26 | firstMa|jorIt, &|
|0000dc50| 66 69 72 73 74 29 20 26 | 26 0d 09 09 09 09 20 20 |first) &|&..... |
|0000dc60| 20 4d 79 47 65 74 45 78 | 74 65 6e 64 65 64 49 74 | MyGetEx|tendedIt|
|0000dc70| 65 6d 28 64 6c 67 2c 20 | 64 69 73 74 61 6e 63 65 |em(dlg, |distance|
|0000dc80| 49 74 2c 20 26 64 69 73 | 74 29 20 26 26 0d 09 09 |It, &dis|t) &&...|
|0000dc90| 09 09 20 20 20 4d 79 47 | 65 74 4c 6f 6e 67 49 74 |.. MyG|etLongIt|
|0000dca0| 65 6d 28 64 6c 67 2c 20 | 6e 75 6d 62 65 72 4d 69 |em(dlg, |numberMi|
|0000dcb0| 6e 6f 72 73 49 74 2c 20 | 26 6e 72 4d 69 6e 6f 72 |norsIt, |&nrMinor|
|0000dcc0| 29 29 29 0d 09 09 09 09 | 20 20 20 09 09 72 65 74 |))).....| ..ret|
|0000dcd0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0d 09 09 09 69 |urn fals|e;.....i|
|0000dce0| 66 20 28 6e 72 4d 69 6e | 6f 72 20 3c 20 30 29 20 |f (nrMin|or < 0) |
|0000dcf0| 6e 72 4d 69 6e 6f 72 20 | 3d 20 30 3b 0d 09 09 09 |nrMinor |= 0;....|
|0000dd00| 65 6c 73 65 20 69 66 20 | 28 6e 72 4d 69 6e 6f 72 |else if |(nrMinor|
|0000dd10| 20 3e 20 32 30 29 20 6e | 72 4d 69 6e 6f 72 20 3d | > 20) n|rMinor =|
|0000dd20| 20 32 30 3b 0d 0d 09 09 | 09 69 66 20 28 6d 69 6e | 20;....|.if (min|
|0000dd30| 20 3e 3d 20 30 2e 39 39 | 39 39 39 39 39 39 39 39 | >= 0.99|99999999|
|0000dd40| 2a 6d 61 78 20 7c 7c 20 | 6d 61 78 2d 6d 69 6e 20 |*max || |max-min |
|0000dd50| 3c 20 31 65 2d 31 30 30 | 29 0d 09 09 09 7b 09 4d |< 1e-100|)....{.M|
|0000dd60| 79 53 65 6c 65 63 74 49 | 74 65 6d 54 65 78 74 28 |ySelectI|temText(|
|0000dd70| 64 6c 67 2c 20 6d 69 6e | 49 74 2c 20 30 2c 20 30 |dlg, min|It, 0, 0|
|0000dd80| 78 37 46 46 46 29 3b 0d | 09 09 09 09 53 79 73 42 |x7FFF);.|....SysB|
|0000dd90| 65 65 70 28 33 30 29 3b | 0d 09 09 09 09 72 65 74 |eep(30);|.....ret|
|0000dda0| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 09 09 09 7d 0d |urn fals|e;....}.|
|0000ddb0| 09 09 09 73 63 61 6c 69 | 6e 67 44 65 73 63 72 2d |...scali|ngDescr-|
|0000ddc0| 3e 66 69 72 73 74 4d 61 | 6a 6f 72 20 3d 20 66 69 |>firstMa|jor = fi|
|0000ddd0| 72 73 74 3b 0d 09 09 09 | 73 63 61 6c 69 6e 67 44 |rst;....|scalingD|
|0000dde0| 65 73 63 72 2d 3e 64 69 | 73 74 4d 61 6a 6f 72 20 |escr->di|stMajor |
|0000ddf0| 3d 20 64 69 73 74 3b 0d | 09 09 09 73 63 61 6c 69 |= dist;.|...scali|
|0000de00| 6e 67 44 65 73 63 72 2d | 3e 6e 72 4d 69 6e 6f 72 |ngDescr-|>nrMinor|
|0000de10| 20 3d 20 6e 72 4d 69 6e | 6f 72 3b 0d 09 09 09 69 | = nrMin|or;....i|
|0000de20| 66 20 28 53 65 74 41 78 | 69 73 52 61 6e 67 65 28 |f (SetAx|isRange(|
|0000de30| 73 63 61 6c 69 6e 67 44 | 65 73 63 72 2c 20 6d 69 |scalingD|escr, mi|
|0000de40| 6e 2c 20 6d 61 78 29 29 | 09 09 09 09 09 2f 2f 20 |n, max))|.....// |
|0000de50| 74 68 69 73 20 6d 61 6b | 65 73 20 73 75 72 65 20 |this mak|es sure |
|0000de60| 74 68 61 74 20 66 69 72 | 73 74 2c 20 64 69 73 74 |that fir|st, dist|
|0000de70| 20 61 72 65 20 6f 6b 0d | 09 09 09 7b 09 4d 79 53 | are ok.|...{.MyS|
|0000de80| 65 74 45 78 74 65 6e 64 | 65 64 49 74 65 6d 28 64 |etExtend|edItem(d|
|0000de90| 6c 67 2c 20 66 69 72 73 | 74 4d 61 6a 6f 72 49 74 |lg, firs|tMajorIt|
|0000dea0| 2c 20 73 63 61 6c 69 6e | 67 44 65 73 63 72 2d 3e |, scalin|gDescr->|
|0000deb0| 66 69 72 73 74 4d 61 6a | 6f 72 29 3b 09 09 09 2f |firstMaj|or);.../|
|0000dec0| 2f 20 69 66 20 66 69 72 | 73 74 2f 69 64 73 74 20 |/ if fir|st/idst |
|0000ded0| 77 65 72 65 20 63 68 61 | 6e 67 65 64 0d 09 09 09 |were cha|nged....|
|0000dee0| 09 4d 79 53 65 74 45 78 | 74 65 6e 64 65 64 49 74 |.MySetEx|tendedIt|
|0000def0| 65 6d 28 64 6c 67 2c 20 | 64 69 73 74 61 6e 63 65 |em(dlg, |distance|
|0000df00| 49 74 2c 20 73 63 61 6c | 69 6e 67 44 65 73 63 72 |It, scal|ingDescr|
|0000df10| 2d 3e 64 69 73 74 4d 61 | 6a 6f 72 29 3b 0d 09 09 |->distMa|jor);...|
|0000df20| 09 7d 0d 0d 09 09 09 61 | 78 69 73 44 65 73 63 72 |.}.....a|xisDescr|
|0000df30| 2d 3e 73 68 6f 77 54 69 | 63 6b 73 20 3d 20 4d 79 |->showTi|cks = My|
|0000df40| 47 65 74 49 74 65 6d 56 | 61 6c 75 65 28 64 6c 67 |GetItemV|alue(dlg|
|0000df50| 2c 20 73 68 6f 77 54 69 | 63 6b 73 49 74 29 3b 0d |, showTi|cksIt);.|
|0000df60| 09 09 09 61 78 69 73 44 | 65 73 63 72 2d 3e 73 68 |...axisD|escr->sh|
|0000df70| 6f 77 4c 61 62 65 6c 73 | 20 3d 20 4d 79 47 65 74 |owLabels| = MyGet|
|0000df80| 49 74 65 6d 56 61 6c 75 | 65 28 64 6c 67 2c 20 73 |ItemValu|e(dlg, s|
|0000df90| 68 6f 77 4c 61 62 65 6c | 73 49 74 29 3b 0d 09 09 |howLabel|sIt);...|
|0000dfa0| 09 62 72 65 61 6b 3b 0d | 09 09 7d 0d 09 63 61 73 |.break;.|..}..cas|
|0000dfb0| 65 20 74 69 63 6b 4c 61 | 62 65 6c 73 50 61 6e 65 |e tickLa|belsPane|
|0000dfc0| 6c 3a 0d 09 09 7b 0d 09 | 09 09 66 6c 6f 61 74 09 |l:...{..|..float.|
|0000dfd0| 09 6e 65 77 58 50 6f 73 | 2c 20 6e 65 77 59 50 6f |.newXPos|, newYPo|
|0000dfe0| 73 2c 20 6e 65 77 5a 50 | 6f 73 3b 0d 09 09 09 66 |s, newZP|os;....f|
|0000dff0| 6c 6f 61 74 09 09 6e 65 | 77 58 52 6f 74 2c 20 6e |loat..ne|wXRot, n|
|0000e000| 65 77 59 52 6f 74 2c 20 | 6e 65 77 5a 52 6f 74 3b |ewYRot, |newZRot;|
|0000e010| 0d 09 09 09 64 6f 75 62 | 6c 65 09 09 6e 65 77 53 |....doub|le..newS|
|0000e020| 69 7a 65 3b 0d 09 09 09 | 42 6f 6f 6c 65 61 6e 09 |ize;....|Boolean.|
|0000e030| 09 6e 65 77 56 69 73 69 | 62 6c 65 3b 0d 09 09 09 |.newVisi|ble;....|
|0000e040| 6c 6f 6e 67 09 09 6e 65 | 77 44 69 67 69 74 73 3b |long..ne|wDigits;|
|0000e050| 0d 0d 09 09 09 69 66 20 | 28 21 20 28 47 65 74 41 |.....if |(! (GetA|
|0000e060| 6e 67 6c 65 28 64 6c 67 | 2c 20 6c 61 62 58 52 6f |ngle(dlg|, labXRo|
|0000e070| 74 49 74 2c 20 26 6e 65 | 77 58 52 6f 74 29 20 26 |tIt, &ne|wXRot) &|
|0000e080| 26 20 47 65 74 41 6e 67 | 6c 65 28 64 6c 67 2c 20 |& GetAng|le(dlg, |
|0000e090| 6c 61 62 59 52 6f 74 49 | 74 2c 20 26 6e 65 77 59 |labYRotI|t, &newY|
|0000e0a0| 52 6f 74 29 20 26 26 0d | 09 09 09 09 20 20 20 47 |Rot) &&.|.... G|
|0000e0b0| 65 74 41 6e 67 6c 65 28 | 64 6c 67 2c 20 6c 61 62 |etAngle(|dlg, lab|
|0000e0c0| 5a 52 6f 74 49 74 2c 20 | 26 6e 65 77 5a 52 6f 74 |ZRotIt, |&newZRot|
|0000e0d0| 29 20 26 26 0d 09 09 09 | 09 20 20 20 47 65 74 50 |) &&....|. GetP|
|0000e0e0| 6f 73 69 74 69 6f 6e 28 | 64 6c 67 2c 20 6c 61 62 |osition(|dlg, lab|
|0000e0f0| 58 50 6f 73 49 74 2c 20 | 26 6e 65 77 58 50 6f 73 |XPosIt, |&newXPos|
|0000e100| 29 20 26 26 20 47 65 74 | 50 6f 73 69 74 69 6f 6e |) && Get|Position|
|0000e110| 28 64 6c 67 2c 20 6c 61 | 62 59 50 6f 73 49 74 2c |(dlg, la|bYPosIt,|
|0000e120| 20 26 6e 65 77 59 50 6f | 73 29 20 26 26 0d 09 09 | &newYPo|s) &&...|
|0000e130| 09 09 20 20 20 47 65 74 | 50 6f 73 69 74 69 6f 6e |.. Get|Position|
|0000e140| 28 64 6c 67 2c 20 6c 61 | 62 5a 50 6f 73 49 74 2c |(dlg, la|bZPosIt,|
|0000e150| 20 26 6e 65 77 5a 50 6f | 73 29 20 26 26 0d 09 09 | &newZPo|s) &&...|
|0000e160| 09 09 20 20 20 4d 79 47 | 65 74 45 78 74 65 6e 64 |.. MyG|etExtend|
|0000e170| 65 64 49 74 65 6d 28 64 | 6c 67 2c 20 6c 61 62 53 |edItem(d|lg, labS|
|0000e180| 69 7a 65 49 74 2c 20 26 | 6e 65 77 53 69 7a 65 29 |izeIt, &|newSize)|
|0000e190| 20 26 26 0d 09 09 09 09 | 20 20 20 4d 79 47 65 74 | &&.....| MyGet|
|0000e1a0| 4c 6f 6e 67 49 74 65 6d | 28 64 6c 67 2c 20 64 69 |LongItem|(dlg, di|
|0000e1b0| 67 69 74 73 49 74 2c 20 | 26 6e 65 77 44 69 67 69 |gitsIt, |&newDigi|
|0000e1c0| 74 73 29 29 29 0d 09 09 | 09 09 20 20 20 09 20 09 |ts)))...|.. . .|
|0000e1d0| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 0d 09 |return f|alse;...|
|0000e1e0| 09 09 69 66 20 28 6e 65 | 77 44 69 67 69 74 73 20 |..if (ne|wDigits |
|0000e1f0| 3c 20 2d 31 36 29 20 6e | 65 77 44 69 67 69 74 73 |< -16) n|ewDigits|
|0000e200| 20 3d 20 2d 31 36 3b 0d | 09 09 09 65 6c 73 65 20 | = -16;.|...else |
|0000e210| 69 66 20 28 6e 65 77 44 | 69 67 69 74 73 20 3e 20 |if (newD|igits > |
|0000e220| 31 36 29 20 6e 65 77 44 | 69 67 69 74 73 20 3d 20 |16) newD|igits = |
|0000e230| 31 36 3b 0d 09 09 09 73 | 63 61 6c 69 6e 67 44 65 |16;....s|calingDe|
|0000e240| 73 63 72 2d 3e 64 69 67 | 69 74 73 20 3d 20 6e 65 |scr->dig|its = ne|
|0000e250| 77 44 69 67 69 74 73 3b | 0d 0d 09 09 09 69 66 20 |wDigits;|.....if |
|0000e260| 28 78 5f 79 5f 7a 20 3d | 3d 20 30 29 20 7b 61 78 |(x_y_z =|= 0) {ax|
|0000e270| 69 73 44 65 73 63 72 2d | 3e 6c 61 62 4f 66 66 31 |isDescr-|>labOff1|
|0000e280| 20 3d 20 6e 65 77 59 50 | 6f 73 3b 20 61 78 69 73 | = newYP|os; axis|
|0000e290| 44 65 73 63 72 2d 3e 6c | 61 62 4f 66 66 32 20 3d |Descr->l|abOff2 =|
|0000e2a0| 20 6e 65 77 5a 50 6f 73 | 3b 7d 0d 09 09 09 65 6c | newZPos|;}....el|
|0000e2b0| 73 65 20 69 66 20 28 78 | 5f 79 5f 7a 20 3d 3d 20 |se if (x|_y_z == |
|0000e2c0| 31 29 20 7b 61 78 69 73 | 44 65 73 63 72 2d 3e 6c |1) {axis|Descr->l|
|0000e2d0| 61 62 4f 66 66 31 20 3d | 20 6e 65 77 58 50 6f 73 |abOff1 =| newXPos|
|0000e2e0| 3b 20 61 78 69 73 44 65 | 73 63 72 2d 3e 6c 61 62 |; axisDe|scr->lab|
|0000e2f0| 4f 66 66 32 20 3d 20 6e | 65 77 5a 50 6f 73 3b 7d |Off2 = n|ewZPos;}|
|0000e300| 0d 09 09 09 65 6c 73 65 | 20 69 66 20 28 78 5f 79 |....else| if (x_y|
|0000e310| 5f 7a 20 3d 3d 20 32 29 | 20 7b 61 78 69 73 44 65 |_z == 2)| {axisDe|
|0000e320| 73 63 72 2d 3e 6c 61 62 | 4f 66 66 31 20 3d 20 6e |scr->lab|Off1 = n|
|0000e330| 65 77 58 50 6f 73 3b 20 | 61 78 69 73 44 65 73 63 |ewXPos; |axisDesc|
|0000e340| 72 2d 3e 6c 61 62 4f 66 | 66 32 20 3d 20 6e 65 77 |r->labOf|f2 = new|
|0000e350| 59 50 6f 73 3b 7d 0d 09 | 09 09 61 78 69 73 44 65 |YPos;}..|..axisDe|
|0000e360| 73 63 72 2d 3e 6c 61 62 | 58 52 6f 74 20 3d 20 6e |scr->lab|XRot = n|
|0000e370| 65 77 58 52 6f 74 3b 0d | 09 09 09 61 78 69 73 44 |ewXRot;.|...axisD|
|0000e380| 65 73 63 72 2d 3e 6c 61 | 62 59 52 6f 74 20 3d 20 |escr->la|bYRot = |
|0000e390| 6e 65 77 59 52 6f 74 3b | 0d 09 09 09 61 78 69 73 |newYRot;|....axis|
|0000e3a0| 44 65 73 63 72 2d 3e 6c | 61 62 5a 52 6f 74 20 3d |Descr->l|abZRot =|
|0000e3b0| 20 6e 65 77 5a 52 6f 74 | 3b 0d 09 09 09 69 66 20 | newZRot|;....if |
|0000e3c0| 28 6e 65 77 53 69 7a 65 | 20 3e 20 31 29 20 6e 65 |(newSize| > 1) ne|
|0000e3d0| 77 53 69 7a 65 20 3d 20 | 31 3b 09 09 09 09 09 09 |wSize = |1;......|
|0000e3e0| 09 2f 2f 20 70 75 72 65 | 6c 79 20 61 72 62 69 74 |.// pure|ly arbit|
|0000e3f0| 72 61 72 79 20 6c 69 6d | 69 74 73 0d 09 09 09 65 |rary lim|its....e|
|0000e400| 6c 73 65 20 69 66 20 28 | 6e 65 77 53 69 7a 65 20 |lse if (|newSize |
|0000e410| 3c 20 30 2e 30 31 29 20 | 6e 65 77 53 69 7a 65 20 |< 0.01) |newSize |
|0000e420| 3d 20 30 2e 30 31 3b 0d | 09 09 09 6e 65 77 47 72 |= 0.01;.|...newGr|
|0000e430| 61 66 33 44 49 6e 66 6f | 2d 3e 6c 61 62 65 6c 53 |af3DInfo|->labelS|
|0000e440| 69 7a 65 20 3d 20 6e 65 | 77 53 69 7a 65 3b 0d 09 |ize = ne|wSize;..|
|0000e450| 09 09 61 78 69 73 44 65 | 73 63 72 2d 3e 6c 61 62 |..axisDe|scr->lab|
|0000e460| 41 6c 69 67 6e 20 3d 20 | 4d 79 47 65 74 49 74 65 |Align = |MyGetIte|
|0000e470| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 6c 61 62 65 |mValue(d|lg, labe|
|0000e480| 6c 73 41 6c 69 67 6e 49 | 74 29 20 2d 20 32 3b 0d |lsAlignI|t) - 2;.|
|0000e490| 09 09 09 6e 65 77 56 69 | 73 69 62 6c 65 20 3d 20 |...newVi|sible = |
|0000e4a0| 4d 79 47 65 74 49 74 65 | 6d 56 61 6c 75 65 28 64 |MyGetIte|mValue(d|
|0000e4b0| 6c 67 2c 20 6c 61 62 56 | 69 73 69 62 6c 65 49 74 |lg, labV|isibleIt|
|0000e4c0| 29 3b 0d 09 09 09 69 66 | 20 28 6e 65 77 56 69 73 |);....if| (newVis|
|0000e4d0| 69 62 6c 65 20 21 3d 20 | 61 78 69 73 44 65 73 63 |ible != |axisDesc|
|0000e4e0| 72 2d 3e 73 68 6f 77 4c | 61 62 65 6c 73 29 09 09 |r->showL|abels)..|
|0000e4f0| 09 09 2f 2f 20 69 66 20 | 75 73 65 20 68 61 73 20 |..// if |use has |
|0000e500| 73 77 69 74 63 68 65 64 | 20 76 69 73 69 62 6c 65 |switched| visible|
|0000e510| 0d 09 09 09 09 61 78 69 | 73 44 65 73 63 72 2d 3e |.....axi|sDescr->|
|0000e520| 73 68 6f 77 54 69 63 6b | 73 20 3d 20 6e 65 77 56 |showTick|s = newV|
|0000e530| 69 73 69 62 6c 65 3b 09 | 09 09 09 09 2f 2f 20 74 |isible;.|....// t|
|0000e540| 68 65 6e 20 61 6c 73 6f | 20 73 77 69 74 63 68 20 |hen also| switch |
|0000e550| 22 73 68 6f 77 54 69 63 | 6b 73 22 0d 09 09 09 61 |"showTic|ks"....a|
|0000e560| 78 69 73 44 65 73 63 72 | 2d 3e 73 68 6f 77 4c 61 |xisDescr|->showLa|
|0000e570| 62 65 6c 73 20 3d 20 6e | 65 77 56 69 73 69 62 6c |bels = n|ewVisibl|
|0000e580| 65 3b 0d 09 09 09 0d 09 | 09 09 62 72 65 61 6b 3b |e;......|..break;|
|0000e590| 0d 09 09 7d 0d 09 63 61 | 73 65 20 6f 72 69 67 69 |...}..ca|se origi|
|0000e5a0| 6e 4c 65 6e 67 74 68 50 | 61 6e 65 6c 3a 0d 09 09 |nLengthP|anel:...|
|0000e5b0| 7b 0d 09 09 09 64 6f 75 | 62 6c 65 09 6e 65 77 58 |{....dou|ble.newX|
|0000e5c0| 4f 72 69 67 69 6e 2c 20 | 6e 65 77 59 4f 72 69 67 |Origin, |newYOrig|
|0000e5d0| 69 6e 2c 20 6e 65 77 5a | 4f 72 69 67 69 6e 3b 0d |in, newZ|Origin;.|
|0000e5e0| 09 09 09 66 6c 6f 61 74 | 09 6e 65 77 58 53 69 7a |...float|.newXSiz|
|0000e5f0| 65 2c 20 6e 65 77 59 53 | 69 7a 65 2c 20 6e 65 77 |e, newYS|ize, new|
|0000e600| 5a 53 69 7a 65 3b 0d 0d | 09 09 09 69 66 20 28 21 |ZSize;..|...if (!|
|0000e610| 28 09 47 65 74 4f 72 69 | 67 69 6e 28 64 6c 67 2c |(.GetOri|gin(dlg,|
|0000e620| 20 30 2c 20 26 6e 65 77 | 58 4f 72 69 67 69 6e 29 | 0, &new|XOrigin)|
|0000e630| 20 26 26 0d 09 09 09 09 | 09 47 65 74 4f 72 69 67 | &&.....|.GetOrig|
|0000e640| 69 6e 28 64 6c 67 2c 20 | 31 2c 20 26 6e 65 77 59 |in(dlg, |1, &newY|
|0000e650| 4f 72 69 67 69 6e 29 20 | 26 26 0d 09 09 09 09 09 |Origin) |&&......|
|0000e660| 47 65 74 4f 72 69 67 69 | 6e 28 64 6c 67 2c 20 32 |GetOrigi|n(dlg, 2|
|0000e670| 2c 20 26 6e 65 77 5a 4f | 72 69 67 69 6e 29 20 26 |, &newZO|rigin) &|
|0000e680| 26 0d 09 09 09 09 09 47 | 65 74 4c 65 6e 67 74 68 |&......G|etLength|
|0000e690| 49 74 65 6d 28 64 6c 67 | 2c 20 78 4c 65 6e 67 74 |Item(dlg|, xLengt|
|0000e6a0| 68 49 74 2c 20 26 6e 65 | 77 58 53 69 7a 65 29 20 |hIt, &ne|wXSize) |
|0000e6b0| 26 26 0d 09 09 09 09 09 | 47 65 74 4c 65 6e 67 74 |&&......|GetLengt|
|0000e6c0| 68 49 74 65 6d 28 64 6c | 67 2c 20 79 4c 65 6e 67 |hItem(dl|g, yLeng|
|0000e6d0| 74 68 49 74 2c 20 26 6e | 65 77 59 53 69 7a 65 29 |thIt, &n|ewYSize)|
|0000e6e0| 20 26 26 0d 09 09 09 09 | 09 47 65 74 4c 65 6e 67 | &&.....|.GetLeng|
|0000e6f0| 74 68 49 74 65 6d 28 64 | 6c 67 2c 20 7a 4c 65 6e |thItem(d|lg, zLen|
|0000e700| 67 74 68 49 74 2c 20 26 | 6e 65 77 5a 53 69 7a 65 |gthIt, &|newZSize|
|0000e710| 29 29 29 0d 09 09 09 09 | 09 09 72 65 74 75 72 6e |))).....|..return|
|0000e720| 20 66 61 6c 73 65 3b 0d | 09 09 09 0d 09 09 09 6e | false;.|.......n|
|0000e730| 65 77 47 72 61 66 33 44 | 49 6e 66 6f 2d 3e 73 63 |ewGraf3D|Info->sc|
|0000e740| 61 6c 69 6e 67 44 65 73 | 63 72 5b 30 5d 2e 6f 72 |alingDes|cr[0].or|
|0000e750| 69 67 69 6e 20 3d 20 6e | 65 77 58 4f 72 69 67 69 |igin = n|ewXOrigi|
|0000e760| 6e 3b 0d 09 09 09 6e 65 | 77 47 72 61 66 33 44 49 |n;....ne|wGraf3DI|
|0000e770| 6e 66 6f 2d 3e 73 63 61 | 6c 69 6e 67 44 65 73 63 |nfo->sca|lingDesc|
|0000e780| 72 5b 31 5d 2e 6f 72 69 | 67 69 6e 20 3d 20 6e 65 |r[1].ori|gin = ne|
|0000e790| 77 59 4f 72 69 67 69 6e | 3b 0d 09 09 09 6e 65 77 |wYOrigin|;....new|
|0000e7a0| 47 72 61 66 33 44 49 6e | 66 6f 2d 3e 73 63 61 6c |Graf3DIn|fo->scal|
|0000e7b0| 69 6e 67 44 65 73 63 72 | 5b 32 5d 2e 6f 72 69 67 |ingDescr|[2].orig|
|0000e7c0| 69 6e 20 3d 20 6e 65 77 | 5a 4f 72 69 67 69 6e 3b |in = new|ZOrigin;|
|0000e7d0| 0d 09 09 09 6e 65 77 47 | 72 61 66 33 44 49 6e 66 |....newG|raf3DInf|
|0000e7e0| 6f 2d 3e 73 63 61 6c 69 | 6e 67 44 65 73 63 72 5b |o->scali|ngDescr[|
|0000e7f0| 30 5d 2e 6c 65 6e 67 74 | 68 20 3d 20 6e 65 77 58 |0].lengt|h = newX|
|0000e800| 53 69 7a 65 3b 0d 09 09 | 09 6e 65 77 47 72 61 66 |Size;...|.newGraf|
|0000e810| 33 44 49 6e 66 6f 2d 3e | 73 63 61 6c 69 6e 67 44 |3DInfo->|scalingD|
|0000e820| 65 73 63 72 5b 31 5d 2e | 6c 65 6e 67 74 68 20 3d |escr[1].|length =|
|0000e830| 20 6e 65 77 59 53 69 7a | 65 3b 0d 09 09 09 6e 65 | newYSiz|e;....ne|
|0000e840| 77 47 72 61 66 33 44 49 | 6e 66 6f 2d 3e 73 63 61 |wGraf3DI|nfo->sca|
|0000e850| 6c 69 6e 67 44 65 73 63 | 72 5b 32 5d 2e 6c 65 6e |lingDesc|r[2].len|
|0000e860| 67 74 68 20 3d 20 6e 65 | 77 5a 53 69 7a 65 3b 0d |gth = ne|wZSize;.|
|0000e870| 09 09 09 62 72 65 61 6b | 3b 09 09 09 09 09 0d 09 |...break|;.......|
|0000e880| 09 7d 0d 09 7d 2f 2f 73 | 77 69 74 63 68 0d 09 61 |.}..}//s|witch..a|
|0000e890| 78 69 73 44 65 73 63 72 | 2d 3e 76 69 73 69 62 6c |xisDescr|->visibl|
|0000e8a0| 65 20 3d 20 4d 79 47 65 | 74 49 74 65 6d 56 61 6c |e = MyGe|tItemVal|
|0000e8b0| 75 65 28 64 6c 67 2c 20 | 76 69 73 69 62 6c 65 49 |ue(dlg, |visibleI|
|0000e8c0| 74 29 3b 0d 09 55 73 65 | 47 72 61 66 46 6f 72 53 |t);..Use|GrafForS|
|0000e8d0| 63 61 6c 69 6e 67 28 6e | 65 77 47 72 61 66 33 44 |caling(n|ewGraf3D|
|0000e8e0| 49 6e 66 6f 29 3b 0d 09 | 72 65 74 75 72 6e 20 74 |Info);..|return t|
|0000e8f0| 72 75 65 3b 0d 7d 0d 0d | 73 74 61 74 69 63 20 76 |rue;.}..|static v|
|0000e900| 6f 69 64 20 47 65 74 50 | 61 6e 65 6c 44 49 54 4c |oid GetP|anelDITL|
|0000e910| 28 44 69 61 6c 6f 67 44 | 61 74 61 2a 20 64 6c 67 |(DialogD|ata* dlg|
|0000e920| 29 0d 09 2f 2f 20 63 61 | 6c 6c 20 74 68 69 73 20 |)..// ca|ll this |
|0000e930| 74 6f 20 72 65 61 64 20 | 74 68 65 20 44 49 54 4c |to read |the DITL|
|0000e940| 20 6f 66 20 61 20 70 61 | 6e 65 6c 0d 7b 0d 09 73 | of a pa|nel.{..s|
|0000e950| 74 61 74 69 63 20 63 6f | 6e 73 74 20 73 68 6f 72 |tatic co|nst shor|
|0000e960| 74 20 70 61 6e 65 6c 73 | 44 49 54 4c 5b 5d 20 3d |t panels|DITL[] =|
|0000e970| 20 7b 33 30 30 33 31 2c | 20 33 30 30 33 33 2c 20 | {30031,| 30033, |
|0000e980| 33 30 30 33 32 2c 20 33 | 30 30 33 30 7d 3b 09 09 |30032, 3|0030};..|
|0000e990| 2f 2f 20 74 68 65 20 44 | 49 54 4c 20 6f 66 20 74 |// the D|ITL of t|
|0000e9a0| 68 65 20 70 61 6e 65 6c | 73 20 72 6e 61 67 65 2c |he panel|s rnage,|
|0000e9b0| 20 6f 72 69 67 69 6e 2c | 20 6c 61 62 65 6c 73 2c | origin,| labels,|
|0000e9c0| 20 6e 61 6d 65 73 0d 09 | 73 68 6f 72 74 09 72 65 | names..|short.re|
|0000e9d0| 73 49 44 20 3d 20 70 61 | 6e 65 6c 73 44 49 54 4c |sID = pa|nelsDITL|
|0000e9e0| 5b 73 65 6c 65 63 74 6f | 72 50 6f 70 75 70 56 61 |[selecto|rPopupVa|
|0000e9f0| 6c 75 65 2d 31 5d 3b 09 | 09 09 09 09 2f 2f 20 44 |lue-1];.|....// D|
|0000ea00| 49 54 4c 20 72 65 73 20 | 69 64 0d 0d 09 4d 79 53 |ITL res |id...MyS|
|0000ea10| 68 6f 72 74 65 6e 44 49 | 54 4c 28 64 6c 67 2c 20 |hortenDI|TL(dlg, |
|0000ea20| 43 6f 75 6e 74 44 49 54 | 4c 28 64 6c 67 2d 3e 64 |CountDIT|L(dlg->d|
|0000ea30| 69 61 6c 6f 67 29 2d 6e | 72 52 65 67 75 6c 61 72 |ialog)-n|rRegular|
|0000ea40| 49 74 65 6d 73 29 3b 09 | 2f 2f 20 72 65 6d 6f 76 |Items);.|// remov|
|0000ea50| 65 20 61 6e 79 20 75 6e | 75 73 65 64 20 69 74 65 |e any un|used ite|
|0000ea60| 6d 73 0d 09 4d 79 41 70 | 70 65 6e 64 44 49 54 4c |ms..MyAp|pendDITL|
|0000ea70| 28 64 6c 67 2c 20 72 65 | 73 49 44 29 3b 0d 0d 09 |(dlg, re|sID);...|
|0000ea80| 53 65 74 75 70 49 74 65 | 6d 73 28 64 6c 67 29 3b |SetupIte|ms(dlg);|
|0000ea90| 0d 7d 0d 0d 73 74 61 74 | 69 63 20 76 6f 69 64 20 |.}..stat|ic void |
|0000eaa0| 41 78 69 73 44 69 61 6c | 6f 67 28 76 6f 69 64 29 |AxisDial|og(void)|
|0000eab0| 0d 7b 0d 09 73 74 61 74 | 69 63 20 52 65 63 74 09 |.{..stat|ic Rect.|
|0000eac0| 09 64 69 61 6c 6f 67 52 | 65 63 74 20 3d 20 7b 30 |.dialogR|ect = {0|
|0000ead0| 2c 30 2c 30 2c 30 7d 3b | 09 09 09 2f 2f 20 64 65 |,0,0,0};|...// de|
|0000eae0| 66 61 75 6c 74 20 64 69 | 61 6c 6f 67 20 70 6f 73 |fault di|alog pos|
|0000eaf0| 69 74 69 6f 6e 0d 09 44 | 69 61 6c 6f 67 44 61 74 |ition..D|ialogDat|
|0000eb00| 61 2a 09 09 64 6c 67 3b | 0d 09 73 68 6f 72 74 09 |a*..dlg;|..short.|
|0000eb10| 09 09 69 74 65 6d 48 69 | 74 3d 30 3b 0d 09 73 68 |..itemHi|t=0;..sh|
|0000eb20| 6f 72 74 09 09 09 69 3b | 0d 09 55 73 65 72 49 74 |ort...i;|..UserIt|
|0000eb30| 65 6d 55 50 50 09 09 75 | 73 65 72 49 74 65 6d 55 |emUPP..u|serItemU|
|0000eb40| 50 50 20 3d 20 4e 65 77 | 55 73 65 72 49 74 65 6d |PP = New|UserItem|
|0000eb50| 50 72 6f 63 28 55 73 65 | 72 49 74 65 6d 29 3b 0d |Proc(Use|rItem);.|
|0000eb60| 09 48 61 6e 64 6c 65 09 | 09 09 64 75 6d 6d 79 48 |.Handle.|..dummyH|
|0000eb70| 61 6e 64 6c 65 3b 0d 09 | 52 65 63 74 09 09 09 70 |andle;..|Rect...p|
|0000eb80| 72 65 76 69 65 77 52 65 | 63 74 3b 0d 09 73 74 61 |reviewRe|ct;..sta|
|0000eb90| 74 69 63 20 73 68 6f 72 | 74 09 61 78 69 73 50 6f |tic shor|t.axisPo|
|0000eba0| 70 75 70 56 61 6c 75 65 | 20 3d 20 31 3b 09 09 09 |pupValue| = 1;...|
|0000ebb0| 09 09 2f 2f 20 31 3a 20 | 78 2c 20 32 3a 20 78 31 |..// 1: |x, 2: x1|
|0000ebc0| 2c 20 33 3a 20 78 32 2e | 2e 2e 2c 20 36 3a 20 79 |, 3: x2.|.., 6: y|
|0000ebd0| 2c 20 2e 2e 2e 0d 09 73 | 74 61 74 69 63 20 52 65 |, .....s|tatic Re|
|0000ebe0| 63 74 09 09 66 72 61 6d | 65 20 3d 20 7b 34 32 2c |ct..fram|e = {42,|
|0000ebf0| 36 2c 32 36 32 2c 32 33 | 35 7d 3b 0d 09 0d 09 70 |6,262,23|5};....p|
|0000ec00| 72 65 76 69 65 77 65 72 | 20 3d 20 6e 69 6c 3b 0d |reviewer| = nil;.|
|0000ec10| 09 70 72 65 76 69 65 77 | 20 3d 20 6e 69 6c 3b 0d |.preview| = nil;.|
|0000ec20| 0d 09 6e 65 77 47 72 61 | 66 33 44 49 6e 66 6f 20 |..newGra|f3DInfo |
|0000ec30| 3d 20 28 47 72 61 66 33 | 44 49 6e 66 6f 2a 29 4e |= (Graf3|DInfo*)N|
|0000ec40| 65 77 50 74 72 28 73 69 | 7a 65 6f 66 28 47 72 61 |ewPtr(si|zeof(Gra|
|0000ec50| 66 33 44 49 6e 66 6f 29 | 29 3b 0d 0d 09 64 6c 67 |f3DInfo)|);...dlg|
|0000ec60| 20 3d 20 4d 79 47 65 74 | 4e 65 77 44 69 61 6c 6f | = MyGet|NewDialo|
|0000ec70| 67 28 33 30 30 30 39 2c | 20 31 2c 20 32 29 3b 0d |g(30009,| 1, 2);.|
|0000ec80| 09 69 66 20 28 64 6c 67 | 20 3d 3d 20 6e 69 6c 20 |.if (dlg| == nil |
|0000ec90| 7c 7c 20 75 73 65 72 49 | 74 65 6d 55 50 50 3d 3d ||| userI|temUPP==|
|0000eca0| 6e 69 6c 20 7c 7c 20 6e | 65 77 47 72 61 66 33 44 |nil || n|ewGraf3D|
|0000ecb0| 49 6e 66 6f 20 3d 3d 20 | 6e 69 6c 29 20 67 6f 74 |Info == |nil) got|
|0000ecc0| 6f 20 64 6f 6e 65 3b 0d | 09 53 65 74 47 6c 6f 62 |o done;.|.SetGlob|
|0000ecd0| 61 6c 57 69 6e 64 6f 77 | 52 65 63 74 28 64 6c 67 |alWindow|Rect(dlg|
|0000ece0| 2d 3e 64 69 61 6c 6f 67 | 2c 20 26 64 69 61 6c 6f |->dialog|, &dialo|
|0000ecf0| 67 52 65 63 74 29 3b 0d | 09 42 6c 6f 63 6b 4d 6f |gRect);.|.BlockMo|
|0000ed00| 76 65 28 26 67 72 61 66 | 33 44 49 6e 66 6f 2c 20 |ve(&graf|3DInfo, |
|0000ed10| 6e 65 77 47 72 61 66 33 | 44 49 6e 66 6f 2c 20 73 |newGraf3|DInfo, s|
|0000ed20| 69 7a 65 6f 66 28 47 72 | 61 66 33 44 49 6e 66 6f |izeof(Gr|af3DInfo|
|0000ed30| 29 29 3b 0d 0d 09 70 72 | 65 76 69 65 77 20 3d 20 |));...pr|eview = |
|0000ed40| 51 33 4f 72 64 65 72 65 | 64 44 69 73 70 6c 61 79 |Q3Ordere|dDisplay|
|0000ed50| 47 72 6f 75 70 5f 4e 65 | 77 28 29 3b 0d 09 69 66 |Group_Ne|w();..if|
|0000ed60| 20 28 70 72 65 76 69 65 | 77 20 3d 3d 20 6e 69 6c | (previe|w == nil|
|0000ed70| 29 20 67 6f 74 6f 20 64 | 6f 6e 65 3b 0d 0d 09 47 |) goto d|one;...G|
|0000ed80| 65 74 44 69 61 6c 6f 67 | 49 74 65 6d 28 64 6c 67 |etDialog|Item(dlg|
|0000ed90| 2d 3e 64 69 61 6c 6f 67 | 2c 20 70 72 65 76 69 65 |->dialog|, previe|
|0000eda0| 77 49 74 2c 20 26 69 2c | 20 26 64 75 6d 6d 79 48 |wIt, &i,| &dummyH|
|0000edb0| 61 6e 64 6c 65 2c 20 26 | 70 72 65 76 69 65 77 52 |andle, &|previewR|
|0000edc0| 65 63 74 29 3b 0d 09 53 | 65 74 44 69 61 6c 6f 67 |ect);..S|etDialog|
|0000edd0| 49 74 65 6d 28 64 6c 67 | 2d 3e 64 69 61 6c 6f 67 |Item(dlg|->dialog|
|0000ede0| 2c 20 70 72 65 76 69 65 | 77 49 74 2c 20 69 2c 20 |, previe|wIt, i, |
|0000edf0| 28 48 61 6e 64 6c 65 29 | 75 73 65 72 49 74 65 6d |(Handle)|userItem|
|0000ee00| 55 50 50 2c 20 26 70 72 | 65 76 69 65 77 52 65 63 |UPP, &pr|eviewRec|
|0000ee10| 74 29 3b 20 0d 09 4d 79 | 53 65 74 49 74 65 6d 56 |t); ..My|SetItemV|
|0000ee20| 61 6c 75 65 28 64 6c 67 | 2c 20 61 78 69 73 50 6f |alue(dlg|, axisPo|
|0000ee30| 70 75 70 49 74 2c 20 61 | 78 69 73 50 6f 70 75 70 |pupIt, a|xisPopup|
|0000ee40| 56 61 6c 75 65 29 3b 0d | 09 4d 79 53 65 74 46 72 |Value);.|.MySetFr|
|0000ee50| 61 6d 65 28 64 6c 67 2c | 20 26 66 72 61 6d 65 2c |ame(dlg,| &frame,|
|0000ee60| 20 30 29 3b 0d 09 4d 79 | 53 65 74 49 74 65 6d 56 | 0);..My|SetItemV|
|0000ee70| 61 6c 75 65 28 64 6c 67 | 2c 20 73 65 6c 65 63 74 |alue(dlg|, select|
|0000ee80| 6f 72 49 74 2c 20 73 65 | 6c 65 63 74 6f 72 50 6f |orIt, se|lectorPo|
|0000ee90| 70 75 70 56 61 6c 75 65 | 29 3b 0d 0d 09 70 72 65 |pupValue|);...pre|
|0000eea0| 76 69 65 77 65 72 20 3d | 20 50 33 56 69 65 77 65 |viewer =| P3Viewe|
|0000eeb0| 72 4e 65 77 28 64 6c 67 | 2d 3e 64 69 61 6c 6f 67 |rNew(dlg|->dialog|
|0000eec0| 2c 20 26 70 72 65 76 69 | 65 77 52 65 63 74 2c 20 |, &previ|ewRect, |
|0000eed0| 30 29 3b 0d 09 69 66 20 | 28 70 72 65 76 69 65 77 |0);..if |(preview|
|0000eee0| 65 72 20 3d 3d 20 4e 55 | 4c 4c 29 20 67 6f 74 6f |er == NU|LL) goto|
|0000eef0| 20 64 6f 6e 65 3b 0d 09 | 50 33 56 69 65 77 65 72 | done;..|P3Viewer|
|0000ef00| 55 73 65 47 72 6f 75 70 | 28 70 72 65 76 69 65 77 |UseGroup|(preview|
|0000ef10| 65 72 2c 20 70 72 65 76 | 69 65 77 29 3b 0d 0d 09 |er, prev|iew);...|
|0000ef20| 47 65 74 50 61 6e 65 6c | 44 49 54 4c 28 64 6c 67 |GetPanel|DITL(dlg|
|0000ef30| 29 3b 0d 09 4d 79 53 68 | 6f 77 44 69 61 6c 6f 67 |);..MySh|owDialog|
|0000ef40| 28 64 6c 67 29 3b 0d 09 | 64 6f 0d 09 7b 0d 09 09 |(dlg);..|do..{...|
|0000ef50| 4d 79 4d 6f 64 61 6c 44 | 69 61 6c 6f 67 28 64 6c |MyModalD|ialog(dl|
|0000ef60| 67 2c 20 26 69 74 65 6d | 48 69 74 29 3b 0d 09 09 |g, &item|Hit);...|
|0000ef70| 69 66 20 28 73 65 6c 65 | 63 74 6f 72 50 6f 70 75 |if (sele|ctorPopu|
|0000ef80| 70 56 61 6c 75 65 20 3d | 3d 20 74 69 63 6b 4c 61 |pValue =|= tickLa|
|0000ef90| 62 65 6c 73 50 61 6e 65 | 6c 29 0d 09 09 7b 0d 09 |belsPane|l)...{..|
|0000efa0| 09 09 69 66 20 28 69 74 | 65 6d 48 69 74 20 3d 3d |..if (it|emHit ==|
|0000efb0| 20 6c 61 62 56 69 73 69 | 62 6c 65 49 74 20 26 26 | labVisi|bleIt &&|
|0000efc0| 20 4d 79 47 65 74 49 74 | 65 6d 56 61 6c 75 65 28 | MyGetIt|emValue(|
|0000efd0| 64 6c 67 2c 20 6c 61 62 | 56 69 73 69 62 6c 65 49 |dlg, lab|VisibleI|
|0000efe0| 74 29 29 0d 09 09 09 7b | 09 4d 79 53 65 74 49 74 |t))....{|.MySetIt|
|0000eff0| 65 6d 56 61 6c 75 65 28 | 64 6c 67 2c 20 76 69 73 |emValue(|dlg, vis|
|0000f000| 69 62 6c 65 49 74 2c 20 | 74 72 75 65 29 3b 09 09 |ibleIt, |true);..|
|0000f010| 09 09 09 2f 2f 20 6d 61 | 6b 65 20 61 78 69 73 20 |...// ma|ke axis |
|0000f020| 76 69 73 69 62 6c 65 20 | 69 66 20 75 73 65 72 20 |visible |if user |
|0000f030| 77 61 6e 74 73 20 74 6f | 20 73 65 65 20 6c 61 62 |wants to| see lab|
|0000f040| 65 6c 73 0d 09 09 09 09 | 67 6f 74 6f 20 6c 6f 6f |els.....|goto loo|
|0000f050| 70 45 6e 64 3b 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |pEnd;...|.}...}..|
|0000f060| 09 65 6c 73 65 20 69 66 | 20 28 73 65 6c 65 63 74 |.else if| (select|
|0000f070| 6f 72 50 6f 70 75 70 56 | 61 6c 75 65 20 3d 3d 20 |orPopupV|alue == |
|0000f080| 72 61 6e 67 65 54 69 63 | 6b 73 50 61 6e 65 6c 29 |rangeTic|ksPanel)|
|0000f090| 0d 09 09 7b 0d 09 09 09 | 69 66 20 28 09 28 69 74 |...{....|if (.(it|
|0000f0a0| 65 6d 48 69 74 20 3d 3d | 20 73 68 6f 77 4c 61 62 |emHit ==| showLab|
|0000f0b0| 65 6c 73 49 74 20 26 26 | 20 4d 79 47 65 74 49 74 |elsIt &&| MyGetIt|
|0000f0c0| 65 6d 56 61 6c 75 65 28 | 64 6c 67 2c 20 73 68 6f |emValue(|dlg, sho|
|0000f0d0| 77 4c 61 62 65 6c 73 49 | 74 29 29 20 7c 7c 0d 09 |wLabelsI|t)) ||..|
|0000f0e0| 09 09 09 09 28 69 74 65 | 6d 48 69 74 20 3d 3d 20 |....(ite|mHit == |
|0000f0f0| 73 68 6f 77 54 69 63 6b | 73 49 74 20 26 26 20 4d |showTick|sIt && M|
|0000f100| 79 47 65 74 49 74 65 6d | 56 61 6c 75 65 28 64 6c |yGetItem|Value(dl|
|0000f110| 67 2c 20 73 68 6f 77 54 | 69 63 6b 73 49 74 29 29 |g, showT|icksIt))|
|0000f120| 20 29 0d 09 09 09 7b 09 | 4d 79 53 65 74 49 74 65 | )....{.|MySetIte|
|0000f130| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 76 69 73 69 |mValue(d|lg, visi|
|0000f140| 62 6c 65 49 74 2c 20 74 | 72 75 65 29 3b 09 09 09 |bleIt, t|rue);...|
|0000f150| 09 09 2f 2f 20 6d 61 6b | 65 20 61 78 69 73 20 76 |..// mak|e axis v|
|0000f160| 69 73 69 62 6c 65 20 69 | 66 20 75 73 65 72 20 77 |isible i|f user w|
|0000f170| 61 6e 74 73 20 74 6f 20 | 73 65 65 20 6c 61 62 65 |ants to |see labe|
|0000f180| 6c 73 0d 09 09 09 09 67 | 6f 74 6f 20 6c 6f 6f 70 |ls.....g|oto loop|
|0000f190| 45 6e 64 3b 0d 09 09 09 | 7d 0d 09 09 7d 0d 09 09 |End;....|}...}...|
|0000f1a0| 73 77 69 74 63 68 20 28 | 69 74 65 6d 48 69 74 29 |switch (|itemHit)|
|0000f1b0| 0d 09 09 7b 0d 09 09 63 | 61 73 65 20 61 78 69 73 |...{...c|ase axis|
|0000f1c0| 50 6f 70 75 70 49 74 3a | 0d 09 09 09 09 69 66 20 |PopupIt:|.....if |
|0000f1d0| 28 52 65 61 64 49 74 65 | 6d 73 28 64 6c 67 2c 20 |(ReadIte|ms(dlg, |
|0000f1e0| 70 6f 70 75 70 54 6f 41 | 78 69 73 49 6e 64 65 78 |popupToA|xisIndex|
|0000f1f0| 5b 61 78 69 73 50 6f 70 | 75 70 56 61 6c 75 65 5d |[axisPop|upValue]|
|0000f200| 29 29 09 2f 2f 20 69 66 | 20 76 61 6c 75 65 73 20 |)).// if| values |
|0000f210| 4f 4b 0d 09 09 09 09 7b | 09 61 78 69 73 50 6f 70 |OK.....{|.axisPop|
|0000f220| 75 70 56 61 6c 75 65 20 | 3d 20 4d 79 47 65 74 49 |upValue |= MyGetI|
|0000f230| 74 65 6d 56 61 6c 75 65 | 28 64 6c 67 2c 20 61 78 |temValue|(dlg, ax|
|0000f240| 69 73 50 6f 70 75 70 49 | 74 29 3b 0d 09 09 09 09 |isPopupI|t);.....|
|0000f250| 09 53 65 74 75 70 49 74 | 65 6d 73 28 64 6c 67 29 |.SetupIt|ems(dlg)|
|0000f260| 3b 0d 09 09 09 09 09 4d | 79 49 6e 76 61 6c 69 64 |;......M|yInvalid|
|0000f270| 61 74 65 49 74 65 6d 28 | 64 6c 67 2c 20 70 72 65 |ateItem(|dlg, pre|
|0000f280| 76 69 65 77 49 74 29 3b | 0d 09 09 09 09 7d 0d 09 |viewIt);|.....}..|
|0000f290| 09 09 09 65 6c 73 65 09 | 09 09 09 09 09 09 09 09 |...else.|........|
|0000f2a0| 09 09 09 09 09 2f 2f 20 | 69 66 20 65 72 72 6f 72 |.....// |if error|
|0000f2b0| 0d 09 09 09 09 09 4d 79 | 53 65 74 49 74 65 6d 56 |......My|SetItemV|
|0000f2c0| 61 6c 75 65 28 64 6c 67 | 2c 20 61 78 69 73 50 6f |alue(dlg|, axisPo|
|0000f2d0| 70 75 70 49 74 2c 20 61 | 78 69 73 50 6f 70 75 70 |pupIt, a|xisPopup|
|0000f2e0| 56 61 6c 75 65 29 3b 09 | 09 2f 2f 20 72 65 73 74 |Value);.|.// rest|
|0000f2f0| 6f 72 65 20 70 6f 70 75 | 70 0d 09 09 09 09 62 72 |ore popu|p.....br|
|0000f300| 65 61 6b 3b 0d 09 09 63 | 61 73 65 20 73 65 6c 65 |eak;...c|ase sele|
|0000f310| 63 74 6f 72 49 74 3a 0d | 09 09 09 09 69 66 20 28 |ctorIt:.|....if (|
|0000f320| 73 65 6c 65 63 74 6f 72 | 50 6f 70 75 70 56 61 6c |selector|PopupVal|
|0000f330| 75 65 20 21 3d 20 4d 79 | 47 65 74 49 74 65 6d 56 |ue != My|GetItemV|
|0000f340| 61 6c 75 65 28 64 6c 67 | 2c 20 73 65 6c 65 63 74 |alue(dlg|, select|
|0000f350| 6f 72 49 74 29 20 26 26 | 20 0d 09 09 09 09 09 52 |orIt) &&| ......R|
|0000f360| 65 61 64 49 74 65 6d 73 | 28 64 6c 67 2c 20 70 6f |eadItems|(dlg, po|
|0000f370| 70 75 70 54 6f 41 78 69 | 73 49 6e 64 65 78 5b 61 |pupToAxi|sIndex[a|
|0000f380| 78 69 73 50 6f 70 75 70 | 56 61 6c 75 65 5d 29 29 |xisPopup|Value]))|
|0000f390| 09 09 2f 2f 20 69 66 20 | 76 61 6c 75 65 73 20 4f |..// if |values O|
|0000f3a0| 4b 0d 09 09 09 09 7b 09 | 73 65 6c 65 63 74 6f 72 |K.....{.|selector|
|0000f3b0| 50 6f 70 75 70 56 61 6c | 75 65 20 3d 20 4d 79 47 |PopupVal|ue = MyG|
|0000f3c0| 65 74 49 74 65 6d 56 61 | 6c 75 65 28 64 6c 67 2c |etItemVa|lue(dlg,|
|0000f3d0| 20 73 65 6c 65 63 74 6f | 72 49 74 29 3b 0d 09 09 | selecto|rIt);...|
|0000f3e0| 09 09 09 47 65 74 50 61 | 6e 65 6c 44 49 54 4c 28 |...GetPa|nelDITL(|
|0000f3f0| 64 6c 67 29 3b 0d 09 09 | 09 09 7d 0d 09 09 09 09 |dlg);...|..}.....|
|0000f400| 65 6c 73 65 09 09 09 09 | 09 09 09 09 09 09 09 09 |else....|........|
|0000f410| 09 09 2f 2f 20 69 66 20 | 65 72 72 6f 72 0d 09 09 |..// if |error...|
|0000f420| 09 09 09 4d 79 53 65 74 | 49 74 65 6d 56 61 6c 75 |...MySet|ItemValu|
|0000f430| 65 28 64 6c 67 2c 20 73 | 65 6c 65 63 74 6f 72 49 |e(dlg, s|electorI|
|0000f440| 74 2c 20 73 65 6c 65 63 | 74 6f 72 50 6f 70 75 70 |t, selec|torPopup|
|0000f450| 56 61 6c 75 65 29 3b 09 | 2f 2f 20 72 65 73 74 6f |Value);.|// resto|
|0000f460| 72 65 20 70 6f 70 75 70 | 0d 09 09 09 09 62 72 65 |re popup|.....bre|
|0000f470| 61 6b 3b 0d 09 09 63 61 | 73 65 20 6f 6b 3a 0d 09 |ak;...ca|se ok:..|
|0000f480| 09 09 09 69 66 20 28 52 | 65 61 64 49 74 65 6d 73 |...if (R|eadItems|
|0000f490| 28 64 6c 67 2c 20 70 6f | 70 75 70 54 6f 41 78 69 |(dlg, po|pupToAxi|
|0000f4a0| 73 49 6e 64 65 78 5b 61 | 78 69 73 50 6f 70 75 70 |sIndex[a|xisPopup|
|0000f4b0| 56 61 6c 75 65 5d 29 29 | 0d 09 09 09 09 7b 0d 09 |Value]))|.....{..|
|0000f4c0| 09 09 09 09 42 6c 6f 63 | 6b 4d 6f 76 65 28 6e 65 |....Bloc|kMove(ne|
|0000f4d0| 77 47 72 61 66 33 44 49 | 6e 66 6f 2c 20 26 67 72 |wGraf3DI|nfo, &gr|
|0000f4e0| 61 66 33 44 49 6e 66 6f | 2c 20 73 69 7a 65 6f 66 |af3DInfo|, sizeof|
|0000f4f0| 28 47 72 61 66 33 44 49 | 6e 66 6f 29 29 3b 0d 09 |(Graf3DI|nfo));..|
|0000f500| 09 09 09 7d 0d 09 09 09 | 09 65 6c 73 65 0d 09 09 |...}....|.else...|
|0000f510| 09 09 09 69 74 65 6d 48 | 69 74 20 3d 20 30 3b 0d |...itemH|it = 0;.|
|0000f520| 09 09 09 09 62 72 65 61 | 6b 3b 0d 09 09 63 61 73 |....brea|k;...cas|
|0000f530| 65 20 2d 31 3a 09 09 09 | 09 09 09 09 09 09 2f 2f |e -1:...|......//|
|0000f540| 20 69 66 20 74 69 6d 65 | 72 0d 09 09 09 09 69 66 | if time|r.....if|
|0000f550| 20 28 52 65 61 64 49 74 | 65 6d 73 28 64 6c 67 2c | (ReadIt|ems(dlg,|
|0000f560| 20 70 6f 70 75 70 54 6f | 41 78 69 73 49 6e 64 65 | popupTo|AxisInde|
|0000f570| 78 5b 61 78 69 73 50 6f | 70 75 70 56 61 6c 75 65 |x[axisPo|pupValue|
|0000f580| 5d 29 29 09 2f 2f 20 69 | 66 20 76 61 6c 75 65 73 |])).// i|f values|
|0000f590| 20 4f 4b 0d 09 09 09 09 | 7b 09 4d 61 6b 65 50 72 | OK.....|{.MakePr|
|0000f5a0| 65 76 69 65 77 28 64 6c | 67 2c 20 70 6f 70 75 70 |eview(dl|g, popup|
|0000f5b0| 54 6f 41 78 69 73 49 6e | 64 65 78 5b 61 78 69 73 |ToAxisIn|dex[axis|
|0000f5c0| 50 6f 70 75 70 56 61 6c | 75 65 5d 29 3b 0d 09 09 |PopupVal|ue]);...|
|0000f5d0| 09 09 09 4d 79 49 6e 76 | 61 6c 69 64 61 74 65 49 |...MyInv|alidateI|
|0000f5e0| 74 65 6d 28 64 6c 67 2c | 20 70 72 65 76 69 65 77 |tem(dlg,| preview|
|0000f5f0| 49 74 29 3b 0d 09 09 09 | 09 7d 0d 09 09 09 09 62 |It);....|.}.....b|
|0000f600| 72 65 61 6b 3b 0d 09 09 | 7d 2f 2f 73 77 69 74 63 |reak;...|}//switc|
|0000f610| 68 0d 6c 6f 6f 70 45 6e | 64 3a 0d 09 09 69 66 20 |h.loopEn|d:...if |
|0000f620| 28 69 74 65 6d 48 69 74 | 20 3e 20 63 61 6e 63 65 |(itemHit| > cance|
|0000f630| 6c 20 26 26 20 69 74 65 | 6d 48 69 74 20 21 3d 20 |l && ite|mHit != |
|0000f640| 61 78 69 73 50 6f 70 75 | 70 49 74 20 26 26 20 69 |axisPopu|pIt && i|
|0000f650| 74 65 6d 48 69 74 20 21 | 3d 20 73 65 6c 65 63 74 |temHit !|= select|
|0000f660| 6f 72 49 74 29 0d 09 09 | 09 4d 79 53 65 74 54 69 |orIt)...|.MySetTi|
|0000f670| 6d 65 72 28 64 6c 67 2c | 20 54 69 63 6b 43 6f 75 |mer(dlg,| TickCou|
|0000f680| 6e 74 28 29 20 2b 20 36 | 30 29 3b 0d 09 7d 77 68 |nt() + 6|0);..}wh|
|0000f690| 69 6c 65 20 28 69 74 65 | 6d 48 69 74 20 21 3d 20 |ile (ite|mHit != |
|0000f6a0| 6f 6b 20 26 26 20 69 74 | 65 6d 48 69 74 20 21 3d |ok && it|emHit !=|
|0000f6b0| 20 63 61 6e 63 65 6c 29 | 3b 0d 0d 09 47 65 74 47 | cancel)|;...GetG|
|0000f6c0| 6c 6f 62 61 6c 57 69 6e | 64 6f 77 52 65 63 74 28 |lobalWin|dowRect(|
|0000f6d0| 64 6c 67 2d 3e 64 69 61 | 6c 6f 67 2c 20 26 64 69 |dlg->dia|log, &di|
|0000f6e0| 61 6c 6f 67 52 65 63 74 | 29 3b 0d 64 6f 6e 65 3a |alogRect|);.done:|
|0000f6f0| 0d 09 69 66 20 28 70 72 | 65 76 69 65 77 65 72 29 |..if (pr|eviewer)|
|0000f700| 0d 09 09 50 33 56 69 65 | 77 65 72 44 69 73 70 6f |...P3Vie|werDispo|
|0000f710| 73 65 28 70 72 65 76 69 | 65 77 65 72 29 3b 0d 09 |se(previ|ewer);..|
|0000f720| 69 66 20 28 64 6c 67 29 | 0d 09 7b 09 4d 79 44 69 |if (dlg)|..{.MyDi|
|0000f730| 73 70 6f 73 65 44 69 61 | 6c 6f 67 28 64 6c 67 29 |sposeDia|log(dlg)|
|0000f740| 3b 0d 09 09 69 66 20 28 | 69 74 65 6d 48 69 74 20 |;...if (|itemHit |
|0000f750| 3d 3d 20 6f 6b 29 0d 09 | 09 7b 09 4d 61 6b 65 41 |== ok)..|.{.MakeA|
|0000f760| 78 65 73 41 6e 64 4c 61 | 62 65 6c 73 28 29 3b 09 |xesAndLa|bels();.|
|0000f770| 09 09 09 09 2f 2f 20 63 | 72 65 61 74 65 73 20 61 |....// c|reates a|
|0000f780| 78 65 73 2c 20 6c 61 62 | 65 6c 73 20 6f 62 6a 65 |xes, lab|els obje|
|0000f790| 63 74 73 0d 09 09 09 4d | 61 6b 65 4d 6f 64 65 6c |cts....M|akeModel|
|0000f7a0| 28 29 3b 0d 09 09 7d 0d | 09 7d 0d 09 55 73 65 47 |();...}.|.}..UseG|
|0000f7b0| 72 61 66 46 6f 72 53 63 | 61 6c 69 6e 67 28 26 67 |rafForSc|aling(&g|
|0000f7c0| 72 61 66 33 44 49 6e 66 | 6f 29 3b 09 09 09 09 09 |raf3DInf|o);.....|
|0000f7d0| 2f 2f 20 72 65 73 74 6f | 72 65 20 73 63 61 6c 69 |// resto|re scali|
|0000f7e0| 6e 67 20 69 6e 66 6f 0d | 09 51 33 4f 62 6a 65 63 |ng info.|.Q3Objec|
|0000f7f0| 74 5f 44 69 73 70 6f 73 | 65 49 66 4e 6f 74 4e 69 |t_Dispos|eIfNotNi|
|0000f800| 6c 28 70 72 65 76 69 65 | 77 29 3b 0d 09 69 66 20 |l(previe|w);..if |
|0000f810| 28 75 73 65 72 49 74 65 | 6d 55 50 50 29 20 44 69 |(userIte|mUPP) Di|
|0000f820| 73 70 6f 73 65 52 6f 75 | 74 69 6e 65 44 65 73 63 |sposeRou|tineDesc|
|0000f830| 72 69 70 74 6f 72 28 75 | 73 65 72 49 74 65 6d 55 |riptor(u|serItemU|
|0000f840| 50 50 29 3b 0d 09 69 66 | 20 28 6e 65 77 47 72 61 |PP);..if| (newGra|
|0000f850| 66 33 44 49 6e 66 6f 29 | 20 44 69 73 70 6f 73 65 |f3DInfo)| Dispose|
|0000f860| 50 74 72 28 28 50 74 72 | 29 6e 65 77 47 72 61 66 |Ptr((Ptr|)newGraf|
|0000f870| 33 44 49 6e 66 6f 29 3b | 0d 7d 0d 0d 23 70 72 61 |3DInfo);|.}..#pra|
|0000f880| 67 6d 61 20 6d 61 72 6b | 20 2d 0d 0d 65 6e 75 6d |gma mark| -..enum|
|0000f890| 20 7b 0d 09 09 61 78 69 | 73 54 68 69 63 6b 6e 65 | {...axi|sThickne|
|0000f8a0| 73 73 49 74 65 6d 20 3d | 20 33 0d 09 7d 3b 0d 0d |ssItem =| 3..};..|
|0000f8b0| 0d 0d 73 74 61 74 69 63 | 20 42 6f 6f 6c 65 61 6e |..static| Boolean|
|0000f8c0| 20 4c 69 6e 65 54 68 69 | 63 6b 6e 65 73 73 44 69 | LineThi|cknessDi|
|0000f8d0| 61 6c 6f 67 28 76 6f 69 | 64 29 0d 7b 0d 09 73 74 |alog(voi|d).{..st|
|0000f8e0| 61 74 69 63 20 52 65 63 | 74 09 61 78 65 73 44 69 |atic Rec|t.axesDi|
|0000f8f0| 61 6c 6f 67 52 65 63 74 | 20 3d 20 7b 30 2c 30 2c |alogRect| = {0,0,|
|0000f900| 30 2c 30 7d 3b 09 09 09 | 2f 2f 20 64 65 66 61 75 |0,0};...|// defau|
|0000f910| 6c 74 20 64 69 61 6c 6f | 67 20 70 6f 73 69 74 69 |lt dialo|g positi|
|0000f920| 6f 6e 0d 09 44 69 61 6c | 6f 67 44 61 74 61 2a 09 |on..Dial|ogData*.|
|0000f930| 64 6c 67 3b 0d 09 73 68 | 6f 72 74 09 09 69 74 65 |dlg;..sh|ort..ite|
|0000f940| 6d 48 69 74 3b 0d 09 42 | 6f 6f 6c 65 61 6e 09 09 |mHit;..B|oolean..|
|0000f950| 72 65 74 76 61 6c 20 3d | 20 66 61 6c 73 65 3b 0d |retval =| false;.|
|0000f960| 09 73 68 6f 72 74 09 09 | 69 3b 0d 09 0d 0d 09 73 |.short..|i;.....s|
|0000f970| 74 61 74 69 63 20 63 6f | 6e 73 74 20 66 6c 6f 61 |tatic co|nst floa|
|0000f980| 74 20 74 68 69 63 6b 6e | 65 73 73 5b 5d 20 3d 20 |t thickn|ess[] = |
|0000f990| 7b 30 2e 30 30 30 31 2c | 20 30 2e 30 31 35 2c 20 |{0.0001,| 0.015, |
|0000f9a0| 30 2e 30 32 30 2c 20 30 | 2e 30 32 35 2c 20 30 2e |0.020, 0|.025, 0.|
|0000f9b0| 30 33 35 2c 20 30 2e 30 | 35 2c 20 30 2e 31 30 2c |035, 0.0|5, 0.10,|
|0000f9c0| 20 30 7d 3b 0d 0d 0d 09 | 64 6c 67 20 3d 20 4d 79 | 0};....|dlg = My|
|0000f9d0| 47 65 74 4e 65 77 44 69 | 61 6c 6f 67 28 33 30 30 |GetNewDi|alog(300|
|0000f9e0| 30 35 2c 20 31 2c 20 32 | 29 3b 0d 09 69 66 20 28 |05, 1, 2|);..if (|
|0000f9f0| 64 6c 67 20 3d 3d 20 6e | 69 6c 29 20 67 6f 74 6f |dlg == n|il) goto|
|0000fa00| 20 64 6f 6e 65 3b 0d 0d | 09 66 6f 72 20 28 69 3d | done;..|.for (i=|
|0000fa10| 30 3b 20 74 68 69 63 6b | 6e 65 73 73 5b 69 5d 21 |0; thick|ness[i]!|
|0000fa20| 3d 30 2e 30 3b 20 69 2b | 2b 29 09 09 2f 2f 20 66 |=0.0; i+|+)..// f|
|0000fa30| 69 6e 64 20 61 6e 64 20 | 73 65 74 20 76 61 6c 75 |ind and |set valu|
|0000fa40| 65 20 6f 66 20 61 78 69 | 73 20 74 68 69 63 6b 6e |e of axi|s thickn|
|0000fa50| 65 73 73 20 70 6f 70 75 | 70 0d 09 09 69 66 20 28 |ess popu|p...if (|
|0000fa60| 74 68 69 63 6b 6e 65 73 | 73 5b 69 5d 20 3d 3d 20 |thicknes|s[i] == |
|0000fa70| 67 72 61 66 33 44 49 6e | 66 6f 2e 61 78 69 73 54 |graf3DIn|fo.axisT|
|0000fa80| 68 69 63 6b 6e 65 73 73 | 29 20 62 72 65 61 6b 3b |hickness|) break;|
|0000fa90| 0d 09 69 66 20 28 74 68 | 69 63 6b 6e 65 73 73 5b |..if (th|ickness[|
|0000faa0| 69 5d 3d 3d 30 2e 30 29 | 0d 09 7b 09 67 72 61 66 |i]==0.0)|..{.graf|
|0000fab0| 33 44 49 6e 66 6f 2e 61 | 78 69 73 54 68 69 63 6b |3DInfo.a|xisThick|
|0000fac0| 6e 65 73 73 20 3d 20 30 | 2e 30 31 3b 0d 09 09 69 |ness = 0|.01;...i|
|0000fad0| 20 3d 20 31 3b 0d 09 7d | 0d 09 4d 79 53 65 74 49 | = 1;..}|..MySetI|
|0000fae0| 74 65 6d 56 61 6c 75 65 | 28 64 6c 67 2c 20 61 78 |temValue|(dlg, ax|
|0000faf0| 69 73 54 68 69 63 6b 6e | 65 73 73 49 74 65 6d 2c |isThickn|essItem,|
|0000fb00| 20 69 2b 31 29 3b 0d 0d | 09 53 65 74 47 6c 6f 62 | i+1);..|.SetGlob|
|0000fb10| 61 6c 57 69 6e 64 6f 77 | 52 65 63 74 28 64 6c 67 |alWindow|Rect(dlg|
|0000fb20| 2d 3e 64 69 61 6c 6f 67 | 2c 20 26 61 78 65 73 44 |->dialog|, &axesD|
|0000fb30| 69 61 6c 6f 67 52 65 63 | 74 29 3b 0d 09 4d 79 53 |ialogRec|t);..MyS|
|0000fb40| 68 6f 77 44 69 61 6c 6f | 67 28 64 6c 67 29 3b 0d |howDialo|g(dlg);.|
|0000fb50| 09 64 6f 0d 09 7b 0d 09 | 09 4d 79 4d 6f 64 61 6c |.do..{..|.MyModal|
|0000fb60| 44 69 61 6c 6f 67 28 64 | 6c 67 2c 20 26 69 74 65 |Dialog(d|lg, &ite|
|0000fb70| 6d 48 69 74 29 3b 0d 09 | 09 69 66 20 28 69 74 65 |mHit);..|.if (ite|
|0000fb80| 6d 48 69 74 20 3d 3d 20 | 6f 6b 29 0d 09 09 7b 0d |mHit == |ok)...{.|
|0000fb90| 09 09 09 67 72 61 66 33 | 44 49 6e 66 6f 2e 61 78 |...graf3|DInfo.ax|
|0000fba0| 69 73 54 68 69 63 6b 6e | 65 73 73 20 3d 20 74 68 |isThickn|ess = th|
|0000fbb0| 69 63 6b 6e 65 73 73 5b | 4d 79 47 65 74 49 74 65 |ickness[|MyGetIte|
|0000fbc0| 6d 56 61 6c 75 65 28 64 | 6c 67 2c 20 61 78 69 73 |mValue(d|lg, axis|
|0000fbd0| 54 68 69 63 6b 6e 65 73 | 73 49 74 65 6d 29 2d 31 |Thicknes|sItem)-1|
|0000fbe0| 5d 3b 0d 09 09 09 72 65 | 74 76 61 6c 20 3d 20 74 |];....re|tval = t|
|0000fbf0| 72 75 65 3b 0d 09 09 7d | 0d 09 7d 77 68 69 6c 65 |rue;...}|..}while|
|0000fc00| 20 28 69 74 65 6d 48 69 | 74 20 21 3d 20 6f 6b 20 | (itemHi|t != ok |
|0000fc10| 26 26 20 69 74 65 6d 48 | 69 74 20 21 3d 20 63 61 |&& itemH|it != ca|
|0000fc20| 6e 63 65 6c 29 3b 0d 0d | 09 47 65 74 47 6c 6f 62 |ncel);..|.GetGlob|
|0000fc30| 61 6c 57 69 6e 64 6f 77 | 52 65 63 74 28 64 6c 67 |alWindow|Rect(dlg|
|0000fc40| 2d 3e 64 69 61 6c 6f 67 | 2c 20 26 61 78 65 73 44 |->dialog|, &axesD|
|0000fc50| 69 61 6c 6f 67 52 65 63 | 74 29 3b 0d 09 4d 79 44 |ialogRec|t);..MyD|
|0000fc60| 69 73 70 6f 73 65 44 69 | 61 6c 6f 67 28 64 6c 67 |isposeDi|alog(dlg|
|0000fc70| 29 3b 0d 0d 64 6f 6e 65 | 3a 0d 09 72 65 74 75 72 |);..done|:..retur|
|0000fc80| 6e 20 72 65 74 76 61 6c | 3b 0d 7d 0d 0d 0d 23 70 |n retval|;.}...#p|
|0000fc90| 72 61 67 6d 61 20 6d 61 | 72 6b 20 2d 0d 0d 73 74 |ragma ma|rk -..st|
|0000fca0| 61 74 69 63 20 76 6f 69 | 64 20 44 72 61 77 54 68 |atic voi|d DrawTh|
|0000fcb0| 65 57 69 6e 64 6f 77 28 | 76 6f 69 64 29 0d 7b 0d |eWindow(|void).{.|
|0000fcc0| 09 47 72 61 66 50 74 72 | 09 09 6f 6c 64 50 6f 72 |.GrafPtr|..oldPor|
|0000fcd0| 74 3b 0d 09 52 65 63 74 | 09 09 72 20 3d 20 7b 30 |t;..Rect|..r = {0|
|0000fce0| 2c 20 30 2c 20 31 36 2c | 20 31 36 7d 3b 0d 09 73 |, 0, 16,| 16};..s|
|0000fcf0| 74 61 74 69 63 20 63 6f | 6e 73 74 20 75 6e 73 69 |tatic co|nst unsi|
|0000fd00| 67 6e 65 64 20 63 68 61 | 72 2a 20 74 65 78 74 20 |gned cha|r* text |
|0000fd10| 3d 20 22 5c 70 55 73 65 | 20 74 68 65 20 45 64 69 |= "\pUse| the Edi|
|0000fd20| 74 20 6d 65 6e 75 20 66 | 6f 72 20 65 64 69 74 69 |t menu f|or editi|
|0000fd30| 6e 67 2e 22 3b 0d 0d 09 | 47 65 74 50 6f 72 74 28 |ng.";...|GetPort(|
|0000fd40| 26 6f 6c 64 50 6f 72 74 | 29 3b 09 0d 09 53 65 74 |&oldPort|);...Set|
|0000fd50| 50 6f 72 74 28 67 4d 61 | 69 6e 57 69 6e 64 6f 77 |Port(gMa|inWindow|
|0000fd60| 29 3b 0d 09 4f 66 66 73 | 65 74 52 65 63 74 28 26 |);..Offs|etRect(&|
|0000fd70| 72 2c 20 67 4d 61 69 6e | 57 69 6e 64 6f 77 2d 3e |r, gMain|Window->|
|0000fd80| 70 6f 72 74 52 65 63 74 | 2e 72 69 67 68 74 2d 72 |portRect|.right-r|
|0000fd90| 2e 72 69 67 68 74 2b 31 | 2c 20 67 4d 61 69 6e 57 |.right+1|, gMainW|
|0000fda0| 69 6e 64 6f 77 2d 3e 70 | 6f 72 74 52 65 63 74 2e |indow->p|ortRect.|
|0000fdb0| 62 6f 74 74 6f 6d 2d 72 | 2e 62 6f 74 74 6f 6d 2b |bottom-r|.bottom+|
|0000fdc0| 31 29 3b 0d 09 43 6c 69 | 70 52 65 63 74 28 26 72 |1);..Cli|pRect(&r|
|0000fdd0| 29 3b 09 09 09 09 09 09 | 09 09 2f 2f 20 64 72 61 |);......|..// dra|
|0000fde0| 77 20 67 72 6f 77 62 6f | 78 20 6f 6e 6c 79 0d 09 |w growbo|x only..|
|0000fdf0| 44 72 61 77 47 72 6f 77 | 49 63 6f 6e 28 67 4d 61 |DrawGrow|Icon(gMa|
|0000fe00| 69 6e 57 69 6e 64 6f 77 | 29 3b 0d 09 43 6c 69 70 |inWindow|);..Clip|
|0000fe10| 52 65 63 74 28 26 67 4d | 61 69 6e 57 69 6e 64 6f |Rect(&gM|ainWindo|
|0000fe20| 77 2d 3e 70 6f 72 74 52 | 65 63 74 29 3b 0d 09 44 |w->portR|ect);..D|
|0000fe30| 72 61 77 43 6f 6e 74 72 | 6f 6c 73 28 67 4d 61 69 |rawContr|ols(gMai|
|0000fe40| 6e 57 69 6e 64 6f 77 29 | 3b 0d 0d 09 54 65 78 74 |nWindow)|;...Text|
|0000fe50| 46 6f 6e 74 28 31 29 3b | 0d 09 54 65 78 74 53 69 |Font(1);|..TextSi|
|0000fe60| 7a 65 28 39 29 3b 0d 09 | 54 65 78 74 46 61 63 65 |ze(9);..|TextFace|
|0000fe70| 28 30 29 3b 0d 09 54 45 | 54 65 78 74 42 6f 78 28 |(0);..TE|TextBox(|
|0000fe80| 26 74 65 78 74 5b 31 5d | 2c 20 74 65 78 74 5b 30 |&text[1]|, text[0|
|0000fe90| 5d 2c 20 26 74 65 78 74 | 52 65 63 74 2c 20 74 65 |], &text|Rect, te|
|0000fea0| 43 65 6e 74 65 72 29 3b | 0d 09 4d 6f 76 65 54 6f |Center);|..MoveTo|
|0000feb0| 28 67 4d 61 69 6e 57 69 | 6e 64 6f 77 2d 3e 70 6f |(gMainWi|ndow->po|
|0000fec0| 72 74 52 65 63 74 2e 6c | 65 66 74 2b 34 2c 20 67 |rtRect.l|eft+4, g|
|0000fed0| 4d 61 69 6e 57 69 6e 64 | 6f 77 2d 3e 70 6f 72 74 |MainWind|ow->port|
|0000fee0| 52 65 63 74 2e 62 6f 74 | 74 6f 6d 2d 33 29 3b 0d |Rect.bot|tom-3);.|
|0000fef0| 09 44 72 61 77 53 74 72 | 69 6e 67 28 76 65 72 73 |.DrawStr|ing(vers|
|0000ff00| 69 6f 6e 53 74 72 69 6e | 67 29 3b 0d 09 54 65 78 |ionStrin|g);..Tex|
|0000ff10| 74 46 6f 6e 74 28 30 29 | 3b 0d 09 54 65 78 74 53 |tFont(0)|;..TextS|
|0000ff20| 69 7a 65 28 31 32 29 3b | 0d 0d 09 50 65 6e 4e 6f |ize(12);|...PenNo|
|0000ff30| 72 6d 61 6c 28 29 3b 09 | 09 09 09 09 2f 2f 20 6d |rmal();.|....// m|
|0000ff40| 61 6b 65 20 4f 4b 20 62 | 6f 6c 64 0d 09 50 65 6e |ake OK b|old..Pen|
|0000ff50| 53 69 7a 65 28 33 2c 20 | 33 29 3b 0d 09 72 20 3d |Size(3, |3);..r =|
|0000ff60| 20 64 6f 6e 65 52 65 63 | 74 3b 0d 09 49 6e 73 65 | doneRec|t;..Inse|
|0000ff70| 74 52 65 63 74 28 26 72 | 2c 20 2d 34 2c 20 2d 34 |tRect(&r|, -4, -4|
|0000ff80| 29 3b 0d 09 46 72 61 6d | 65 52 6f 75 6e 64 52 65 |);..Fram|eRoundRe|
|0000ff90| 63 74 28 26 72 2c 20 31 | 36 2c 20 31 36 29 3b 0d |ct(&r, 1|6, 16);.|
|0000ffa0| 0d 09 50 65 6e 4e 6f 72 | 6d 61 6c 28 29 3b 0d 09 |..PenNor|mal();..|
|0000ffb0| 50 33 56 69 65 77 65 72 | 44 72 61 77 28 76 69 65 |P3Viewer|Draw(vie|
|0000ffc0| 77 65 72 29 3b 0d 09 52 | 65 73 65 74 45 78 63 65 |wer);..R|esetExce|
|0000ffd0| 70 74 69 6f 6e 28 29 3b | 09 09 09 09 2f 2f 20 51 |ption();|....// Q|
|0000ffe0| 33 56 69 65 77 65 72 20 | 73 6f 6d 65 74 69 6d 65 |3Viewer |sometime|
|0000fff0| 73 20 67 65 6e 65 72 61 | 74 65 73 20 65 78 63 65 |s genera|tes exce|
|00010000| 70 74 69 6f 6e 73 2c 20 | 49 20 64 75 6e 6e 6f 20 |ptions, |I dunno |
|00010010| 77 68 79 0d 0d 09 50 65 | 6e 4e 6f 72 6d 61 6c 28 |why...Pe|nNormal(|
|00010020| 29 3b 0d 09 53 65 74 50 | 6f 72 74 28 6f 6c 64 50 |);..SetP|ort(oldP|
|00010030| 6f 72 74 29 20 3b 0d 7d | 0d 0d 73 74 61 74 69 63 |ort) ;.}|..static|
|00010040| 20 76 6f 69 64 20 49 6e | 76 61 6c 69 64 61 74 65 | void In|validate|
|00010050| 56 69 65 77 65 72 28 76 | 6f 69 64 29 0d 09 2f 2f |Viewer(v|oid)..//|
|00010060| 20 69 6e 76 61 6c 69 64 | 61 74 65 73 20 74 68 65 | invalid|ates the|
|00010070| 20 72 65 63 74 61 6e 67 | 6c 65 20 77 68 65 72 65 | rectang|le where|
|00010080| 20 74 68 65 20 76 69 65 | 77 65 72 20 69 73 0d 7b | the vie|wer is.{|
|00010090| 0d 2f 2a 09 47 72 61 66 | 50 74 72 09 09 09 6f 6c |./*.Graf|Ptr...ol|
|000100a0| 64 50 6f 72 74 3b 0d 09 | 52 65 63 74 09 09 09 76 |dPort;..|Rect...v|
|000100b0| 69 65 77 65 72 42 6f 75 | 6e 64 73 3b 0d 09 0d 09 |iewerBou|nds;....|
|000100c0| 47 65 74 50 6f 72 74 28 | 26 6f 6c 64 50 6f 72 74 |GetPort(|&oldPort|
|000100d0| 29 3b 09 0d 09 53 65 74 | 50 6f 72 74 28 67 4d 61 |);...Set|Port(gMa|
|000100e0| 69 6e 57 69 6e 64 6f 77 | 29 3b 0d 09 51 33 56 69 |inWindow|);..Q3Vi|
|000100f0| 65 77 65 72 47 65 74 42 | 6f 75 6e 64 73 28 76 69 |ewerGetB|ounds(vi|
|00010100| 65 77 65 72 2c 20 26 76 | 69 65 77 65 72 42 6f 75 |ewer, &v|iewerBou|
|00010110| 6e 64 73 29 3b 0d 09 49 | 6e 76 61 6c 52 65 63 74 |nds);..I|nvalRect|
|00010120| 28 26 76 69 65 77 65 72 | 42 6f 75 6e 64 73 29 3b |(&viewer|Bounds);|
|00010130| 0d 09 53 65 74 50 6f 72 | 74 28 6f 6c 64 50 6f 72 |..SetPor|t(oldPor|
|00010140| 74 29 20 3b 0d 2a 2f 0d | 09 50 33 56 69 65 77 65 |t) ;.*/.|.P3Viewe|
|00010150| 72 49 6e 76 61 6c 69 64 | 61 74 65 28 76 69 65 77 |rInvalid|ate(view|
|00010160| 65 72 29 3b 0d 7d 0d 0d | 0d 0d 73 74 61 74 69 63 |er);.}..|..static|
|00010170| 20 42 6f 6f 6c 65 61 6e | 20 54 6f 67 67 6c 65 43 | Boolean| ToggleC|
|00010180| 6f 6e 74 72 6f 6c 28 43 | 6f 6e 74 72 6f 6c 48 61 |ontrol(C|ontrolHa|
|00010190| 6e 64 6c 65 20 63 6f 6e | 74 72 6f 6c 29 0d 09 2f |ndle con|trol)../|
|000101a0| 2f 20 74 6f 67 67 6c 65 | 73 20 74 68 65 20 63 6f |/ toggle|s the co|
|000101b0| 6e 74 72 6f 6c 20 61 6e | 64 20 72 65 74 75 72 6e |ntrol an|d return|
|000101c0| 73 20 69 74 73 20 6e 65 | 77 20 76 61 6c 75 65 0d |s its ne|w value.|
|000101d0| 7b 0d 09 42 6f 6f 6c 65 | 61 6e 20 72 65 74 76 61 |{..Boole|an retva|
|000101e0| 6c 20 3d 20 21 47 65 74 | 43 6f 6e 74 72 6f 6c 56 |l = !Get|ControlV|
|000101f0| 61 6c 75 65 28 63 6f 6e | 74 72 6f 6c 29 3b 0d 09 |alue(con|trol);..|
|00010200| 53 65 74 43 6f 6e 74 72 | 6f 6c 56 61 6c 75 65 28 |SetContr|olValue(|
|00010210| 63 6f 6e 74 72 6f 6c 2c | 20 72 65 74 76 61 6c 29 |control,| retval)|
|00010220| 3b 0d 09 72 65 74 75 72 | 6e 20 72 65 74 76 61 6c |;..retur|n retval|
|00010230| 3b 0d 7d 0d 0d 73 74 61 | 74 69 63 20 42 6f 6f 6c |;.}..sta|tic Bool|
|00010240| 65 61 6e 20 45 71 75 61 | 6c 43 6f 6c 6f 72 28 63 |ean Equa|lColor(c|
|00010250| 6f 6e 73 74 20 52 47 42 | 43 6f 6c 6f 72 2a 20 63 |onst RGB|Color* c|
|00010260| 6f 6e 73 74 20 63 31 2c | 20 63 6f 6e 73 74 20 52 |onst c1,| const R|
|00010270| 47 42 43 6f 6c 6f 72 2a | 20 63 6f 6e 73 74 20 63 |GBColor*| const c|
|00010280| 32 29 0d 09 2f 2f 20 72 | 65 74 75 72 6e 73 20 74 |2)..// r|eturns t|
|00010290| 72 75 65 20 69 66 20 63 | 31 3d 3d 63 32 0d 7b 0d |rue if c|1==c2.{.|
|000102a0| 09 72 65 74 75 72 6e 20 | 28 63 31 2d 3e 72 65 64 |.return |(c1->red|
|000102b0| 3d 3d 63 32 2d 3e 72 65 | 64 20 26 26 20 63 31 2d |==c2->re|d && c1-|
|000102c0| 3e 67 72 65 65 6e 3d 3d | 63 32 2d 3e 67 72 65 65 |>green==|c2->gree|
|000102d0| 6e 20 26 26 20 63 31 2d | 3e 62 6c 75 65 3d 3d 63 |n && c1-|>blue==c|
|000102e0| 32 2d 3e 62 6c 75 65 29 | 3b 0d 7d 0d 0d 73 74 61 |2->blue)|;.}..sta|
|000102f0| 74 69 63 20 76 6f 69 64 | 20 53 65 74 43 6f 6c 6f |tic void| SetColo|
|00010300| 72 43 6f 6e 74 72 6f 6c | 28 43 6f 6e 74 72 6f 6c |rControl|(Control|
|00010310| 48 61 6e 64 6c 65 20 63 | 6f 6e 74 72 6f 6c 2c 20 |Handle c|ontrol, |
|00010320| 52 47 42 43 6f 6c 6f 72 | 2a 20 63 6f 6e 73 74 20 |RGBColor|* const |
|00010330| 63 6f 6c 6f 72 2c 20 42 | 6f 6f 6c 65 61 6e 20 74 |color, B|oolean t|
|00010340| 65 78 74 75 72 65 64 29 | 0d 09 2f 2f 20 73 65 74 |extured)|..// set|
|00010350| 73 20 61 20 63 6f 6c 6f | 75 72 20 70 6f 70 75 70 |s a colo|ur popup|
|00010360| 0d 7b 0d 09 73 68 6f 72 | 74 09 69 3b 0d 0d 09 69 |.{..shor|t.i;...i|
|00010370| 66 20 28 74 65 78 74 75 | 72 65 64 29 0d 09 7b 09 |f (textu|red)..{.|
|00010380| 53 65 74 43 6f 6e 74 72 | 6f 6c 56 61 6c 75 65 28 |SetContr|olValue(|
|00010390| 63 6f 6e 74 72 6f 6c 2c | 20 31 32 29 3b 09 09 09 |control,| 12);...|
|000103a0| 2f 2f 20 74 65 78 74 75 | 72 65 2e 2e 2e 0d 09 09 |// textu|re......|
|000103b0| 72 65 74 75 72 6e 3b 0d | 09 7d 0d 09 66 6f 72 20 |return;.|.}..for |
|000103c0| 28 69 3d 30 3b 20 69 3c | 39 3b 20 69 2b 2b 29 0d |(i=0; i<|9; i++).|
|000103d0| 09 09 69 66 20 28 45 71 | 75 61 6c 43 6f 6c 6f 72 |..if (Eq|ualColor|
|000103e0| 28 26 64 65 66 61 75 6c | 74 43 6f 6c 6f 72 5b 69 |(&defaul|tColor[i|
|000103f0| 5d 2c 20 63 6f 6c 6f 72 | 29 29 0d 09 09 7b 09 53 |], color|))...{.S|
|00010400| 65 74 43 6f 6e 74 72 6f | 6c 56 61 6c 75 65 28 63 |etContro|lValue(c|
|00010410| 6f 6e 74 72 6f 6c 2c 20 | 69 2b 31 29 3b 0d 09 09 |ontrol, |i+1);...|
|00010420| 09 72 65 74 75 72 6e 3b | 0d 09 09 7d 0d 09 53 65 |.return;|...}..Se|
|00010430| 74 43 6f 6e 74 72 6f 6c | 56 61 6c 75 65 28 63 6f |tControl|Value(co|
|00010440| 6e 74 72 6f 6c 2c 20 31 | 31 29 3b 09 09 09 2f 2f |ntrol, 1|1);...//|
|00010450| 20 6f 74 68 65 72 2e 2e | 2e 0d 09 2a 28 28 52 47 | other..|...*((RG|
|00010460| 42 43 6f 6c 6f 72 2a 29 | 47 65 74 43 6f 6e 74 72 |BColor*)|GetContr|
|00010470| 6f 6c 52 65 66 65 72 65 | 6e 63 65 28 63 6f 6e 74 |olRefere|nce(cont|
|00010480| 72 6f 6c 29 29 20 3d 20 | 2a 63 6f 6c 6f 72 3b 0d |rol)) = |*color;.|
|00010490| 7d 0d 0d 73 74 61 74 69 | 63 20 50 69 63 48 61 6e |}..stati|c PicHan|
|000104a0| 64 6c 65 20 47 65 74 56 | 69 65 77 65 72 50 69 63 |dle GetV|iewerPic|
|000104b0| 28 76 6f 69 64 29 0d 09 | 2f 2f 20 72 65 74 75 72 |(void)..|// retur|
|000104c0| 6e 73 20 61 20 70 69 63 | 74 75 72 65 20 6f 66 20 |ns a pic|ture of |
|000104d0| 74 68 65 20 63 6f 6e 74 | 65 6e 74 73 20 6f 66 20 |the cont|ents of |
|000104e0| 74 68 65 20 76 69 65 77 | 65 72 0d 7b 0d 0d 09 69 |the view|er.{...i|
|000104f0| 66 20 28 76 69 65 77 65 | 72 3d 3d 4e 55 4c 4c 29 |f (viewe|r==NULL)|
|00010500| 20 72 65 74 75 72 6e 20 | 6e 69 6c 3b 0d 0d 09 72 | return |nil;...r|
|00010510| 65 74 75 72 6e 20 50 33 | 56 69 65 77 65 72 47 65 |eturn P3|ViewerGe|
|00010520| 74 50 69 63 74 28 76 69 | 65 77 65 72 2c 20 70 69 |tPict(vi|ewer, pi|
|00010530| 63 4f 70 74 69 6f 6e 73 | 2e 72 65 73 6f 6c 75 74 |cOptions|.resolut|
|00010540| 69 6f 6e 2c 20 70 69 63 | 4f 70 74 69 6f 6e 73 2e |ion, pic|Options.|
|00010550| 70 69 63 44 65 70 74 68 | 2c 20 70 69 63 4f 70 74 |picDepth|, picOpt|
|00010560| 69 6f 6e 73 2e 70 69 63 | 4d 6f 64 65 29 3b 0d 09 |ions.pic|Mode);..|
|00010570| 0d 7d 0d 0d 73 74 61 74 | 69 63 20 76 6f 69 64 20 |.}..stat|ic void |
|00010580| 57 72 69 74 65 54 6f 46 | 69 6c 65 28 46 53 53 70 |WriteToF|ile(FSSp|
|00010590| 65 63 2a 20 63 6f 6e 73 | 74 20 66 69 6c 65 2c 20 |ec* cons|t file, |
|000105a0| 53 63 72 69 70 74 43 6f | 64 65 20 73 63 72 69 70 |ScriptCo|de scrip|
|000105b0| 74 29 0d 09 2f 2f 20 77 | 72 69 74 65 73 20 74 68 |t)..// w|rites th|
|000105c0| 65 20 6d 6f 64 65 6c 20 | 74 6f 20 74 68 65 20 67 |e model |to the g|
|000105d0| 69 76 65 6e 20 66 69 6c | 65 0d 7b 0d 0d 09 46 53 |iven fil|e.{...FS|
|000105e0| 70 44 65 6c 65 74 65 28 | 66 69 6c 65 29 3b 09 09 |pDelete(|file);..|
|000105f0| 09 09 09 2f 2f 20 64 65 | 6c 65 74 65 20 65 78 69 |...// de|lete exi|
|00010600| 73 74 69 6e 67 20 66 69 | 6c 65 20 28 69 66 20 61 |sting fi|le (if a|
|00010610| 6e 79 29 0d 09 69 66 20 | 28 46 53 70 43 72 65 61 |ny)..if |(FSpCrea|
|00010620| 74 65 28 66 69 6c 65 2c | 27 23 6e 6a 74 27 2c 27 |te(file,|'#njt','|
|00010630| 33 44 4d 46 27 2c 20 73 | 63 72 69 70 74 29 20 3d |3DMF', s|cript) =|
|00010640| 3d 20 6e 6f 45 72 72 29 | 09 09 2f 2f 20 27 23 6e |= noErr)|..// '#n|
|00010650| 6a 74 27 20 69 73 20 22 | 53 69 6d 70 6c 65 33 44 |jt' is "|Simple3D|
|00010660| 56 69 65 77 65 72 22 2c | 20 49 20 64 75 6e 6e 6f |Viewer",| I dunno|
|00010670| 20 69 66 20 74 68 69 73 | 20 69 73 20 61 20 67 6f | if this| is a go|
|00010680| 6f 64 20 63 68 6f 69 63 | 65 0d 09 7b 0d 09 09 73 |od choic|e..{...s|
|00010690| 68 6f 72 74 09 72 65 66 | 4e 75 6d 3b 0d 0d 09 09 |hort.ref|Num;....|
|000106a0| 69 66 28 46 53 70 4f 70 | 65 6e 44 46 28 66 69 6c |if(FSpOp|enDF(fil|
|000106b0| 65 2c 20 66 73 57 72 50 | 65 72 6d 2c 20 26 72 65 |e, fsWrP|erm, &re|
|000106c0| 66 4e 75 6d 29 20 3d 3d | 20 6e 6f 45 72 72 29 0d |fNum) ==| noErr).|
|000106d0| 09 09 7b 0d 09 09 09 50 | 33 56 69 65 77 65 72 57 |..{....P|3ViewerW|
|000106e0| 72 69 74 65 46 69 6c 65 | 28 76 69 65 77 65 72 2c |riteFile|(viewer,|
|000106f0| 20 72 65 66 4e 75 6d 29 | 3b 09 09 2f 2f 20 77 72 | refNum)|;..// wr|
|00010700| 69 74 65 20 74 68 65 20 | 66 69 6c 65 2c 20 74 68 |ite the |file, th|
|00010710| 61 74 27 73 20 65 61 73 | 79 0d 09 09 09 73 61 76 |at's eas|y....sav|
|00010720| 65 64 20 3d 20 74 72 75 | 65 3b 0d 09 09 09 64 65 |ed = tru|e;....de|
|00010730| 66 61 75 6c 74 46 69 6c | 65 20 3d 20 2a 66 69 6c |faultFil|e = *fil|
|00010740| 65 3b 0d 09 09 09 46 53 | 43 6c 6f 73 65 28 72 65 |e;....FS|Close(re|
|00010750| 66 4e 75 6d 29 3b 0d 09 | 09 7d 0d 09 7d 0d 7d 0d |fNum);..|.}..}.}.|
|00010760| 0d 73 74 61 74 69 63 20 | 42 6f 6f 6c 65 61 6e 20 |.static |Boolean |
|00010770| 4d 61 6b 65 54 68 65 50 | 69 63 28 76 6f 69 64 29 |MakeTheP|ic(void)|
|00010780| 0d 09 2f 2f 20 63 72 65 | 61 74 65 73 20 61 20 70 |..// cre|ates a p|
|00010790| 69 63 74 75 72 65 20 6f | 66 20 74 68 65 20 70 72 |icture o|f the pr|
|000107a0| 65 69 76 65 77 20 61 6e | 64 20 73 65 6e 64 73 20 |eivew an|d sends |
|000107b0| 69 74 20 74 6f 20 70 72 | 6f 20 46 69 74 0d 7b 0d |it to pr|o Fit.{.|
|000107c0| 09 50 69 63 48 61 6e 64 | 6c 65 09 70 69 63 20 3d |.PicHand|le.pic =|
|000107d0| 20 47 65 74 56 69 65 77 | 65 72 50 69 63 28 29 3b | GetView|erPic();|
|000107e0| 0d 09 69 66 20 28 70 69 | 63 29 0d 09 7b 09 52 65 |..if (pi|c)..{.Re|
|000107f0| 63 74 09 72 20 3d 20 28 | 2a 2a 70 69 63 29 2e 70 |ct.r = (|**pic).p|
|00010800| 69 63 46 72 61 6d 65 3b | 0d 09 09 4f 66 66 73 65 |icFrame;|...Offse|
|00010810| 74 52 65 63 74 28 26 72 | 2c 20 34 30 2d 72 2e 6c |tRect(&r|, 40-r.l|
|00010820| 65 66 74 2c 20 34 30 2d | 72 2e 74 6f 70 29 3b 0d |eft, 40-|r.top);.|
|00010830| 09 09 44 72 61 77 50 49 | 43 54 28 72 2e 6c 65 66 |..DrawPI|CT(r.lef|
|00010840| 74 2c 20 72 2e 74 6f 70 | 2c 20 72 2e 72 69 67 68 |t, r.top|, r.righ|
|00010850| 74 2c 20 72 2e 62 6f 74 | 74 6f 6d 2c 20 70 69 63 |t, r.bot|tom, pic|
|00010860| 29 3b 0d 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |);...ret|urn true|
|00010870| 3b 0d 09 7d 0d 09 65 6c | 73 65 0d 09 09 4d 79 41 |;..}..el|se...MyA|
|00010880| 6c 65 72 74 28 33 30 30 | 37 31 29 3b 09 09 09 2f |lert(300|71);.../|
|00010890| 2f 20 65 78 70 6c 61 69 | 6e 20 77 68 79 20 69 74 |/ explai|n why it|
|000108a0| 20 6d 69 67 68 74 20 68 | 61 76 65 20 66 61 69 6c | might h|ave fail|
|000108b0| 65 64 0d 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |ed..retu|rn false|
|000108c0| 3b 0d 7d 0d 0d 73 74 61 | 74 69 63 20 76 6f 69 64 |;.}..sta|tic void|
|000108d0| 20 43 68 65 63 6b 4d 65 | 6e 75 73 28 42 6f 6f 6c | CheckMe|nus(Bool|
|000108e0| 65 61 6e 20 61 63 74 69 | 76 65 29 0d 09 2f 2f 20 |ean acti|ve)..// |
|000108f0| 65 6e 64 61 62 6c 65 73 | 2f 64 69 73 61 62 6c 65 |endables|/disable|
|00010900| 73 20 6d 65 6e 75 73 0d | 7b 0d 09 69 66 20 28 66 |s menus.|{..if (f|
|00010910| 69 6c 65 4d 65 6e 75 29 | 09 09 09 09 09 09 09 09 |ileMenu)|........|
|00010920| 2f 2f 20 69 66 20 77 65 | 20 68 61 76 65 20 73 75 |// if we| have su|
|00010930| 63 63 65 65 64 65 64 20 | 61 64 64 69 6e 67 20 74 |cceeded |adding t|
|00010940| 68 65 20 65 64 69 74 20 | 6d 65 6e 75 0d 09 7b 09 |he edit |menu..{.|
|00010950| 69 66 20 28 61 63 74 69 | 76 65 29 20 45 6e 61 62 |if (acti|ve) Enab|
|00010960| 6c 65 49 74 65 6d 28 66 | 69 6c 65 4d 65 6e 75 2c |leItem(f|ileMenu,|
|00010970| 20 30 29 3b 0d 09 09 65 | 6c 73 65 20 44 69 73 61 | 0);...e|lse Disa|
|00010980| 62 6c 65 49 74 65 6d 28 | 66 69 6c 65 4d 65 6e 75 |bleItem(|fileMenu|
|00010990| 2c 20 30 29 3b 0d 09 7d | 0d 09 69 66 20 28 65 64 |, 0);..}|..if (ed|
|000109a0| 69 74 4d 65 6e 75 29 09 | 09 09 09 09 09 09 09 2f |itMenu).|......./|
|000109b0| 2f 20 69 66 20 77 65 20 | 68 61 76 65 20 73 75 63 |/ if we |have suc|
|000109c0| 63 65 65 64 65 64 20 61 | 64 64 69 6e 67 20 74 68 |ceeded a|dding th|
|000109d0| 65 20 65 64 69 74 20 6d | 65 6e 75 0d 09 7b 09 69 |e edit m|enu..{.i|
|000109e0| 66 20 28 61 63 74 69 76 | 65 29 0d 09 09 7b 0d 09 |f (activ|e)...{..|
|000109f0| 09 09 73 68 6f 72 74 09 | 69 2c 20 6e 72 49 74 65 |..short.|i, nrIte|
|00010a00| 6d 73 20 3d 20 43 6f 75 | 6e 74 4d 49 74 65 6d 73 |ms = Cou|ntMItems|
|00010a10| 28 65 64 69 74 4d 65 6e | 75 29 3b 0d 09 09 09 66 |(editMen|u);....f|
|00010a20| 6f 72 20 28 69 3d 30 3b | 20 69 3c 6e 72 49 74 65 |or (i=0;| i<nrIte|
|00010a30| 6d 73 3b 20 69 2b 2b 29 | 0d 09 09 09 7b 09 69 66 |ms; i++)|....{.if|
|00010a40| 20 28 69 20 3d 3d 20 30 | 20 7c 7c 20 69 20 3d 3d | (i == 0| || i ==|
|00010a50| 20 63 6f 70 79 49 74 65 | 6d 4e 72 20 7c 7c 20 69 | copyIte|mNr || i|
|00010a60| 3e 3d 70 6c 6f 74 46 75 | 6e 63 74 69 6f 6e 49 74 |>=plotFu|nctionIt|
|00010a70| 65 6d 4e 72 29 0d 09 09 | 09 09 09 45 6e 61 62 6c |emNr)...|...Enabl|
|00010a80| 65 49 74 65 6d 28 65 64 | 69 74 4d 65 6e 75 2c 20 |eItem(ed|itMenu, |
|00010a90| 69 29 3b 0d 09 09 09 09 | 65 6c 73 65 0d 09 09 09 |i);.....|else....|
|00010aa0| 09 09 44 69 73 61 62 6c | 65 49 74 65 6d 28 65 64 |..Disabl|eItem(ed|
|00010ab0| 69 74 4d 65 6e 75 2c 20 | 69 29 3b 09 0d 09 09 09 |itMenu, |i);.....|
|00010ac0| 7d 0d 09 09 7d 0d 09 09 | 65 6c 73 65 20 44 69 73 |}...}...|else Dis|
|00010ad0| 61 62 6c 65 49 74 65 6d | 28 65 64 69 74 4d 65 6e |ableItem|(editMen|
|00010ae0| 75 2c 20 30 29 3b 0d 09 | 7d 0d 09 55 70 64 61 74 |u, 0);..|}..Updat|
|00010af0| 65 53 74 79 6c 65 4d 65 | 6e 75 73 28 29 3b 0d 09 |eStyleMe|nus();..|
|00010b00| 44 72 61 77 4d 65 6e 75 | 42 61 72 28 29 3b 0d 7d |DrawMenu|Bar();.}|
|00010b10| 0d 0d 73 74 61 74 69 63 | 20 42 6f 6f 6c 65 61 6e |..static| Boolean|
|00010b20| 20 4d 61 69 6e 57 69 6e | 64 6f 77 48 61 6e 64 6c | MainWin|dowHandl|
|00010b30| 65 72 28 6c 6f 6e 67 20 | 6d 65 73 73 61 67 65 2c |er(long |message,|
|00010b40| 20 76 6f 69 64 2a 20 6d | 2c 20 76 6f 69 64 2a 20 | void* m|, void* |
|00010b50| 70 61 72 61 6d 29 0d 7b | 0d 0d 09 47 72 61 66 50 |param).{|...GrafP|
|00010b60| 74 72 09 09 09 6f 6c 64 | 50 6f 72 74 3b 0d 09 45 |tr...old|Port;..E|
|00010b70| 76 65 6e 74 52 65 63 6f | 72 64 2a 09 65 76 65 6e |ventReco|rd*.even|
|00010b80| 74 20 3d 20 28 45 76 65 | 6e 74 52 65 63 6f 72 64 |t = (Eve|ntRecord|
|00010b90| 2a 29 6d 3b 0d 09 42 6f | 6f 6c 65 61 6e 09 09 09 |*)m;..Bo|olean...|
|00010ba0| 72 65 74 76 61 6c 20 3d | 20 66 61 6c 73 65 3b 0d |retval =| false;.|
|00010bb0| 0d 09 69 66 20 28 6d 65 | 73 73 61 67 65 20 3d 3d |..if (me|ssage ==|
|00010bc0| 20 27 67 72 77 31 27 29 | 09 09 09 09 09 2f 2f 20 | 'grw1')|.....// |
|00010bd0| 72 65 74 75 72 6e 20 67 | 72 6f 77 20 73 69 7a 65 |return g|row size|
|00010be0| 0d 09 7b 09 53 65 74 52 | 65 63 74 28 28 52 65 63 |..{.SetR|ect((Rec|
|00010bf0| 74 2a 29 6d 2c 20 6d 69 | 6e 57 69 6e 64 6f 77 57 |t*)m, mi|nWindowW|
|00010c00| 69 64 74 68 2c 20 6d 69 | 6e 57 69 6e 64 6f 77 48 |idth, mi|nWindowH|
|00010c10| 65 69 67 68 74 2c 20 32 | 30 30 30 2c 20 32 30 30 |eight, 2|000, 200|
|00010c20| 30 29 3b 0d 09 09 72 65 | 74 75 72 6e 20 74 72 75 |0);...re|turn tru|
|00010c30| 65 3b 0d 09 7d 0d 09 65 | 6c 73 65 20 69 66 20 28 |e;..}..e|lse if (|
|00010c40| 6d 65 73 73 61 67 65 20 | 3d 3d 20 27 67 72 77 32 |message |== 'grw2|
|00010c50| 27 29 09 09 09 09 2f 2f | 20 77 69 6e 64 6f 77 20 |')....//| window |
|00010c60| 68 61 73 20 62 65 65 6e | 20 67 72 6f 77 6e 0d 09 |has been| grown..|
|00010c70| 7b 09 57 69 6e 64 6f 77 | 47 72 6f 77 6e 28 29 3b |{.Window|Grown();|
|00010c80| 0d 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00010c90| 09 7d 0d 09 65 6c 73 65 | 20 69 66 20 28 6d 65 73 |.}..else| if (mes|
|00010ca0| 73 61 67 65 20 3d 3d 20 | 27 6d 65 6e 75 27 29 0d |sage == |'menu').|
|00010cb0| 09 7b 0d 09 09 6c 6f 6e | 67 09 6d 52 65 73 75 6c |.{...lon|g.mResul|
|00010cc0| 74 20 3d 20 2a 28 6c 6f | 6e 67 2a 29 6d 3b 0d 09 |t = *(lo|ng*)m;..|
|00010cd0| 09 73 68 6f 72 74 09 74 | 68 65 49 74 65 6d 20 3d |.short.t|heItem =|
|00010ce0| 20 6d 52 65 73 75 6c 74 | 20 26 20 30 78 30 30 30 | mResult| & 0x000|
|00010cf0| 30 46 46 46 46 3b 0d 09 | 09 73 68 6f 72 74 09 74 |0FFFF;..|.short.t|
|00010d00| 68 65 4d 65 6e 75 20 3d | 20 28 28 75 6e 73 69 67 |heMenu =| ((unsig|
|00010d10| 6e 65 64 20 6c 6f 6e 67 | 29 20 28 6d 52 65 73 75 |ned long|) (mResu|
|00010d20| 6c 74 29 29 20 3e 3e 20 | 31 36 3b 0d 09 09 0d 09 |lt)) >> |16;.....|
|00010d30| 09 73 77 69 74 63 68 28 | 74 68 65 4d 65 6e 75 29 |.switch(|theMenu)|
|00010d40| 0d 09 09 7b 0d 09 09 63 | 61 73 65 20 66 69 6c 65 |...{...c|ase file|
|00010d50| 4d 65 6e 75 49 44 3a 0d | 09 09 09 09 09 69 66 20 |MenuID:.|.....if |
|00010d60| 28 74 68 65 49 74 65 6d | 20 3d 3d 20 73 61 76 65 |(theItem| == save|
|00010d70| 41 73 49 74 65 6d 4e 72 | 20 7c 7c 20 28 74 68 65 |AsItemNr| || (the|
|00010d80| 49 74 65 6d 20 3d 3d 20 | 73 61 76 65 49 74 65 6d |Item == |saveItem|
|00010d90| 4e 72 20 26 26 20 73 61 | 76 65 64 20 3d 3d 20 66 |Nr && sa|ved == f|
|00010da0| 61 6c 73 65 29 29 0d 09 | 09 09 09 09 7b 09 53 74 |alse))..|....{.St|
|00010db0| 61 6e 64 61 72 64 46 69 | 6c 65 52 65 70 6c 79 09 |andardFi|leReply.|
|00010dc0| 72 65 70 3b 0d 09 09 09 | 09 09 09 53 74 61 6e 64 |rep;....|...Stand|
|00010dd0| 61 72 64 50 75 74 46 69 | 6c 65 28 22 5c 70 53 61 |ardPutFi|le("\pSa|
|00010de0| 76 65 20 33 44 20 6d 6f | 64 65 6c 20 61 73 3a 22 |ve 3D mo|del as:"|
|00010df0| 2c 20 22 5c 70 46 75 6e | 63 74 69 6f 6e 2e 33 44 |, "\pFun|ction.3D|
|00010e00| 4d 46 22 2c 20 26 72 65 | 70 29 3b 0d 09 09 09 09 |MF", &re|p);.....|
|00010e10| 09 09 69 66 20 28 72 65 | 70 2e 73 66 47 6f 6f 64 |..if (re|p.sfGood|
|00010e20| 29 0d 09 09 09 09 09 09 | 09 57 72 69 74 65 54 6f |).......|.WriteTo|
|00010e30| 46 69 6c 65 28 26 72 65 | 70 2e 73 66 46 69 6c 65 |File(&re|p.sfFile|
|00010e40| 2c 20 72 65 70 2e 73 66 | 53 63 72 69 70 74 29 3b |, rep.sf|Script);|
|00010e50| 0d 09 09 09 09 09 7d 0d | 09 09 09 09 09 65 6c 73 |......}.|.....els|
|00010e60| 65 20 69 66 20 28 74 68 | 65 49 74 65 6d 20 3d 3d |e if (th|eItem ==|
|00010e70| 20 73 61 76 65 49 74 65 | 6d 4e 72 29 0d 09 09 09 | saveIte|mNr)....|
|00010e80| 09 09 09 57 72 69 74 65 | 54 6f 46 69 6c 65 28 26 |...Write|ToFile(&|
|00010e90| 64 65 66 61 75 6c 74 46 | 69 6c 65 2c 20 73 6d 53 |defaultF|ile, smS|
|00010ea0| 79 73 74 65 6d 53 63 72 | 69 70 74 29 3b 0d 09 09 |ystemScr|ipt);...|
|00010eb0| 09 09 09 65 6c 73 65 20 | 69 66 20 28 74 68 65 49 |...else |if (theI|
|00010ec0| 74 65 6d 20 3d 3d 20 73 | 61 76 65 53 74 79 6c 65 |tem == s|aveStyle|
|00010ed0| 49 74 65 6d 4e 72 29 0d | 09 09 09 09 09 09 53 61 |ItemNr).|......Sa|
|00010ee0| 76 65 53 74 79 6c 65 44 | 69 61 6c 6f 67 28 29 3b |veStyleD|ialog();|
|00010ef0| 0d 09 09 09 09 09 0d 09 | 09 09 09 09 62 72 65 61 |........|....brea|
|00010f00| 6b 3b 0d 09 09 63 61 73 | 65 20 65 64 69 74 4d 65 |k;...cas|e editMe|
|00010f10| 6e 75 49 44 3a 0d 09 09 | 09 09 7b 09 73 77 69 74 |nuID:...|..{.swit|
|00010f20| 63 68 28 74 68 65 49 74 | 65 6d 29 0d 09 09 09 09 |ch(theIt|em).....|
|00010f30| 09 7b 0d 09 09 09 09 09 | 63 61 73 65 20 63 6f 70 |.{......|case cop|
|00010f40| 79 49 74 65 6d 4e 72 3a | 0d 09 09 09 09 09 09 09 |yItemNr:|........|
|00010f50| 50 33 56 69 65 77 65 72 | 43 6f 70 79 28 76 69 65 |P3Viewer|Copy(vie|
|00010f60| 77 65 72 29 3b 0d 09 09 | 09 09 09 09 09 62 72 65 |wer);...|.....bre|
|00010f70| 61 6b 3b 0d 09 09 09 09 | 09 63 61 73 65 20 70 6c |ak;.....|.case pl|
|00010f80| 6f 74 46 75 6e 63 74 69 | 6f 6e 49 74 65 6d 4e 72 |otFuncti|onItemNr|
|00010f90| 3a 0d 09 09 09 09 09 63 | 61 73 65 20 70 6c 6f 74 |:......c|ase plot|
|00010fa0| 44 61 74 61 58 59 49 74 | 65 6d 4e 72 3a 0d 09 09 |DataXYIt|emNr:...|
|00010fb0| 09 09 09 63 61 73 65 20 | 70 6c 6f 74 44 61 74 61 |...case |plotData|
|00010fc0| 52 6f 77 43 6f 6c 49 74 | 65 6d 4e 72 3a 0d 09 09 |RowColIt|emNr:...|
|00010fd0| 09 09 09 09 7b 09 73 68 | 6f 72 74 09 73 65 6c 65 |....{.sh|ort.sele|
|00010fe0| 63 74 6f 72 20 3d 20 74 | 68 65 49 74 65 6d 20 2d |ctor = t|heItem -|
|00010ff0| 20 70 6c 6f 74 46 75 6e | 63 74 69 6f 6e 49 74 65 | plotFun|ctionIte|
|00011000| 6d 4e 72 3b 0d 09 09 09 | 09 09 09 09 69 66 20 28 |mNr;....|....if (|
|00011010| 28 2a 28 70 6c 6f 74 44 | 69 61 6c 6f 67 50 72 6f |(*(plotD|ialogPro|
|00011020| 63 73 5b 73 65 6c 65 63 | 74 6f 72 5d 29 29 28 29 |cs[selec|tor]))()|
|00011030| 29 09 09 09 09 09 2f 2f | 20 73 68 6f 77 20 64 69 |).....//| show di|
|00011040| 61 6c 6f 67 0d 09 09 09 | 09 09 09 09 7b 0d 09 09 |alog....|....{...|
|00011050| 09 09 09 09 09 09 63 75 | 72 72 65 6e 74 53 75 72 |......cu|rrentSur|
|00011060| 66 61 63 65 54 79 70 65 | 20 3d 20 73 65 6c 65 63 |faceType| = selec|
|00011070| 74 6f 72 3b 0d 09 09 09 | 09 09 09 09 09 4d 61 6b |tor;....|.....Mak|
|00011080| 65 53 75 72 66 61 63 65 | 28 29 3b 09 09 09 09 09 |eSurface|();.....|
|00011090| 09 09 2f 2f 20 63 72 65 | 61 74 65 73 20 73 75 72 |..// cre|ates sur|
|000110a0| 66 61 63 65 20 6f 62 6a | 65 63 74 0d 09 09 09 09 |face obj|ect.....|
|000110b0| 09 09 09 09 4d 61 6b 65 | 41 78 65 73 41 6e 64 4c |....Make|AxesAndL|
|000110c0| 61 62 65 6c 73 28 29 3b | 09 09 09 09 09 2f 2f 20 |abels();|.....// |
|000110d0| 63 72 65 61 74 65 73 20 | 61 78 65 73 2c 20 6c 61 |creates |axes, la|
|000110e0| 62 65 6c 73 20 6f 62 6a | 65 63 74 73 0d 09 09 09 |bels obj|ects....|
|000110f0| 09 09 09 09 09 4d 61 6b | 65 4d 6f 64 65 6c 28 29 |.....Mak|eModel()|
|00011100| 3b 0d 09 09 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |;.......|.}......|
|00011110| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 09 09 09 7d |..break;|.......}|
|00011120| 0d 09 09 09 09 09 63 61 | 73 65 20 6c 69 6e 65 73 |......ca|se lines|
|00011130| 49 74 65 6d 4e 72 3a 0d | 09 09 09 09 09 09 09 69 |ItemNr:.|.......i|
|00011140| 66 20 28 4c 69 6e 65 54 | 68 69 63 6b 6e 65 73 73 |f (LineT|hickness|
|00011150| 44 69 61 6c 6f 67 28 29 | 29 0d 09 09 09 09 09 09 |Dialog()|).......|
|00011160| 09 7b 0d 09 09 09 09 09 | 09 09 09 4d 61 6b 65 53 |.{......|...MakeS|
|00011170| 75 72 66 61 63 65 28 29 | 3b 09 09 09 09 09 09 09 |urface()|;.......|
|00011180| 2f 2f 20 63 72 65 61 74 | 65 73 20 73 75 72 66 61 |// creat|es surfa|
|00011190| 63 65 20 6f 62 6a 65 63 | 74 0d 09 09 09 09 09 09 |ce objec|t.......|
|000111a0| 09 09 4d 61 6b 65 41 78 | 65 73 41 6e 64 4c 61 62 |..MakeAx|esAndLab|
|000111b0| 65 6c 73 28 29 3b 09 09 | 09 09 09 2f 2f 20 63 72 |els();..|...// cr|
|000111c0| 65 61 74 65 73 20 61 78 | 65 73 2c 20 6c 61 62 65 |eates ax|es, labe|
|000111d0| 6c 73 20 6f 62 6a 65 63 | 74 73 0d 09 09 09 09 09 |ls objec|ts......|
|000111e0| 09 09 09 4d 61 6b 65 4d | 6f 64 65 6c 28 29 3b 0d |...MakeM|odel();.|
|000111f0| 09 09 09 09 09 09 09 7d | 0d 09 09 09 09 09 09 09 |.......}|........|
|00011200| 62 72 65 61 6b 3b 0d 09 | 09 09 09 09 63 61 73 65 |break;..|....case|
|00011210| 20 70 69 63 74 4f 70 74 | 69 6f 6e 73 49 74 65 6d | pictOpt|ionsItem|
|00011220| 4e 72 3a 0d 09 09 09 09 | 09 09 09 50 69 63 74 4f |Nr:.....|...PictO|
|00011230| 70 74 69 6f 6e 73 44 69 | 61 6c 6f 67 28 29 3b 0d |ptionsDi|alog();.|
|00011240| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |.......b|reak;...|
|00011250| 09 09 09 63 61 73 65 20 | 63 61 6d 65 72 61 41 6e |...case |cameraAn|
|00011260| 64 49 6c 6c 75 6d 4e 72 | 3a 0d 09 09 09 09 09 09 |dIllumNr|:.......|
|00011270| 09 43 61 6d 65 72 61 41 | 6e 64 49 6c 6c 75 6d 69 |.CameraA|ndIllumi|
|00011280| 6e 61 74 69 6f 6e 44 69 | 61 6c 6f 67 28 29 3b 0d |nationDi|alog();.|
|00011290| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |.......b|reak;...|
|000112a0| 09 09 09 63 61 73 65 20 | 61 78 69 73 4f 70 74 69 |...case |axisOpti|
|000112b0| 6f 6e 73 49 74 65 6d 4e | 72 3a 0d 09 09 09 09 09 |onsItemN|r:......|
|000112c0| 09 09 41 78 69 73 44 69 | 61 6c 6f 67 28 29 3b 0d |..AxisDi|alog();.|
|000112d0| 09 09 09 09 09 09 09 4d | 61 6b 65 53 75 72 66 61 |.......M|akeSurfa|
|000112e0| 63 65 28 29 3b 09 09 09 | 09 09 09 09 09 2f 2f 20 |ce();...|.....// |
|000112f0| 63 72 65 61 74 65 73 20 | 73 75 72 66 61 63 65 20 |creates |surface |
|00011300| 6f 62 6a 65 63 74 0d 09 | 09 09 09 09 09 09 4d 61 |object..|......Ma|
|00011310| 6b 65 4d 6f 64 65 6c 28 | 29 3b 0d 09 09 09 09 09 |keModel(|);......|
|00011320| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 09 09 7d 2f |..break;|......}/|
|00011330| 2f 73 77 69 74 63 68 20 | 74 68 65 49 74 65 6d 0d |/switch |theItem.|
|00011340| 09 09 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 09 09 |.....bre|ak;.....|
|00011350| 7d 0d 09 09 63 61 73 65 | 20 6c 6f 61 64 53 74 79 |}...case| loadSty|
|00011360| 6c 65 4d 65 6e 75 49 44 | 3a 0d 09 09 09 09 09 4c |leMenuID|:......L|
|00011370| 6f 61 64 53 74 79 6c 65 | 28 74 68 65 49 74 65 6d |oadStyle|(theItem|
|00011380| 29 3b 0d 09 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |);......|break;..|
|00011390| 09 63 61 73 65 20 64 65 | 6c 65 74 65 53 74 79 6c |.case de|leteStyl|
|000113a0| 65 4d 65 6e 75 49 44 3a | 0d 09 09 09 09 09 44 65 |eMenuID:|......De|
|000113b0| 6c 65 74 65 53 74 79 6c | 65 28 74 68 65 49 74 65 |leteStyl|e(theIte|
|000113c0| 6d 29 3b 0d 09 09 09 09 | 09 62 72 65 61 6b 3b 0d |m);.....|.break;.|
|000113d0| 09 09 7d 0d 09 09 48 69 | 6c 69 74 65 4d 65 6e 75 |..}...Hi|liteMenu|
|000113e0| 28 30 29 3b 0d 09 7d 0d | 09 65 6c 73 65 20 69 66 |(0);..}.|.else if|
|000113f0| 20 28 6d 65 73 73 61 67 | 65 20 21 3d 20 27 65 76 | (messag|e != 'ev|
|00011400| 6e 74 27 29 20 72 65 74 | 75 72 6e 20 66 61 6c 73 |nt') ret|urn fals|
|00011410| 65 3b 0d 0d 09 2f 2f 20 | 69 66 20 77 65 20 61 72 |e;...// |if we ar|
|00011420| 65 20 68 61 6e 64 6c 69 | 6e 67 20 61 6e 20 65 76 |e handli|ng an ev|
|00011430| 65 6e 74 3a 0d 0d 09 47 | 65 74 50 6f 72 74 28 26 |ent:...G|etPort(&|
|00011440| 6f 6c 64 50 6f 72 74 29 | 3b 0d 09 53 65 74 50 6f |oldPort)|;..SetPo|
|00011450| 72 74 28 67 4d 61 69 6e | 57 69 6e 64 6f 77 29 3b |rt(gMain|Window);|
|00011460| 0d 0d 09 69 66 20 28 65 | 76 65 6e 74 2d 3e 77 68 |...if (e|vent->wh|
|00011470| 61 74 20 21 3d 20 75 70 | 64 61 74 65 45 76 74 20 |at != up|dateEvt |
|00011480| 26 26 20 65 76 65 6e 74 | 2d 3e 77 68 61 74 20 21 |&& event|->what !|
|00011490| 3d 20 6d 6f 75 73 65 44 | 6f 77 6e 29 0d 09 7b 0d |= mouseD|own)..{.|
|000114a0| 09 09 50 6f 69 6e 74 09 | 6c 6f 63 61 6c 50 74 3b |..Point.|localPt;|
|000114b0| 0d 09 09 47 65 74 4d 6f | 75 73 65 28 26 6c 6f 63 |...GetMo|use(&loc|
|000114c0| 61 6c 50 74 29 3b 0d 09 | 09 69 66 20 28 67 4d 61 |alPt);..|.if (gMa|
|000114d0| 69 6e 57 69 6e 64 6f 77 | 20 3d 3d 20 46 72 6f 6e |inWindow| == Fron|
|000114e0| 74 57 69 6e 64 6f 77 28 | 29 29 0d 09 09 09 69 66 |tWindow(|))....if|
|000114f0| 20 28 21 50 33 56 69 65 | 77 65 72 41 64 6a 75 73 | (!P3Vie|werAdjus|
|00011500| 74 43 75 72 73 6f 72 28 | 76 69 65 77 65 72 2c 20 |tCursor(|viewer, |
|00011510| 26 6c 6f 63 61 6c 50 74 | 29 29 0d 09 09 09 09 49 |&localPt|)).....I|
|00011520| 6e 69 74 43 75 72 73 6f | 72 28 29 3b 0d 09 09 52 |nitCurso|r();...R|
|00011530| 65 73 65 74 45 78 63 65 | 70 74 69 6f 6e 28 29 3b |esetExce|ption();|
|00011540| 09 09 2f 2f 20 51 33 56 | 69 65 77 65 72 20 73 6f |..// Q3V|iewer so|
|00011550| 6d 65 74 69 6d 65 73 20 | 67 65 6e 65 72 61 74 65 |metimes |generate|
|00011560| 73 20 65 78 63 65 70 74 | 69 6f 6e 73 2c 20 49 20 |s except|ions, I |
|00011570| 64 75 6e 6e 6f 20 77 68 | 79 0d 09 09 69 66 20 28 |dunno wh|y...if (|
|00011580| 50 33 56 69 65 77 65 72 | 45 76 65 6e 74 28 76 69 |P3Viewer|Event(vi|
|00011590| 65 77 65 72 2c 20 65 76 | 65 6e 74 29 29 0d 09 09 |ewer, ev|ent))...|
|000115a0| 7b 0d 09 09 09 52 65 73 | 65 74 45 78 63 65 70 74 |{....Res|etExcept|
|000115b0| 69 6f 6e 28 29 3b 09 09 | 2f 2f 20 51 33 56 69 65 |ion();..|// Q3Vie|
|000115c0| 77 65 72 20 73 6f 6d 65 | 74 69 6d 65 73 20 67 65 |wer some|times ge|
|000115d0| 6e 65 72 61 74 65 73 20 | 65 78 63 65 70 74 69 6f |nerates |exceptio|
|000115e0| 6e 73 2c 20 49 20 64 75 | 6e 6e 6f 20 77 68 79 0d |ns, I du|nno why.|
|000115f0| 09 09 09 67 6f 74 6f 20 | 64 6f 6e 65 3b 0d 09 09 |...goto |done;...|
|00011600| 7d 0d 09 7d 0d 0d 09 73 | 77 69 74 63 68 20 28 65 |}..}...s|witch (e|
|00011610| 76 65 6e 74 2d 3e 77 68 | 61 74 29 0d 09 7b 0d 09 |vent->wh|at)..{..|
|00011620| 09 63 61 73 65 20 6d 6f | 75 73 65 44 6f 77 6e 3a |.case mo|useDown:|
|00011630| 0d 09 09 09 7b 0d 09 09 | 09 09 73 68 6f 72 74 09 |....{...|..short.|
|00011640| 09 09 77 68 61 74 3b 0d | 09 09 09 09 43 6f 6e 74 |..what;.|....Cont|
|00011650| 72 6f 6c 48 61 6e 64 6c | 65 09 63 6f 6e 74 72 6f |rolHandl|e.contro|
|00011660| 6c 3b 0d 09 09 09 09 50 | 6f 69 6e 74 09 09 09 77 |l;.....P|oint...w|
|00011670| 68 65 72 65 20 3d 20 65 | 76 65 6e 74 2d 3e 77 68 |here = e|vent->wh|
|00011680| 65 72 65 3b 0d 0d 09 09 | 09 09 47 6c 6f 62 61 6c |ere;....|..Global|
|00011690| 54 6f 4c 6f 63 61 6c 28 | 26 77 68 65 72 65 29 3b |ToLocal(|&where);|
|000116a0| 0d 09 09 09 09 69 66 20 | 28 50 74 49 6e 52 65 63 |.....if |(PtInRec|
|000116b0| 74 28 77 68 65 72 65 2c | 20 26 76 69 65 77 65 72 |t(where,| &viewer|
|000116c0| 52 65 63 74 29 29 0d 09 | 09 09 09 7b 09 69 66 20 |Rect))..|...{.if |
|000116d0| 28 50 33 56 69 65 77 65 | 72 45 76 65 6e 74 28 76 |(P3Viewe|rEvent(v|
|000116e0| 69 65 77 65 72 2c 20 65 | 76 65 6e 74 29 29 0d 09 |iewer, e|vent))..|
|000116f0| 09 09 09 09 7b 09 52 65 | 73 65 74 45 78 63 65 70 |....{.Re|setExcep|
|00011700| 74 69 6f 6e 28 29 3b 09 | 09 2f 2f 20 51 33 56 69 |tion();.|.// Q3Vi|
|00011710| 65 77 65 72 20 73 6f 6d | 65 74 69 6d 65 73 20 67 |ewer som|etimes g|
|00011720| 65 6e 65 72 61 74 65 73 | 20 65 78 63 65 70 74 69 |enerates| excepti|
|00011730| 6f 6e 73 2c 20 49 20 64 | 75 6e 6e 6f 20 77 68 79 |ons, I d|unno why|
|00011740| 0d 09 09 09 09 09 09 67 | 6f 74 6f 20 64 6f 6e 65 |.......g|oto done|
|00011750| 3b 0d 09 09 09 09 09 7d | 0d 09 09 09 09 7d 0d 09 |;......}|.....}..|
|00011760| 09 09 09 77 68 61 74 20 | 3d 20 46 69 6e 64 43 6f |...what |= FindCo|
|00011770| 6e 74 72 6f 6c 28 77 68 | 65 72 65 2c 20 67 4d 61 |ntrol(wh|ere, gMa|
|00011780| 69 6e 57 69 6e 64 6f 77 | 2c 20 26 63 6f 6e 74 72 |inWindow|, &contr|
|00011790| 6f 6c 29 3b 0d 09 09 09 | 09 69 66 20 28 77 68 61 |ol);....|.if (wha|
|000117a0| 74 29 0d 09 09 09 09 7b | 0d 0d 0d 09 09 09 09 09 |t).....{|........|
|000117b0| 69 66 20 28 63 6f 6e 74 | 72 6f 6c 20 3d 3d 20 66 |if (cont|rol == f|
|000117c0| 69 6c 6c 53 74 79 6c 65 | 43 74 6c 29 0d 09 09 09 |illStyle|Ctl)....|
|000117d0| 09 09 7b 0d 09 09 09 09 | 09 09 69 66 20 28 54 72 |..{.....|..if (Tr|
|000117e0| 61 63 6b 43 6f 6e 74 72 | 6f 6c 28 63 6f 6e 74 72 |ackContr|ol(contr|
|000117f0| 6f 6c 2c 20 77 68 65 72 | 65 2c 20 28 43 6f 6e 74 |ol, wher|e, (Cont|
|00011800| 72 6f 6c 41 63 74 69 6f | 6e 55 50 50 29 28 2d 31 |rolActio|nUPP)(-1|
|00011810| 29 29 29 0d 09 09 09 09 | 09 09 7b 0d 09 09 09 09 |))).....|..{.....|
|00011820| 09 09 09 67 72 61 66 33 | 44 49 6e 66 6f 2e 73 75 |...graf3|DInfo.su|
|00011830| 72 66 61 63 65 53 74 79 | 6c 65 20 3d 20 47 65 74 |rfaceSty|le = Get|
|00011840| 43 6f 6e 74 72 6f 6c 56 | 61 6c 75 65 28 63 6f 6e |ControlV|alue(con|
|00011850| 74 72 6f 6c 29 2d 31 3b | 0d 09 09 09 09 09 09 09 |trol)-1;|........|
|00011860| 4d 61 6b 65 4d 6f 64 65 | 6c 28 29 3b 0d 09 09 09 |MakeMode|l();....|
|00011870| 09 09 09 7d 0d 09 09 09 | 09 09 7d 0d 09 09 09 09 |...}....|..}.....|
|00011880| 09 69 66 20 28 63 6f 6e | 74 72 6f 6c 20 3d 3d 20 |.if (con|trol == |
|00011890| 73 75 72 66 61 63 65 43 | 6f 6c 6f 72 43 74 6c 20 |surfaceC|olorCtl |
|000118a0| 7c 7c 20 63 6f 6e 74 72 | 6f 6c 20 3d 3d 20 61 78 ||| contr|ol == ax|
|000118b0| 65 73 43 6f 6c 6f 72 43 | 74 6c 20 7c 7c 20 63 6f |esColorC|tl || co|
|000118c0| 6e 74 72 6f 6c 20 3d 3d | 20 6c 61 62 65 6c 73 43 |ntrol ==| labelsC|
|000118d0| 6f 6c 6f 72 43 74 6c 29 | 0d 09 09 09 09 09 7b 0d |olorCtl)|......{.|
|000118e0| 09 09 09 09 09 09 69 66 | 20 28 54 72 61 63 6b 43 |......if| (TrackC|
|000118f0| 6f 6e 74 72 6f 6c 28 63 | 6f 6e 74 72 6f 6c 2c 20 |ontrol(c|ontrol, |
|00011900| 77 68 65 72 65 2c 20 28 | 43 6f 6e 74 72 6f 6c 41 |where, (|ControlA|
|00011910| 63 74 69 6f 6e 55 50 50 | 29 28 2d 31 29 29 29 0d |ctionUPP|)(-1))).|
|00011920| 09 09 09 09 09 09 7b 09 | 73 68 6f 72 74 20 09 09 |......{.|short ..|
|00011930| 69 20 3d 20 47 65 74 43 | 6f 6e 74 72 6f 6c 56 61 |i = GetC|ontrolVa|
|00011940| 6c 75 65 28 63 6f 6e 74 | 72 6f 6c 29 3b 0d 09 09 |lue(cont|rol);...|
|00011950| 09 09 09 09 09 52 47 42 | 43 6f 6c 6f 72 09 6e 65 |.....RGB|Color.ne|
|00011960| 77 43 6f 6c 6f 72 3b 0d | 09 09 09 09 09 09 09 52 |wColor;.|.......R|
|00011970| 47 42 43 6f 6c 6f 72 2a | 09 70 6f 70 75 70 43 6f |GBColor*|.popupCo|
|00011980| 6c 6f 72 20 3d 20 28 52 | 47 42 43 6f 6c 6f 72 2a |lor = (R|GBColor*|
|00011990| 29 47 65 74 43 6f 6e 74 | 72 6f 6c 52 65 66 65 72 |)GetCont|rolRefer|
|000119a0| 65 6e 63 65 28 63 6f 6e | 74 72 6f 6c 29 3b 0d 09 |ence(con|trol);..|
|000119b0| 09 09 09 09 09 09 69 66 | 20 28 69 20 3d 3d 20 31 |......if| (i == 1|
|000119c0| 32 29 09 09 09 09 09 09 | 09 09 2f 2f 20 74 65 78 |2)......|..// tex|
|000119d0| 74 75 72 65 64 0d 09 09 | 09 09 09 09 09 7b 09 0d |tured...|.....{..|
|000119e0| 09 09 09 09 09 09 09 09 | 69 66 20 28 53 65 6c 65 |........|if (Sele|
|000119f0| 63 74 54 65 78 74 75 72 | 65 28 29 29 0d 09 09 09 |ctTextur|e())....|
|00011a00| 09 09 09 09 09 7b 09 67 | 72 61 66 33 44 49 6e 66 |.....{.g|raf3DInf|
|00011a10| 6f 2e 69 73 54 65 78 74 | 75 72 65 64 20 3d 20 74 |o.isText|ured = t|
|00011a20| 72 75 65 3b 0d 09 09 09 | 09 09 09 09 09 09 4d 61 |rue;....|......Ma|
|00011a30| 6b 65 53 75 72 66 61 63 | 65 28 29 3b 0d 09 09 09 |keSurfac|e();....|
|00011a40| 09 09 09 09 09 09 4d 61 | 6b 65 4d 6f 64 65 6c 28 |......Ma|keModel(|
|00011a50| 29 3b 0d 09 09 09 09 09 | 09 09 09 7d 0d 09 09 09 |);......|...}....|
|00011a60| 09 09 09 09 7d 0d 09 09 | 09 09 09 09 09 65 6c 73 |....}...|.....els|
|00011a70| 65 0d 09 09 09 09 09 09 | 09 7b 0d 09 09 09 09 09 |e.......|.{......|
|00011a80| 09 09 09 69 66 20 28 69 | 3c 3d 39 29 09 09 09 09 |...if (i|<=9)....|
|00011a90| 09 09 09 09 09 2f 2f 20 | 69 66 20 61 20 64 65 66 |.....// |if a def|
|00011aa0| 61 75 6c 74 20 63 6f 6c | 6f 72 0d 09 09 09 09 09 |ault col|or......|
|00011ab0| 09 09 09 09 6e 65 77 43 | 6f 6c 6f 72 20 3d 20 64 |....newC|olor = d|
|00011ac0| 65 66 61 75 6c 74 43 6f | 6c 6f 72 5b 69 2d 31 5d |efaultCo|lor[i-1]|
|00011ad0| 3b 09 0d 09 09 09 09 09 | 09 09 09 65 6c 73 65 20 |;.......|...else |
|00011ae0| 69 66 20 28 69 20 3d 3d | 20 31 31 29 09 09 09 09 |if (i ==| 11)....|
|00011af0| 09 09 09 2f 2f 20 69 66 | 20 6f 74 68 65 72 0d 09 |...// if| other..|
|00011b00| 09 09 09 09 09 09 09 7b | 0d 09 09 09 09 09 09 09 |.......{|........|
|00011b10| 09 09 73 74 61 74 69 63 | 20 63 6f 6e 73 74 20 50 |..static| const P|
|00011b20| 6f 69 6e 74 09 70 74 20 | 3d 20 7b 20 2d 31 2c 20 |oint.pt |= { -1, |
|00011b30| 2d 31 7d 3b 09 2f 2f 20 | 6c 65 74 20 74 68 65 20 |-1};.// |let the |
|00011b40| 63 6f 6c 6f 72 20 70 69 | 63 6b 65 72 20 73 65 6c |color pi|cker sel|
|00011b50| 65 63 74 20 74 68 65 20 | 62 65 73 74 20 73 63 72 |ect the |best scr|
|00011b60| 65 65 6e 0d 09 09 09 09 | 09 09 09 0d 09 09 09 09 |een.....|........|
|00011b70| 09 09 09 09 09 69 66 20 | 28 21 47 65 74 43 6f 6c |.....if |(!GetCol|
|00011b80| 6f 72 28 70 74 2c 20 22 | 5c 70 53 65 6c 65 63 74 |or(pt, "|\pSelect|
|00011b90| 20 61 20 63 6f 6c 6f 72 | 22 2c 20 70 6f 70 75 70 | a color|", popup|
|00011ba0| 43 6f 6c 6f 72 2c 20 26 | 6e 65 77 43 6f 6c 6f 72 |Color, &|newColor|
|00011bb0| 29 29 09 2f 2f 20 43 6f | 6c 6f 72 20 70 69 63 6b |)).// Co|lor pick|
|00011bc0| 65 72 0d 09 09 09 09 09 | 09 09 09 09 09 67 6f 74 |er......|.....got|
|00011bd0| 6f 20 64 6f 6e 65 3b 0d | 09 09 09 09 09 09 09 09 |o done;.|........|
|00011be0| 7d 0d 09 09 09 09 09 09 | 09 09 67 72 61 66 33 44 |}.......|..graf3D|
|00011bf0| 49 6e 66 6f 2e 69 73 54 | 65 78 74 75 72 65 64 20 |Info.isT|extured |
|00011c00| 3d 20 66 61 6c 73 65 3b | 0d 09 09 09 09 09 09 09 |= false;|........|
|00011c10| 09 69 66 20 28 21 45 71 | 75 61 6c 43 6f 6c 6f 72 |.if (!Eq|ualColor|
|00011c20| 28 70 6f 70 75 70 43 6f | 6c 6f 72 2c 20 26 6e 65 |(popupCo|lor, &ne|
|00011c30| 77 43 6f 6c 6f 72 29 29 | 0d 09 09 09 09 09 09 09 |wColor))|........|
|00011c40| 09 7b 09 2a 70 6f 70 75 | 70 43 6f 6c 6f 72 20 3d |.{.*popu|pColor =|
|00011c50| 20 6e 65 77 43 6f 6c 6f | 72 3b 0d 09 09 09 09 09 | newColo|r;......|
|00011c60| 09 09 09 09 4d 61 6b 65 | 4d 6f 64 65 6c 28 29 3b |....Make|Model();|
|00011c70| 0d 09 09 09 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |........|.}......|
|00011c80| 09 09 7d 0d 09 09 09 09 | 09 09 7d 0d 09 09 09 09 |..}.....|..}.....|
|00011c90| 09 7d 0d 09 09 09 09 09 | 65 6c 73 65 20 69 66 20 |.}......|else if |
|00011ca0| 28 54 72 61 63 6b 43 6f | 6e 74 72 6f 6c 28 63 6f |(TrackCo|ntrol(co|
|00011cb0| 6e 74 72 6f 6c 2c 20 77 | 68 65 72 65 2c 20 6e 69 |ntrol, w|here, ni|
|00011cc0| 6c 29 29 0d 09 09 09 09 | 09 7b 0d 09 09 09 09 09 |l)).....|.{......|
|00011cd0| 09 69 66 20 28 63 6f 6e | 74 72 6f 6c 20 3d 3d 20 |.if (con|trol == |
|00011ce0| 64 6f 6e 65 43 74 6c 29 | 0d 09 09 09 09 09 09 7b |doneCtl)|.......{|
|00011cf0| 09 72 65 74 76 61 6c 20 | 3d 20 4d 61 6b 65 54 68 |.retval |= MakeTh|
|00011d00| 65 50 69 63 28 29 3b 0d | 09 09 09 09 09 09 7d 0d |ePic();.|......}.|
|00011d10| 09 09 09 09 09 09 65 6c | 73 65 20 69 66 20 28 63 |......el|se if (c|
|00011d20| 6f 6e 74 72 6f 6c 20 3d | 3d 20 63 61 6e 63 65 6c |ontrol =|= cancel|
|00011d30| 43 74 6c 29 0d 09 09 09 | 09 09 09 09 72 65 74 76 |Ctl)....|....retv|
|00011d40| 61 6c 20 3d 20 74 72 75 | 65 3b 0d 09 09 09 09 09 |al = tru|e;......|
|00011d50| 09 65 6c 73 65 20 69 66 | 20 28 63 6f 6e 74 72 6f |.else if| (contro|
|00011d60| 6c 20 3d 3d 20 73 68 6f | 77 53 75 72 66 61 63 65 |l == sho|wSurface|
|00011d70| 43 74 6c 29 0d 09 09 09 | 09 09 09 7b 09 67 72 61 |Ctl)....|...{.gra|
|00011d80| 66 33 44 49 6e 66 6f 2e | 73 68 6f 77 53 75 72 66 |f3DInfo.|showSurf|
|00011d90| 61 63 65 20 3d 20 54 6f | 67 67 6c 65 43 6f 6e 74 |ace = To|ggleCont|
|00011da0| 72 6f 6c 28 63 6f 6e 74 | 72 6f 6c 29 3b 0d 09 09 |rol(cont|rol);...|
|00011db0| 09 09 09 09 09 4d 61 6b | 65 4d 6f 64 65 6c 28 29 |.....Mak|eModel()|
|00011dc0| 3b 0d 09 09 09 09 09 09 | 7d 0d 09 09 09 09 09 09 |;.......|}.......|
|00011dd0| 65 6c 73 65 20 69 66 20 | 28 63 6f 6e 74 72 6f 6c |else if |(control|
|00011de0| 20 3d 3d 20 73 68 6f 77 | 41 78 65 73 43 74 6c 29 | == show|AxesCtl)|
|00011df0| 0d 09 09 09 09 09 09 7b | 09 67 72 61 66 33 44 49 |.......{|.graf3DI|
|00011e00| 6e 66 6f 2e 73 68 6f 77 | 41 78 65 73 20 3d 20 54 |nfo.show|Axes = T|
|00011e10| 6f 67 67 6c 65 43 6f 6e | 74 72 6f 6c 28 63 6f 6e |oggleCon|trol(con|
|00011e20| 74 72 6f 6c 29 3b 0d 09 | 09 09 09 09 09 09 4d 61 |trol);..|......Ma|
|00011e30| 6b 65 4d 6f 64 65 6c 28 | 29 3b 0d 09 09 09 09 09 |keModel(|);......|
|00011e40| 09 7d 0d 09 09 09 09 09 | 09 65 6c 73 65 20 69 66 |.}......|.else if|
|00011e50| 20 28 63 6f 6e 74 72 6f | 6c 20 3d 3d 20 73 68 6f | (contro|l == sho|
|00011e60| 77 4c 61 62 65 6c 73 43 | 74 6c 29 0d 09 09 09 09 |wLabelsC|tl).....|
|00011e70| 09 09 7b 09 67 72 61 66 | 33 44 49 6e 66 6f 2e 73 |..{.graf|3DInfo.s|
|00011e80| 68 6f 77 4e 61 6d 65 73 | 41 6e 64 4c 61 62 65 6c |howNames|AndLabel|
|00011e90| 73 20 3d 20 54 6f 67 67 | 6c 65 43 6f 6e 74 72 6f |s = Togg|leContro|
|00011ea0| 6c 28 63 6f 6e 74 72 6f | 6c 29 3b 0d 09 09 09 09 |l(contro|l);.....|
|00011eb0| 09 09 09 4d 61 6b 65 4d | 6f 64 65 6c 28 29 3b 0d |...MakeM|odel();.|
|00011ec0| 09 09 09 09 09 09 7d 0d | 09 09 09 09 09 7d 2f 2f |......}.|.....}//|
|00011ed0| 65 6c 73 65 20 69 66 20 | 54 72 61 63 6b 43 6f 6e |else if |TrackCon|
|00011ee0| 74 72 6f 6c 0d 09 09 09 | 09 7d 2f 2f 69 66 20 77 |trol....|.}//if w|
|00011ef0| 68 61 74 0d 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |hat.....|break;..|
|00011f00| 09 09 7d 0d 09 09 63 61 | 73 65 20 75 70 64 61 74 |..}...ca|se updat|
|00011f10| 65 45 76 74 3a 0d 09 09 | 09 7b 0d 09 09 09 09 42 |eEvt:...|.{.....B|
|00011f20| 65 67 69 6e 55 70 64 61 | 74 65 28 67 4d 61 69 6e |eginUpda|te(gMain|
|00011f30| 57 69 6e 64 6f 77 29 3b | 0d 09 09 09 09 44 72 61 |Window);|.....Dra|
|00011f40| 77 54 68 65 57 69 6e 64 | 6f 77 28 29 3b 0d 09 09 |wTheWind|ow();...|
|00011f50| 09 09 45 6e 64 55 70 64 | 61 74 65 28 67 4d 61 69 |..EndUpd|ate(gMai|
|00011f60| 6e 57 69 6e 64 6f 77 29 | 3b 0d 09 09 09 09 62 72 |nWindow)|;.....br|
|00011f70| 65 61 6b 3b 0d 09 09 09 | 7d 0d 09 09 63 61 73 65 |eak;....|}...case|
|00011f80| 20 6b 65 79 44 6f 77 6e | 3a 0d 09 09 09 7b 0d 09 | keyDown|:....{..|
|00011f90| 09 09 09 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |...unsig|ned char|
|00011fa0| 20 74 68 65 4b 65 79 20 | 3d 20 65 76 65 6e 74 2d | theKey |= event-|
|00011fb0| 3e 6d 65 73 73 61 67 65 | 20 26 20 63 68 61 72 43 |>message| & charC|
|00011fc0| 6f 64 65 4d 61 73 6b 3b | 0d 09 09 09 09 69 66 20 |odeMask;|.....if |
|00011fd0| 28 43 61 6e 63 65 6c 45 | 76 65 6e 74 28 65 76 65 |(CancelE|vent(eve|
|00011fe0| 6e 74 29 29 0d 09 09 09 | 09 7b 09 46 6c 61 73 68 |nt))....|.{.Flash|
|00011ff0| 43 6f 6e 74 72 6f 6c 28 | 63 61 6e 63 65 6c 43 74 |Control(|cancelCt|
|00012000| 6c 29 3b 0d 09 09 09 09 | 09 72 65 74 76 61 6c 20 |l);.....|.retval |
|00012010| 3d 20 74 72 75 65 3b 0d | 09 09 09 09 7d 0d 09 09 |= true;.|....}...|
|00012020| 09 09 65 6c 73 65 20 69 | 66 20 28 74 68 65 4b 65 |..else i|f (theKe|
|00012030| 79 20 3d 3d 20 30 78 30 | 33 20 7c 7c 20 74 68 65 |y == 0x0|3 || the|
|00012040| 4b 65 79 20 3d 3d 20 30 | 78 31 33 29 09 09 09 09 |Key == 0|x13)....|
|00012050| 2f 2f 20 69 66 20 72 65 | 74 75 72 6e 20 6f 72 20 |// if re|turn or |
|00012060| 65 6e 74 65 72 0d 09 09 | 09 09 7b 09 46 6c 61 73 |enter...|..{.Flas|
|00012070| 68 43 6f 6e 74 72 6f 6c | 28 64 6f 6e 65 43 74 6c |hControl|(doneCtl|
|00012080| 29 3b 0d 09 09 09 09 09 | 4d 61 6b 65 54 68 65 50 |);......|MakeTheP|
|00012090| 69 63 28 29 3b 0d 09 09 | 09 09 09 72 65 74 76 61 |ic();...|...retva|
|000120a0| 6c 20 3d 20 74 72 75 65 | 3b 0d 09 09 09 09 7d 0d |l = true|;.....}.|
|000120b0| 09 09 09 09 65 6c 73 65 | 20 69 66 28 28 65 76 65 |....else| if((eve|
|000120c0| 6e 74 2d 3e 6d 6f 64 69 | 66 69 65 72 73 20 26 20 |nt->modi|fiers & |
|000120d0| 63 6d 64 4b 65 79 29 20 | 21 3d 20 30 29 09 09 09 |cmdKey) |!= 0)...|
|000120e0| 09 2f 2f 20 69 66 20 61 | 20 63 6d 64 2d 4b 65 79 |.// if a| cmd-Key|
|000120f0| 0d 09 09 09 09 7b 0d 09 | 09 09 09 09 6c 6f 6e 67 |.....{..|....long|
|00012100| 20 6d 52 65 73 75 6c 74 | 20 3d 20 4d 65 6e 75 4b | mResult| = MenuK|
|00012110| 65 79 28 74 68 65 4b 65 | 79 29 3b 0d 09 09 09 09 |ey(theKe|y);.....|
|00012120| 09 69 66 20 28 6d 52 65 | 73 75 6c 74 20 21 3d 20 |.if (mRe|sult != |
|00012130| 30 29 0d 09 09 09 09 09 | 09 4d 61 69 6e 57 69 6e |0)......|.MainWin|
|00012140| 64 6f 77 48 61 6e 64 6c | 65 72 28 27 6d 65 6e 75 |dowHandl|er('menu|
|00012150| 27 2c 20 26 6d 52 65 73 | 75 6c 74 2c 20 70 61 72 |', &mRes|ult, par|
|00012160| 61 6d 29 3b 09 2f 2f 20 | 63 61 6c 6c 20 6d 79 73 |am);.// |call mys|
|00012170| 65 6c 66 20 72 65 63 75 | 72 73 69 76 65 6c 79 20 |elf recu|rsively |
|00012180| 66 6f 72 20 68 61 6e 64 | 6c 69 6e 67 20 74 68 65 |for hand|ling the|
|00012190| 20 6d 65 6e 75 0d 09 09 | 09 09 7d 0d 09 09 09 09 | menu...|..}.....|
|000121a0| 65 6c 73 65 20 53 79 73 | 42 65 65 70 28 33 30 29 |else Sys|Beep(30)|
|000121b0| 3b 0d 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |;.....br|eak;....|
|000121c0| 7d 0d 09 09 63 61 73 65 | 20 61 63 74 69 76 61 74 |}...case| activat|
|000121d0| 65 45 76 74 3a 0d 09 09 | 09 09 43 68 65 63 6b 4d |eEvt:...|..CheckM|
|000121e0| 65 6e 75 73 28 28 65 76 | 65 6e 74 2d 3e 6d 6f 64 |enus((ev|ent->mod|
|000121f0| 69 66 69 65 72 73 20 26 | 20 61 63 74 69 76 65 46 |ifiers &| activeF|
|00012200| 6c 61 67 29 21 3d 30 29 | 3b 0d 0d 09 09 09 09 62 |lag)!=0)|;......b|
|00012210| 72 65 61 6b 3b 0d 09 09 | 63 61 73 65 20 6e 75 6c |reak;...|case nul|
|00012220| 6c 45 76 65 6e 74 3a 0d | 09 09 09 7b 0d 09 09 09 |lEvent:.|...{....|
|00012230| 09 50 33 56 69 65 77 65 | 72 45 76 65 6e 74 28 76 |.P3Viewe|rEvent(v|
|00012240| 69 65 77 65 72 2c 20 65 | 76 65 6e 74 29 3b 0d 09 |iewer, e|vent);..|
|00012250| 09 09 09 52 65 73 65 74 | 45 78 63 65 70 74 69 6f |...Reset|Exceptio|
|00012260| 6e 28 29 3b 09 09 2f 2f | 20 51 33 56 69 65 77 65 |n();..//| Q3Viewe|
|00012270| 72 20 73 6f 6d 65 74 69 | 6d 65 73 20 67 65 6e 65 |r someti|mes gene|
|00012280| 72 61 74 65 73 20 65 78 | 63 65 70 74 69 6f 6e 73 |rates ex|ceptions|
|00012290| 2c 20 49 20 64 75 6e 6e | 6f 20 77 68 79 0d 09 09 |, I dunn|o why...|
|000122a0| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 7d 0d 09 7d |..break;|....}..}|
|000122b0| 0d 64 6f 6e 65 3a 0d 09 | 53 65 74 50 6f 72 74 28 |.done:..|SetPort(|
|000122c0| 6f 6c 64 50 6f 72 74 29 | 3b 0d 09 72 65 74 75 72 |oldPort)|;..retur|
|000122d0| 6e 20 72 65 74 76 61 6c | 3b 0d 7d 0d 0d 0d 0d 0d |n retval|;.}.....|
|000122e0| 23 70 72 61 67 6d 61 20 | 6d 61 72 6b 20 2d 0d 0d |#pragma |mark -..|
|000122f0| 0d 73 74 61 74 69 63 20 | 76 6f 69 64 20 53 68 6f |.static |void Sho|
|00012300| 77 45 72 72 6f 72 73 45 | 74 41 6c 28 6c 6f 6e 67 |wErrorsE|tAl(long|
|00012310| 20 66 69 72 73 74 45 72 | 72 6f 72 2c 20 6c 6f 6e | firstEr|ror, lon|
|00012320| 67 20 6c 61 73 74 45 72 | 72 6f 72 29 0d 7b 0d 09 |g lastEr|ror).{..|
|00012330| 57 72 69 74 65 28 22 5c | 70 20 66 69 72 73 74 45 |Write("\|p firstE|
|00012340| 72 72 6f 72 3a 20 22 29 | 3b 20 57 72 69 74 65 49 |rror: ")|; WriteI|
|00012350| 6e 74 28 66 69 72 73 74 | 45 72 72 6f 72 29 3b 0d |nt(first|Error);.|
|00012360| 09 57 72 69 74 65 28 22 | 5c 70 20 6c 61 73 74 45 |.Write("|\p lastE|
|00012370| 72 72 6f 72 3a 20 22 29 | 3b 20 57 72 69 74 65 49 |rror: ")|; WriteI|
|00012380| 6e 74 28 6c 61 73 74 45 | 72 72 6f 72 29 3b 0d 7d |nt(lastE|rror);.}|
|00012390| 0d 0d 73 74 61 74 69 63 | 20 76 6f 69 64 20 45 72 |..static| void Er|
|000123a0| 72 6f 72 50 72 6f 63 28 | 54 51 33 45 72 72 6f 72 |rorProc(|TQ3Error|
|000123b0| 20 66 69 72 73 74 45 72 | 72 6f 72 2c 20 54 51 33 | firstEr|ror, TQ3|
|000123c0| 45 72 72 6f 72 20 6c 61 | 73 74 45 72 72 6f 72 2c |Error la|stError,|
|000123d0| 20 6c 6f 6e 67 20 72 65 | 66 65 72 65 6e 63 65 29 | long re|ference)|
|000123e0| 0d 7b 0d 23 69 66 20 44 | 45 42 55 47 47 49 4e 47 |.{.#if D|EBUGGING|
|000123f0| 0d 09 57 72 69 74 65 6c | 6e 28 22 5c 70 22 29 3b |..Writel|n("\p");|
|00012400| 0d 09 57 72 69 74 65 6c | 6e 28 22 5c 70 45 72 72 |..Writel|n("\pErr|
|00012410| 6f 72 20 72 65 63 65 69 | 76 65 64 3a 22 29 3b 0d |or recei|ved:");.|
|00012420| 09 53 68 6f 77 45 72 72 | 6f 72 73 45 74 41 6c 28 |.ShowErr|orsEtAl(|
|00012430| 66 69 72 73 74 45 72 72 | 6f 72 2c 6c 61 73 74 45 |firstErr|or,lastE|
|00012440| 72 72 6f 72 29 3b 20 0d | 23 65 6e 64 69 66 0d 7d |rror); .|#endif.}|
|00012450| 0d 0d 73 74 61 74 69 63 | 20 76 6f 69 64 20 57 61 |..static| void Wa|
|00012460| 72 6e 69 6e 67 50 72 6f | 63 28 54 51 33 57 61 72 |rningPro|c(TQ3War|
|00012470| 6e 69 6e 67 20 66 69 72 | 73 74 45 72 72 6f 72 2c |ning fir|stError,|
|00012480| 20 54 51 33 57 61 72 6e | 69 6e 67 20 6c 61 73 74 | TQ3Warn|ing last|
|00012490| 45 72 72 6f 72 2c 20 6c | 6f 6e 67 20 72 65 66 65 |Error, l|ong refe|
|000124a0| 72 65 6e 63 65 29 0d 7b | 0d 23 69 66 20 44 45 42 |rence).{|.#if DEB|
|000124b0| 55 47 47 49 4e 47 0d 09 | 57 72 69 74 65 6c 6e 28 |UGGING..|Writeln(|
|000124c0| 22 5c 70 22 29 3b 0d 09 | 57 72 69 74 65 6c 6e 28 |"\p");..|Writeln(|
|000124d0| 22 5c 70 57 61 72 6e 69 | 6e 67 20 72 65 63 65 69 |"\pWarni|ng recei|
|000124e0| 76 65 64 3a 22 29 3b 0d | 09 53 68 6f 77 45 72 72 |ved:");.|.ShowErr|
|000124f0| 6f 72 73 45 74 41 6c 28 | 66 69 72 73 74 45 72 72 |orsEtAl(|firstErr|
|00012500| 6f 72 2c 6c 61 73 74 45 | 72 72 6f 72 29 3b 20 0d |or,lastE|rror); .|
|00012510| 23 65 6e 64 69 66 0d 7d | 0d 0d 73 74 61 74 69 63 |#endif.}|..static|
|00012520| 20 76 6f 69 64 20 4e 6f | 74 69 63 65 50 72 6f 63 | void No|ticeProc|
|00012530| 28 54 51 33 4e 6f 74 69 | 63 65 20 66 69 72 73 74 |(TQ3Noti|ce first|
|00012540| 45 72 72 6f 72 2c 20 54 | 51 33 4e 6f 74 69 63 65 |Error, T|Q3Notice|
|00012550| 20 6c 61 73 74 45 72 72 | 6f 72 2c 20 6c 6f 6e 67 | lastErr|or, long|
|00012560| 20 72 65 66 65 72 65 6e | 63 65 29 0d 7b 0d 23 69 | referen|ce).{.#i|
|00012570| 66 20 44 45 42 55 47 47 | 49 4e 47 0d 09 57 72 69 |f DEBUGG|ING..Wri|
|00012580| 74 65 6c 6e 28 22 5c 70 | 22 29 3b 0d 09 57 72 69 |teln("\p|");..Wri|
|00012590| 74 65 6c 6e 28 22 5c 70 | 4e 6f 74 69 63 65 20 72 |teln("\p|Notice r|
|000125a0| 65 63 65 69 76 65 64 3a | 22 29 3b 0d 09 53 68 6f |eceived:|");..Sho|
|000125b0| 77 45 72 72 6f 72 73 45 | 74 41 6c 28 66 69 72 73 |wErrorsE|tAl(firs|
|000125c0| 74 45 72 72 6f 72 2c 6c | 61 73 74 45 72 72 6f 72 |tError,l|astError|
|000125d0| 29 3b 20 0d 23 65 6e 64 | 69 66 0d 7d 0d 0d 0d 76 |); .#end|if.}...v|
|000125e0| 6f 69 64 20 50 6c 6f 74 | 74 65 72 33 44 4d 61 69 |oid Plot|ter3DMai|
|000125f0| 6e 28 76 6f 69 64 29 0d | 09 2f 2f 20 68 61 6e 64 |n(void).|.// hand|
|00012600| 6c 65 73 20 74 68 65 20 | 6d 61 69 6e 20 77 69 6e |les the |main win|
|00012610| 64 6f 77 20 6f 66 20 74 | 68 65 20 33 44 20 70 6c |dow of t|he 3D pl|
|00012620| 6f 74 74 65 72 20 75 6e | 74 69 6c 20 75 73 65 72 |otter un|til user|
|00012630| 20 65 78 69 74 73 0d 7b | 0d 09 4d 65 6e 75 48 61 | exits.{|..MenuHa|
|00012640| 6e 64 6c 65 09 09 09 6f | 72 69 67 46 69 6c 65 4d |ndle...o|rigFileM|
|00012650| 65 6e 75 20 3d 20 6e 69 | 6c 3b 0d 09 4d 65 6e 75 |enu = ni|l;..Menu|
|00012660| 48 61 6e 64 6c 65 09 09 | 09 6f 72 69 67 45 64 69 |Handle..|.origEdi|
|00012670| 74 4d 65 6e 75 20 3d 20 | 6e 69 6c 3b 0d 09 6c 6f |tMenu = |nil;..lo|
|00012680| 6e 67 09 09 09 09 73 65 | 6c 65 63 74 6f 72 20 3d |ng....se|lector =|
|00012690| 20 28 2a 2a 47 65 74 50 | 62 28 29 2d 3e 67 6c 6f | (**GetP|b()->glo|
|000126a0| 62 61 6c 53 63 72 61 74 | 63 68 2d 3e 67 6c 6f 62 |balScrat|ch->glob|
|000126b0| 61 6c 44 61 74 61 29 5b | 32 32 5d 3b 0d 09 73 68 |alData)[|22];..sh|
|000126c0| 6f 72 74 09 09 09 09 6d | 6f 64 65 6c 54 79 70 65 |ort....m|odelType|
|000126d0| 20 3d 20 30 3b 09 09 2f | 2f 20 30 20 69 66 20 66 | = 0;../|/ 0 if f|
|000126e0| 75 6e 63 74 69 6f 6e 2c | 20 31 20 69 66 20 64 61 |unction,| 1 if da|
|000126f0| 74 61 58 59 2c 20 32 20 | 69 66 20 64 61 74 61 52 |taXY, 2 |if dataR|
|00012700| 6f 77 43 6f 6c 0d 0d 09 | 2f 2f 20 77 65 20 75 73 |owCol...|// we us|
|00012710| 65 20 74 68 65 20 67 6c | 6f 62 61 6c 44 61 74 61 |e the gl|obalData|
|00012720| 5b 32 32 5d 20 66 6f 72 | 20 66 6c 61 67 67 69 6e |[22] for| flaggin|
|00012730| 67 20 63 61 6c 6c 73 20 | 66 72 6f 6d 20 22 50 6c |g calls |from "Pl|
|00012740| 6f 74 33 44 5f 44 61 74 | 61 5f 2e 2e 2e 22 0d 09 |ot3D_Dat|a_..."..|
|00012750| 28 2a 2a 47 65 74 50 62 | 28 29 2d 3e 67 6c 6f 62 |(**GetPb|()->glob|
|00012760| 61 6c 53 63 72 61 74 63 | 68 2d 3e 67 6c 6f 62 61 |alScratc|h->globa|
|00012770| 6c 44 61 74 61 29 5b 32 | 32 5d 20 3d 20 30 3b 0d |lData)[2|2] = 0;.|
|00012780| 09 69 66 20 28 73 65 6c | 65 63 74 6f 72 20 3d 3d |.if (sel|ector ==|
|00012790| 20 31 32 33 34 35 29 20 | 6d 6f 64 65 6c 54 79 70 | 12345) |modelTyp|
|000127a0| 65 20 3d 20 31 3b 0d 09 | 65 6c 73 65 20 69 66 20 |e = 1;..|else if |
|000127b0| 28 73 65 6c 65 63 74 6f | 72 20 3d 3d 20 35 34 33 |(selecto|r == 543|
|000127c0| 32 31 29 20 6d 6f 64 65 | 6c 54 79 70 65 20 3d 20 |21) mode|lType = |
|000127d0| 32 3b 0d 0d 09 66 69 6c | 65 4d 65 6e 75 20 3d 20 |2;...fil|eMenu = |
|000127e0| 6e 69 6c 3b 0d 09 65 64 | 69 74 4d 65 6e 75 20 3d |nil;..ed|itMenu =|
|000127f0| 20 6e 69 6c 3b 0d 09 64 | 65 6c 65 74 65 53 74 79 | nil;..d|eleteSty|
|00012800| 6c 65 4d 65 6e 75 20 3d | 20 6e 69 6c 3b 0d 09 6c |leMenu =| nil;..l|
|00012810| 6f 61 64 53 74 79 6c 65 | 4d 65 6e 75 20 3d 20 6e |oadStyle|Menu = n|
|00012820| 69 6c 3b 0d 0d 09 2f 2f | 20 77 65 20 6d 75 73 74 |il;...//| we must|
|00012830| 20 69 6e 69 74 69 61 6c | 7a 65 20 61 6c 6c 20 76 | initial|ze all v|
|00012840| 61 72 73 2e 20 53 74 61 | 74 69 63 20 69 6e 69 74 |ars. Sta|tic init|
|00012850| 69 61 6c 69 7a 65 72 73 | 20 77 6f 6e 27 74 20 77 |ializers| won't w|
|00012860| 6f 72 6b 20 77 68 65 6e | 20 74 68 65 0d 09 2f 2f |ork when| the..//|
|00012870| 20 6d 6f 64 75 6c 65 20 | 69 73 20 63 61 6c 6c 65 | module |is calle|
|00012880| 64 20 74 77 69 63 65 0d | 09 67 4d 61 69 6e 57 69 |d twice.|.gMainWi|
|00012890| 6e 64 6f 77 20 3d 20 6e | 69 6c 3b 0d 09 76 69 65 |ndow = n|il;..vie|
|000128a0| 77 65 72 20 3d 20 6e 69 | 6c 3b 0d 09 73 61 76 65 |wer = ni|l;..save|
|000128b0| 64 20 3d 20 66 61 6c 73 | 65 3b 0d 0d 09 73 75 72 |d = fals|e;...sur|
|000128c0| 66 61 63 65 20 3d 20 61 | 78 65 73 54 68 69 6e 20 |face = a|xesThin |
|000128d0| 3d 20 61 78 65 73 53 6f | 6c 69 64 20 3d 20 6c 61 |= axesSo|lid = la|
|000128e0| 62 65 6c 73 20 3d 20 6d | 6f 64 65 6c 20 3d 20 73 |bels = m|odel = s|
|000128f0| 75 72 66 61 63 65 41 74 | 74 72 69 62 75 74 65 73 |urfaceAt|tributes|
|00012900| 20 3d 20 61 78 65 73 41 | 74 74 72 69 62 75 74 65 | = axesA|ttribute|
|00012910| 73 20 3d 20 0d 09 09 6c | 61 62 65 6c 73 41 74 74 |s = ...l|abelsAtt|
|00012920| 72 69 62 75 74 65 73 20 | 3d 20 73 75 72 66 61 63 |ributes |= surfac|
|00012930| 65 46 69 6c 6c 53 74 79 | 6c 65 20 3d 20 62 61 63 |eFillSty|le = bac|
|00012940| 6b 66 61 63 69 6e 67 53 | 74 79 6c 65 20 3d 20 4e |kfacingS|tyle = N|
|00012950| 55 4c 4c 3b 0d 0d 09 2f | 2f 20 69 6e 69 74 69 61 |ULL;.../|/ initia|
|00012960| 6c 7a 65 20 51 44 33 44 | 0d 09 69 66 20 28 20 51 |lze QD3D|..if ( Q|
|00012970| 33 49 6e 69 74 69 61 6c | 69 7a 65 28 29 20 3d 3d |3Initial|ize() ==|
|00012980| 20 6b 51 33 46 61 69 6c | 75 72 65 20 29 0d 09 7b | kQ3Fail|ure )..{|
|00012990| 09 57 72 69 74 65 6c 6e | 28 22 5c 70 43 6f 75 6c |.Writeln|("\pCoul|
|000129a0| 64 20 6e 6f 74 20 69 6e | 69 74 69 61 6c 69 7a 65 |d not in|itialize|
|000129b0| 20 51 75 69 63 6b 64 72 | 61 77 20 33 44 2e 22 29 | Quickdr|aw 3D.")|
|000129c0| 3b 0d 09 09 72 65 74 75 | 72 6e 3b 0d 09 7d 0d 0d |;...retu|rn;..}..|
|000129d0| 2f 2f 09 51 33 45 72 72 | 6f 72 5f 52 65 67 69 73 |//.Q3Err|or_Regis|
|000129e0| 74 65 72 28 45 72 72 6f | 72 50 72 6f 63 2c 20 30 |ter(Erro|rProc, 0|
|000129f0| 29 3b 0d 2f 2f 09 51 33 | 57 61 72 6e 69 6e 67 5f |);.//.Q3|Warning_|
|00012a00| 52 65 67 69 73 74 65 72 | 28 57 61 72 6e 69 6e 67 |Register|(Warning|
|00012a10| 50 72 6f 63 2c 20 31 29 | 3b 0d 2f 2f 09 51 33 4e |Proc, 1)|;.//.Q3N|
|00012a20| 6f 74 69 63 65 5f 52 65 | 67 69 73 74 65 72 28 4e |otice_Re|gister(N|
|00012a30| 6f 74 69 63 65 50 72 6f | 63 2c 20 32 29 3b 0d 0d |oticePro|c, 2);..|
|00012a40| 09 44 65 61 63 74 69 76 | 61 74 65 50 72 6f 46 69 |.Deactiv|ateProFi|
|00012a50| 74 57 69 6e 64 6f 77 73 | 28 29 3b 0d 0d 0d 09 69 |tWindows|();....i|
|00012a60| 66 20 28 21 20 28 49 6e | 69 74 50 6c 6f 74 46 75 |f (! (In|itPlotFu|
|00012a70| 6e 63 74 69 6f 6e 28 29 | 20 26 26 20 49 6e 69 74 |nction()| && Init|
|00012a80| 50 6c 6f 74 44 61 74 61 | 58 59 28 29 20 26 26 20 |PlotData|XY() && |
|00012a90| 49 6e 69 74 50 6c 6f 74 | 44 61 74 61 52 6f 77 43 |InitPlot|DataRowC|
|00012aa0| 6f 6c 28 29 29 29 0d 09 | 09 67 6f 74 6f 20 64 6f |ol()))..|.goto do|
|00012ab0| 6e 65 3b 0d 0d 09 69 66 | 20 28 28 2a 28 70 6c 6f |ne;...if| ((*(plo|
|00012ac0| 74 44 69 61 6c 6f 67 50 | 72 6f 63 73 5b 6d 6f 64 |tDialogP|rocs[mod|
|00012ad0| 65 6c 54 79 70 65 5d 29 | 29 28 29 3d 3d 66 61 6c |elType])|)()==fal|
|00012ae0| 73 65 29 0d 09 7b 09 53 | 74 6f 70 45 78 65 63 75 |se)..{.S|topExecu|
|00012af0| 74 69 6f 6e 28 29 3b 09 | 09 09 09 09 09 09 09 09 |tion();.|........|
|00012b00| 09 2f 2f 20 69 66 20 75 | 73 65 72 20 68 61 73 20 |.// if u|ser has |
|00012b10| 63 61 6e 63 65 6c 6c 65 | 64 0d 09 09 67 6f 74 6f |cancelle|d...goto|
|00012b20| 20 64 6f 6e 65 3b 0d 09 | 7d 0d 09 63 75 72 72 65 | done;..|}..curre|
|00012b30| 6e 74 53 75 72 66 61 63 | 65 54 79 70 65 20 3d 20 |ntSurfac|eType = |
|00012b40| 6d 6f 64 65 6c 54 79 70 | 65 3b 0d 0d 09 09 2f 2f |modelTyp|e;....//|
|00012b50| 20 63 72 65 61 74 65 20 | 74 68 65 20 6d 61 69 6e | create |the main|
|00012b60| 20 77 69 6e 64 6f 77 20 | 61 6e 64 20 69 74 73 20 | window |and its |
|00012b70| 63 6f 6e 74 72 6f 6c 73 | 3a 0d 09 67 4d 61 69 6e |controls|:..gMain|
|00012b80| 57 69 6e 64 6f 77 20 3d | 20 47 65 74 4e 65 77 43 |Window =| GetNewC|
|00012b90| 57 69 6e 64 6f 77 28 33 | 30 30 31 30 2c 6e 69 6c |Window(3|0010,nil|
|00012ba0| 2c 28 57 69 6e 64 6f 77 | 50 74 72 29 2d 31 29 3b |,(Window|Ptr)-1);|
|00012bb0| 0d 09 69 66 20 28 67 4d | 61 69 6e 57 69 6e 64 6f |..if (gM|ainWindo|
|00012bc0| 77 3d 3d 6e 69 6c 29 20 | 67 6f 74 6f 20 64 6f 6e |w==nil) |goto don|
|00012bd0| 65 3b 0d 0d 09 0d 09 2f | 2f 20 66 69 6e 64 20 74 |e;...../|/ find t|
|00012be0| 68 65 20 70 6f 73 69 74 | 69 6f 6e 73 20 6f 66 20 |he posit|ions of |
|00012bf0| 74 68 65 20 22 53 61 76 | 65 20 41 73 2e 2e 2e 22 |the "Sav|e As..."|
|00012c00| 20 61 6e 64 20 22 53 61 | 76 65 22 20 6d 65 6e 75 | and "Sa|ve" menu|
|00012c10| 20 65 6e 74 72 69 65 73 | 0d 09 6f 72 69 67 46 69 | entries|..origFi|
|00012c20| 6c 65 4d 65 6e 75 20 3d | 20 47 65 74 4d 65 6e 75 |leMenu =| GetMenu|
|00012c30| 48 61 6e 64 6c 65 28 66 | 69 6c 65 4d 65 6e 75 49 |Handle(f|ileMenuI|
|00012c40| 44 29 3b 09 09 09 2f 2f | 20 74 72 79 20 67 65 74 |D);...//| try get|
|00012c50| 74 69 6e 67 20 61 74 20 | 70 72 6f 20 46 69 74 27 |ting at |pro Fit'|
|00012c60| 73 20 6d 65 6e 75 73 0d | 09 69 66 20 28 6f 72 69 |s menus.|.if (ori|
|00012c70| 67 46 69 6c 65 4d 65 6e | 75 29 0d 09 7b 0d 09 09 |gFileMen|u)..{...|
|00012c80| 66 69 6c 65 4d 65 6e 75 | 20 3d 20 47 65 74 4d 65 |fileMenu| = GetMe|
|00012c90| 6e 75 28 33 30 30 30 38 | 29 3b 0d 09 09 69 66 20 |nu(30008|);...if |
|00012ca0| 28 66 69 6c 65 4d 65 6e | 75 20 3d 3d 20 6e 69 6c |(fileMen|u == nil|
|00012cb0| 29 0d 09 09 7b 09 6f 72 | 69 67 46 69 6c 65 4d 65 |)...{.or|igFileMe|
|00012cc0| 6e 75 20 3d 20 6e 69 6c | 3b 0d 09 09 09 67 6f 74 |nu = nil|;....got|
|00012cd0| 6f 20 64 6f 6e 65 3b 0d | 09 09 7d 0d 09 09 44 65 |o done;.|..}...De|
|00012ce0| 6c 65 74 65 4d 65 6e 75 | 28 66 69 6c 65 4d 65 6e |leteMenu|(fileMen|
|00012cf0| 75 49 44 29 3b 09 09 09 | 09 09 09 09 2f 2f 20 72 |uID);...|....// r|
|00012d00| 65 6d 6f 76 65 20 69 74 | 0d 09 09 49 6e 73 65 72 |emove it|...Inser|
|00012d10| 74 4d 65 6e 75 28 66 69 | 6c 65 4d 65 6e 75 2c 20 |tMenu(fi|leMenu, |
|00012d20| 66 69 6c 65 4d 65 6e 75 | 49 44 2b 31 29 3b 0d 09 |fileMenu|ID+1);..|
|00012d30| 7d 0d 09 6f 72 69 67 45 | 64 69 74 4d 65 6e 75 20 |}..origE|ditMenu |
|00012d40| 3d 20 47 65 74 4d 65 6e | 75 48 61 6e 64 6c 65 28 |= GetMen|uHandle(|
|00012d50| 65 64 69 74 4d 65 6e 75 | 49 44 29 3b 09 09 09 2f |editMenu|ID);.../|
|00012d60| 2f 20 74 72 79 20 67 65 | 74 74 69 6e 67 20 61 74 |/ try ge|tting at|
|00012d70| 20 70 72 6f 20 46 69 74 | 27 73 20 6d 65 6e 75 73 | pro Fit|'s menus|
|00012d80| 0d 09 69 66 20 28 6f 72 | 69 67 45 64 69 74 4d 65 |..if (or|igEditMe|
|00012d90| 6e 75 29 0d 09 7b 0d 09 | 09 65 64 69 74 4d 65 6e |nu)..{..|.editMen|
|00012da0| 75 20 3d 20 47 65 74 4d | 65 6e 75 28 33 30 30 30 |u = GetM|enu(3000|
|00012db0| 39 29 3b 0d 09 09 69 66 | 20 28 65 64 69 74 4d 65 |9);...if| (editMe|
|00012dc0| 6e 75 20 3d 3d 20 6e 69 | 6c 29 0d 09 09 7b 09 6f |nu == ni|l)...{.o|
|00012dd0| 72 69 67 45 64 69 74 4d | 65 6e 75 20 3d 20 6e 69 |rigEditM|enu = ni|
|00012de0| 6c 3b 0d 09 09 09 67 6f | 74 6f 20 64 6f 6e 65 3b |l;....go|to done;|
|00012df0| 0d 09 09 7d 0d 09 09 44 | 65 6c 65 74 65 4d 65 6e |...}...D|eleteMen|
|00012e00| 75 28 65 64 69 74 4d 65 | 6e 75 49 44 29 3b 09 09 |u(editMe|nuID);..|
|00012e10| 09 09 09 09 09 2f 2f 20 | 72 65 6d 6f 76 65 20 69 |.....// |remove i|
|00012e20| 74 0d 09 09 49 6e 73 65 | 72 74 4d 65 6e 75 28 65 |t...Inse|rtMenu(e|
|00012e30| 64 69 74 4d 65 6e 75 2c | 20 65 64 69 74 4d 65 6e |ditMenu,| editMen|
|00012e40| 75 49 44 2b 31 29 3b 09 | 09 09 09 2f 2f 20 61 6e |uID+1);.|...// an|
|00012e50| 64 20 61 64 64 20 6f 75 | 72 20 6f 77 6e 0d 0d 09 |d add ou|r own...|
|00012e60| 09 6c 6f 61 64 53 74 79 | 6c 65 4d 65 6e 75 20 3d |.loadSty|leMenu =|
|00012e70| 20 47 65 74 4d 65 6e 75 | 28 6c 6f 61 64 53 74 79 | GetMenu|(loadSty|
|00012e80| 6c 65 4d 65 6e 75 49 44 | 29 3b 0d 09 09 49 6e 73 |leMenuID|);...Ins|
|00012e90| 65 72 74 4d 65 6e 75 28 | 6c 6f 61 64 53 74 79 6c |ertMenu(|loadStyl|
|00012ea0| 65 4d 65 6e 75 2c 20 2d | 31 29 3b 0d 09 09 64 65 |eMenu, -|1);...de|
|00012eb0| 6c 65 74 65 53 74 79 6c | 65 4d 65 6e 75 20 3d 20 |leteStyl|eMenu = |
|00012ec0| 47 65 74 4d 65 6e 75 28 | 64 65 6c 65 74 65 53 74 |GetMenu(|deleteSt|
|00012ed0| 79 6c 65 4d 65 6e 75 49 | 44 29 3b 0d 09 09 49 6e |yleMenuI|D);...In|
|00012ee0| 73 65 72 74 4d 65 6e 75 | 28 64 65 6c 65 74 65 53 |sertMenu|(deleteS|
|00012ef0| 74 79 6c 65 4d 65 6e 75 | 2c 20 2d 31 29 3b 0d 09 |tyleMenu|, -1);..|
|00012f00| 09 55 70 64 61 74 65 53 | 74 79 6c 65 4d 65 6e 75 |.UpdateS|tyleMenu|
|00012f10| 73 28 29 3b 0d 09 7d 0d | 09 44 72 61 77 4d 65 6e |s();..}.|.DrawMen|
|00012f20| 75 42 61 72 28 29 3b 0d | 0d 09 53 65 74 50 6f 72 |uBar();.|..SetPor|
|00012f30| 74 28 67 4d 61 69 6e 57 | 69 6e 64 6f 77 29 3b 0d |t(gMainW|indow);.|
|00012f40| 0d 09 66 69 6c 6c 53 74 | 79 6c 65 43 74 6c 20 3d |..fillSt|yleCtl =|
|00012f50| 20 4e 65 77 43 6f 6e 74 | 72 6f 6c 28 67 4d 61 69 | NewCont|rol(gMai|
|00012f60| 6e 57 69 6e 64 6f 77 2c | 20 26 66 69 6c 6c 53 74 |nWindow,| &fillSt|
|00012f70| 79 6c 65 52 65 63 74 2c | 20 22 5c 70 53 74 79 6c |yleRect,| "\pStyl|
|00012f80| 65 22 2c 20 74 72 75 65 | 2c 20 30 2c 20 33 30 30 |e", true|, 0, 300|
|00012f90| 31 30 2c 20 34 30 2c 20 | 70 6f 70 75 70 4d 65 6e |10, 40, |popupMen|
|00012fa0| 75 50 72 6f 63 2c 30 29 | 3b 0d 09 73 68 6f 77 53 |uProc,0)|;..showS|
|00012fb0| 75 72 66 61 63 65 43 74 | 6c 20 3d 20 4e 65 77 43 |urfaceCt|l = NewC|
|00012fc0| 6f 6e 74 72 6f 6c 28 67 | 4d 61 69 6e 57 69 6e 64 |ontrol(g|MainWind|
|00012fd0| 6f 77 2c 20 26 73 68 6f | 77 53 75 72 66 61 63 65 |ow, &sho|wSurface|
|00012fe0| 52 65 63 74 2c 20 22 5c | 70 53 68 6f 77 20 73 75 |Rect, "\|pShow su|
|00012ff0| 72 66 61 63 65 22 2c 20 | 74 72 75 65 2c 20 67 72 |rface", |true, gr|
|00013000| 61 66 33 44 49 6e 66 6f | 2e 73 68 6f 77 53 75 72 |af3DInfo|.showSur|
|00013010| 66 61 63 65 2c 20 30 2c | 20 31 2c 20 63 68 65 63 |face, 0,| 1, chec|
|00013020| 6b 42 6f 78 50 72 6f 63 | 2c 30 29 3b 0d 09 73 68 |kBoxProc|,0);..sh|
|00013030| 6f 77 41 78 65 73 43 74 | 6c 20 3d 20 4e 65 77 43 |owAxesCt|l = NewC|
|00013040| 6f 6e 74 72 6f 6c 28 67 | 4d 61 69 6e 57 69 6e 64 |ontrol(g|MainWind|
|00013050| 6f 77 2c 20 26 73 68 6f | 77 41 78 65 73 52 65 63 |ow, &sho|wAxesRec|
|00013060| 74 2c 20 22 5c 70 53 68 | 6f 77 20 61 78 65 73 22 |t, "\pSh|ow axes"|
|00013070| 2c 20 74 72 75 65 2c 20 | 67 72 61 66 33 44 49 6e |, true, |graf3DIn|
|00013080| 66 6f 2e 73 68 6f 77 41 | 78 65 73 2c 20 30 2c 20 |fo.showA|xes, 0, |
|00013090| 31 2c 20 63 68 65 63 6b | 42 6f 78 50 72 6f 63 2c |1, check|BoxProc,|
|000130a0| 30 29 3b 0d 09 73 68 6f | 77 4c 61 62 65 6c 73 43 |0);..sho|wLabelsC|
|000130b0| 74 6c 20 3d 20 4e 65 77 | 43 6f 6e 74 72 6f 6c 28 |tl = New|Control(|
|000130c0| 67 4d 61 69 6e 57 69 6e | 64 6f 77 2c 20 26 73 68 |gMainWin|dow, &sh|
|000130d0| 6f 77 4c 61 62 65 6c 73 | 52 65 63 74 2c 20 22 5c |owLabels|Rect, "\|
|000130e0| 70 53 68 6f 77 20 6c 61 | 62 65 6c 73 22 2c 20 74 |pShow la|bels", t|
|000130f0| 72 75 65 2c 20 67 72 61 | 66 33 44 49 6e 66 6f 2e |rue, gra|f3DInfo.|
|00013100| 73 68 6f 77 4e 61 6d 65 | 73 41 6e 64 4c 61 62 65 |showName|sAndLabe|
|00013110| 6c 73 2c 20 30 2c 20 31 | 2c 20 63 68 65 63 6b 42 |ls, 0, 1|, checkB|
|00013120| 6f 78 50 72 6f 63 2c 30 | 29 3b 0d 09 73 75 72 66 |oxProc,0|);..surf|
|00013130| 61 63 65 43 6f 6c 6f 72 | 43 74 6c 20 3d 20 4e 65 |aceColor|Ctl = Ne|
|00013140| 77 43 6f 6e 74 72 6f 6c | 28 67 4d 61 69 6e 57 69 |wControl|(gMainWi|
|00013150| 6e 64 6f 77 2c 20 26 73 | 75 72 66 61 63 65 43 6f |ndow, &s|urfaceCo|
|00013160| 6c 6f 72 52 65 63 74 2c | 20 22 5c 70 43 6f 6c 6f |lorRect,| "\pColo|
|00013170| 72 22 2c 20 74 72 75 65 | 2c 20 31 2c 20 33 30 30 |r", true|, 1, 300|
|00013180| 31 31 2c 20 35 30 2c 20 | 70 6f 70 75 70 4d 65 6e |11, 50, |popupMen|
|00013190| 75 50 72 6f 63 2c 30 29 | 3b 0d 09 61 78 65 73 43 |uProc,0)|;..axesC|
|000131a0| 6f 6c 6f 72 43 74 6c 20 | 3d 20 4e 65 77 43 6f 6e |olorCtl |= NewCon|
|000131b0| 74 72 6f 6c 28 67 4d 61 | 69 6e 57 69 6e 64 6f 77 |trol(gMa|inWindow|
|000131c0| 2c 20 26 61 78 65 73 43 | 6f 6c 6f 72 52 65 63 74 |, &axesC|olorRect|
|000131d0| 2c 20 22 5c 70 43 6f 6c | 6f 72 22 2c 20 74 72 75 |, "\pCol|or", tru|
|000131e0| 65 2c 20 31 2c 20 33 30 | 30 31 32 2c 20 35 30 2c |e, 1, 30|012, 50,|
|000131f0| 20 70 6f 70 75 70 4d 65 | 6e 75 50 72 6f 63 2c 30 | popupMe|nuProc,0|
|00013200| 29 3b 0d 09 6c 61 62 65 | 6c 73 43 6f 6c 6f 72 43 |);..labe|lsColorC|
|00013210| 74 6c 20 3d 20 4e 65 77 | 43 6f 6e 74 72 6f 6c 28 |tl = New|Control(|
|00013220| 67 4d 61 69 6e 57 69 6e | 64 6f 77 2c 20 26 6c 61 |gMainWin|dow, &la|
|00013230| 62 65 6c 73 43 6f 6c 6f | 72 52 65 63 74 2c 20 22 |belsColo|rRect, "|
|00013240| 5c 70 43 6f 6c 6f 72 22 | 2c 20 74 72 75 65 2c 20 |\pColor"|, true, |
|00013250| 31 2c 20 33 30 30 31 33 | 2c 20 35 30 2c 20 70 6f |1, 30013|, 50, po|
|00013260| 70 75 70 4d 65 6e 75 50 | 72 6f 63 2c 30 29 3b 0d |pupMenuP|roc,0);.|
|00013270| 0d 09 64 6f 6e 65 43 74 | 6c 20 3d 20 4e 65 77 43 |..doneCt|l = NewC|
|00013280| 6f 6e 74 72 6f 6c 28 67 | 4d 61 69 6e 57 69 6e 64 |ontrol(g|MainWind|
|00013290| 6f 77 2c 20 26 64 6f 6e | 65 52 65 63 74 2c 20 22 |ow, &don|eRect, "|
|000132a0| 5c 70 44 6f 6e 65 22 2c | 20 74 72 75 65 2c 20 30 |\pDone",| true, 0|
|000132b0| 2c 20 30 2c 20 31 2c 20 | 70 75 73 68 42 75 74 50 |, 0, 1, |pushButP|
|000132c0| 72 6f 63 2c 30 29 3b 0d | 09 63 61 6e 63 65 6c 43 |roc,0);.|.cancelC|
|000132d0| 74 6c 20 3d 20 4e 65 77 | 43 6f 6e 74 72 6f 6c 28 |tl = New|Control(|
|000132e0| 67 4d 61 69 6e 57 69 6e | 64 6f 77 2c 20 26 63 61 |gMainWin|dow, &ca|
|000132f0| 6e 63 65 6c 52 65 63 74 | 2c 20 22 5c 70 43 61 6e |ncelRect|, "\pCan|
|00013300| 63 65 6c 22 2c 20 74 72 | 75 65 2c 20 30 2c 20 30 |cel", tr|ue, 0, 0|
|00013310| 2c 20 31 2c 20 70 75 73 | 68 42 75 74 50 72 6f 63 |, 1, pus|hButProc|
|00013320| 2c 30 29 3b 0d 0d 09 69 | 66 20 28 66 69 6c 6c 53 |,0);...i|f (fillS|
|00013330| 74 79 6c 65 43 74 6c 3d | 3d 6e 69 6c 20 7c 7c 20 |tyleCtl=|=nil || |
|00013340| 73 68 6f 77 53 75 72 66 | 61 63 65 43 74 6c 20 3d |showSurf|aceCtl =|
|00013350| 3d 20 6e 69 6c 20 7c 7c | 0d 09 09 20 73 68 6f 77 |= nil |||... show|
|00013360| 41 78 65 73 43 74 6c 20 | 3d 3d 20 6e 69 6c 20 7c |AxesCtl |== nil ||
|00013370| 7c 20 73 68 6f 77 4c 61 | 62 65 6c 73 43 74 6c 20 || showLa|belsCtl |
|00013380| 3d 3d 20 6e 69 6c 20 7c | 7c 20 73 75 72 66 61 63 |== nil ||| surfac|
|00013390| 65 43 6f 6c 6f 72 43 74 | 6c 20 3d 3d 20 6e 69 6c |eColorCt|l == nil|
|000133a0| 20 7c 7c 0d 09 09 20 61 | 78 65 73 43 6f 6c 6f 72 | ||... a|xesColor|
|000133b0| 43 74 6c 20 3d 3d 20 6e | 69 6c 20 7c 7c 20 6c 61 |Ctl == n|il || la|
|000133c0| 62 65 6c 73 43 6f 6c 6f | 72 43 74 6c 20 3d 3d 20 |belsColo|rCtl == |
|000133d0| 6e 69 6c 20 7c 7c 0d 09 | 09 20 64 6f 6e 65 43 74 |nil ||..|. doneCt|
|000133e0| 6c 20 3d 3d 20 6e 69 6c | 20 7c 7c 20 63 61 6e 63 |l == nil| || canc|
|000133f0| 65 6c 43 74 6c 20 3d 3d | 20 6e 69 6c 29 20 67 6f |elCtl ==| nil) go|
|00013400| 74 6f 20 64 6f 6e 65 3b | 0d 0d 09 53 65 74 43 6f |to done;|...SetCo|
|00013410| 6e 74 72 6f 6c 52 65 66 | 65 72 65 6e 63 65 28 73 |ntrolRef|erence(s|
|00013420| 75 72 66 61 63 65 43 6f | 6c 6f 72 43 74 6c 2c 20 |urfaceCo|lorCtl, |
|00013430| 28 6c 6f 6e 67 29 26 67 | 72 61 66 33 44 49 6e 66 |(long)&g|raf3DInf|
|00013440| 6f 2e 73 75 72 66 61 63 | 65 43 6f 6c 6f 72 29 3b |o.surfac|eColor);|
|00013450| 09 09 2f 2f 20 77 65 20 | 61 64 64 20 70 6f 69 6e |..// we |add poin|
|00013460| 74 65 72 73 20 74 6f 20 | 74 68 65 20 72 65 63 6f |ters to |the reco|
|00013470| 72 64 73 20 69 6e 20 74 | 68 65 20 72 65 66 20 66 |rds in t|he ref f|
|00013480| 69 65 6c 64 0d 09 53 65 | 74 43 6f 6e 74 72 6f 6c |ield..Se|tControl|
|00013490| 52 65 66 65 72 65 6e 63 | 65 28 61 78 65 73 43 6f |Referenc|e(axesCo|
|000134a0| 6c 6f 72 43 74 6c 2c 20 | 28 6c 6f 6e 67 29 26 67 |lorCtl, |(long)&g|
|000134b0| 72 61 66 33 44 49 6e 66 | 6f 2e 61 78 65 73 43 6f |raf3DInf|o.axesCo|
|000134c0| 6c 6f 72 29 3b 0d 09 53 | 65 74 43 6f 6e 74 72 6f |lor);..S|etContro|
|000134d0| 6c 52 65 66 65 72 65 6e | 63 65 28 6c 61 62 65 6c |lReferen|ce(label|
|000134e0| 73 43 6f 6c 6f 72 43 74 | 6c 2c 20 28 6c 6f 6e 67 |sColorCt|l, (long|
|000134f0| 29 26 67 72 61 66 33 44 | 49 6e 66 6f 2e 6c 61 62 |)&graf3D|Info.lab|
|00013500| 65 6c 73 43 6f 6c 6f 72 | 29 3b 0d 0d 09 53 65 74 |elsColor|);...Set|
|00013510| 75 70 4d 61 69 6e 43 6f | 6e 74 72 6f 6c 73 28 29 |upMainCo|ntrols()|
|00013520| 3b 0d 0d 09 0d 09 61 78 | 65 73 41 74 74 72 69 62 |;.....ax|esAttrib|
|00013530| 75 74 65 73 20 3d 20 51 | 33 41 74 74 72 69 62 75 |utes = Q|3Attribu|
|00013540| 74 65 53 65 74 5f 4e 65 | 77 28 29 3b 0d 09 6c 61 |teSet_Ne|w();..la|
|00013550| 62 65 6c 73 41 74 74 72 | 69 62 75 74 65 73 20 3d |belsAttr|ibutes =|
|00013560| 20 51 33 41 74 74 72 69 | 62 75 74 65 53 65 74 5f | Q3Attri|buteSet_|
|00013570| 4e 65 77 28 29 3b 0d 09 | 73 75 72 66 61 63 65 41 |New();..|surfaceA|
|00013580| 74 74 72 69 62 75 74 65 | 73 20 3d 20 51 33 41 74 |ttribute|s = Q3At|
|00013590| 74 72 69 62 75 74 65 53 | 65 74 5f 4e 65 77 28 29 |tributeS|et_New()|
|000135a0| 3b 0d 09 73 75 72 66 61 | 63 65 46 69 6c 6c 53 74 |;..surfa|ceFillSt|
|000135b0| 79 6c 65 20 3d 20 51 33 | 46 69 6c 6c 53 74 79 6c |yle = Q3|FillStyl|
|000135c0| 65 5f 4e 65 77 28 6b 51 | 33 46 69 6c 6c 53 74 79 |e_New(kQ|3FillSty|
|000135d0| 6c 65 46 69 6c 6c 65 64 | 29 3b 0d 09 73 75 72 66 |leFilled|);..surf|
|000135e0| 61 63 65 20 3d 20 51 33 | 4f 72 64 65 72 65 64 44 |ace = Q3|OrderedD|
|000135f0| 69 73 70 6c 61 79 47 72 | 6f 75 70 5f 4e 65 77 28 |isplayGr|oup_New(|
|00013600| 29 3b 0d 09 6c 61 62 65 | 6c 73 20 3d 20 51 33 4f |);..labe|ls = Q3O|
|00013610| 72 64 65 72 65 64 44 69 | 73 70 6c 61 79 47 72 6f |rderedDi|splayGro|
|00013620| 75 70 5f 4e 65 77 28 29 | 3b 0d 09 61 78 65 73 54 |up_New()|;..axesT|
|00013630| 68 69 6e 20 3d 20 51 33 | 4f 72 64 65 72 65 64 44 |hin = Q3|OrderedD|
|00013640| 69 73 70 6c 61 79 47 72 | 6f 75 70 5f 4e 65 77 28 |isplayGr|oup_New(|
|00013650| 29 3b 0d 09 61 78 65 73 | 53 6f 6c 69 64 20 3d 20 |);..axes|Solid = |
|00013660| 51 33 4f 72 64 65 72 65 | 64 44 69 73 70 6c 61 79 |Q3Ordere|dDisplay|
|00013670| 47 72 6f 75 70 5f 4e 65 | 77 28 29 3b 0d 09 6d 6f |Group_Ne|w();..mo|
|00013680| 64 65 6c 20 3d 20 51 33 | 4f 72 64 65 72 65 64 44 |del = Q3|OrderedD|
|00013690| 69 73 70 6c 61 79 47 72 | 6f 75 70 5f 4e 65 77 28 |isplayGr|oup_New(|
|000136a0| 29 3b 0d 09 62 61 63 6b | 66 61 63 69 6e 67 53 74 |);..back|facingSt|
|000136b0| 79 6c 65 20 3d 20 51 33 | 42 61 63 6b 66 61 63 69 |yle = Q3|Backfaci|
|000136c0| 6e 67 53 74 79 6c 65 5f | 4e 65 77 28 6b 51 33 42 |ngStyle_|New(kQ3B|
|000136d0| 61 63 6b 66 61 63 69 6e | 67 53 74 79 6c 65 42 6f |ackfacin|gStyleBo|
|000136e0| 74 68 29 3b 0d 0d 09 69 | 66 20 28 61 78 65 73 41 |th);...i|f (axesA|
|000136f0| 74 74 72 69 62 75 74 65 | 73 20 3d 3d 20 4e 55 4c |ttribute|s == NUL|
|00013700| 4c 20 7c 7c 20 6c 61 62 | 65 6c 73 41 74 74 72 69 |L || lab|elsAttri|
|00013710| 62 75 74 65 73 20 3d 3d | 20 4e 55 4c 4c 20 7c 7c |butes ==| NULL |||
|00013720| 20 73 75 72 66 61 63 65 | 46 69 6c 6c 53 74 79 6c | surface|FillStyl|
|00013730| 65 20 3d 3d 20 4e 55 4c | 4c 20 7c 7c 20 73 75 72 |e == NUL|L || sur|
|00013740| 66 61 63 65 41 74 74 72 | 69 62 75 74 65 73 20 3d |faceAttr|ibutes =|
|00013750| 3d 20 4e 55 4c 4c 20 7c | 7c 0d 09 09 73 75 72 66 |= NULL |||...surf|
|00013760| 61 63 65 20 3d 3d 20 4e | 55 4c 4c 20 7c 7c 20 6c |ace == N|ULL || l|
|00013770| 61 62 65 6c 73 20 3d 3d | 20 4e 55 4c 4c 20 7c 7c |abels ==| NULL |||
|00013780| 20 61 78 65 73 54 68 69 | 6e 20 3d 3d 20 4e 55 4c | axesThi|n == NUL|
|00013790| 4c 20 7c 7c 20 6d 6f 64 | 65 6c 20 3d 3d 20 4e 55 |L || mod|el == NU|
|000137a0| 4c 4c 20 7c 7c 20 61 78 | 65 73 53 6f 6c 69 64 20 |LL || ax|esSolid |
|000137b0| 3d 3d 20 4e 55 4c 4c 20 | 7c 7c 0d 09 09 62 61 63 |== NULL |||...bac|
|000137c0| 6b 66 61 63 69 6e 67 53 | 74 79 6c 65 20 3d 3d 20 |kfacingS|tyle == |
|000137d0| 4e 55 4c 4c 29 0d 09 09 | 09 67 6f 74 6f 20 64 6f |NULL)...|.goto do|
|000137e0| 6e 65 3b 0d 0d 09 4c 6f | 61 64 44 65 66 61 75 6c |ne;...Lo|adDefaul|
|000137f0| 74 50 69 63 4f 70 74 69 | 6f 6e 73 28 29 3b 0d 09 |tPicOpti|ons();..|
|00013800| 55 73 65 47 72 61 66 46 | 6f 72 53 63 61 6c 69 6e |UseGrafF|orScalin|
|00013810| 67 28 26 67 72 61 66 33 | 44 49 6e 66 6f 29 3b 0d |g(&graf3|DInfo);.|
|00013820| 0d 09 4d 61 6b 65 53 75 | 72 66 61 63 65 28 29 3b |..MakeSu|rface();|
|00013830| 09 09 09 09 09 09 09 09 | 09 09 2f 2f 20 63 72 65 |........|..// cre|
|00013840| 61 74 65 73 20 73 75 72 | 66 61 63 65 20 6f 62 6a |ates sur|face obj|
|00013850| 65 63 74 0d 09 4d 61 6b | 65 41 78 65 73 41 6e 64 |ect..Mak|eAxesAnd|
|00013860| 4c 61 62 65 6c 73 28 29 | 3b 09 09 09 09 09 09 09 |Labels()|;.......|
|00013870| 09 2f 2f 20 63 72 65 61 | 74 65 73 20 61 78 65 73 |.// crea|tes axes|
|00013880| 2c 20 6c 61 62 65 6c 73 | 20 6f 62 6a 65 63 74 73 |, labels| objects|
|00013890| 0d 0d 09 76 69 65 77 65 | 72 20 3d 20 50 33 56 69 |...viewe|r = P3Vi|
|000138a0| 65 77 65 72 4e 65 77 28 | 67 4d 61 69 6e 57 69 6e |ewerNew(|gMainWin|
|000138b0| 64 6f 77 2c 20 26 76 69 | 65 77 65 72 52 65 63 74 |dow, &vi|ewerRect|
|000138c0| 2c 20 6b 33 46 6c 61 67 | 57 69 74 68 50 6f 70 75 |, k3Flag|WithPopu|
|000138d0| 70 73 29 3b 0d 09 69 66 | 20 28 76 69 65 77 65 72 |ps);..if| (viewer|
|000138e0| 20 3d 3d 20 4e 55 4c 4c | 29 20 67 6f 74 6f 20 64 | == NULL|) goto d|
|000138f0| 6f 6e 65 3b 0d 09 4d 61 | 6b 65 4d 6f 64 65 6c 28 |one;..Ma|keModel(|
|00013900| 29 3b 0d 09 50 33 56 69 | 65 77 65 72 55 73 65 47 |);..P3Vi|ewerUseG|
|00013910| 72 6f 75 70 28 76 69 65 | 77 65 72 2c 20 6d 6f 64 |roup(vie|wer, mod|
|00013920| 65 6c 29 3b 0d 0d 09 52 | 65 73 65 74 45 78 63 65 |el);...R|esetExce|
|00013930| 70 74 69 6f 6e 28 29 3b | 09 09 2f 2f 20 51 33 56 |ption();|..// Q3V|
|00013940| 69 65 77 65 72 20 73 6f | 6d 65 74 69 6d 65 73 20 |iewer so|metimes |
|00013950| 67 65 6e 65 72 61 74 65 | 73 20 65 78 63 65 70 74 |generate|s except|
|00013960| 69 6f 6e 73 2c 20 49 20 | 64 75 6e 6e 6f 20 77 68 |ions, I |dunno wh|
|00013970| 79 0d 0d 09 57 69 6e 64 | 6f 77 47 72 6f 77 6e 28 |y...Wind|owGrown(|
|00013980| 29 3b 09 09 09 09 09 09 | 09 09 09 2f 2f 20 69 6e |);......|...// in|
|00013990| 69 74 69 61 6c 69 7a 65 | 20 70 6f 73 69 74 69 6f |itialize| positio|
|000139a0| 6e 73 20 6f 66 20 63 6f | 6e 74 72 6f 6c 73 0d 09 |ns of co|ntrols..|
|000139b0| 43 6c 69 70 52 65 63 74 | 28 26 67 4d 61 69 6e 57 |ClipRect|(&gMainW|
|000139c0| 69 6e 64 6f 77 2d 3e 70 | 6f 72 74 52 65 63 74 29 |indow->p|ortRect)|
|000139d0| 3b 0d 0d 09 53 65 74 47 | 6c 6f 62 61 6c 57 69 6e |;...SetG|lobalWin|
|000139e0| 64 6f 77 52 65 63 74 28 | 67 4d 61 69 6e 57 69 6e |dowRect(|gMainWin|
|000139f0| 64 6f 77 2c 20 26 6d 61 | 69 6e 57 69 6e 64 6f 77 |dow, &ma|inWindow|
|00013a00| 52 65 63 74 29 3b 0d 09 | 57 69 6e 64 6f 77 47 72 |Rect);..|WindowGr|
|00013a10| 6f 77 6e 28 29 3b 0d 09 | 53 68 6f 77 57 69 6e 64 |own();..|ShowWind|
|00013a20| 6f 77 28 67 4d 61 69 6e | 57 69 6e 64 6f 77 29 3b |ow(gMain|Window);|
|00013a30| 0d 09 53 65 6c 65 63 74 | 57 69 6e 64 6f 77 28 67 |..Select|Window(g|
|00013a40| 4d 61 69 6e 57 69 6e 64 | 6f 77 29 3b 09 09 09 09 |MainWind|ow);....|
|00013a50| 09 09 09 2f 2f 20 69 6e | 20 63 61 73 65 20 74 68 |...// in| case th|
|00013a60| 65 20 73 74 61 74 75 73 | 20 77 69 6e 64 6f 77 20 |e status| window |
|00013a70| 73 68 6f 77 65 64 20 75 | 70 20 69 6e 20 74 68 65 |showed u|p in the|
|00013a80| 20 6d 65 61 6e 20 74 69 | 6d 65 0d 0d 09 52 65 67 | mean ti|me...Reg|
|00013a90| 69 73 74 65 72 57 69 6e | 64 6f 77 28 67 4d 61 69 |isterWin|dow(gMai|
|00013aa0| 6e 57 69 6e 64 6f 77 2c | 20 4d 61 69 6e 57 69 6e |nWindow,| MainWin|
|00013ab0| 64 6f 77 48 61 6e 64 6c | 65 72 2c 20 6e 69 6c 29 |dowHandl|er, nil)|
|00013ac0| 3b 0d 09 0d 09 45 76 65 | 6e 74 4c 6f 6f 70 28 29 |;....Eve|ntLoop()|
|00013ad0| 3b 0d 0d 64 6f 6e 65 3a | 0d 09 69 66 20 28 76 69 |;..done:|..if (vi|
|00013ae0| 65 77 65 72 29 20 50 33 | 56 69 65 77 65 72 44 69 |ewer) P3|ViewerDi|
|00013af0| 73 70 6f 73 65 28 76 69 | 65 77 65 72 29 3b 0d 09 |spose(vi|ewer);..|
|00013b00| 76 69 65 77 65 72 3d 4e | 55 4c 4c 3b 0d 0d 09 51 |viewer=N|ULL;...Q|
|00013b10| 33 4f 62 6a 65 63 74 5f | 44 69 73 70 6f 73 65 49 |3Object_|DisposeI|
|00013b20| 66 4e 6f 74 4e 69 6c 28 | 73 75 72 66 61 63 65 29 |fNotNil(|surface)|
|00013b30| 3b 0d 09 51 33 4f 62 6a | 65 63 74 5f 44 69 73 70 |;..Q3Obj|ect_Disp|
|00013b40| 6f 73 65 49 66 4e 6f 74 | 4e 69 6c 28 61 78 65 73 |oseIfNot|Nil(axes|
|00013b50| 54 68 69 6e 29 3b 0d 09 | 51 33 4f 62 6a 65 63 74 |Thin);..|Q3Object|
|00013b60| 5f 44 69 73 70 6f 73 65 | 49 66 4e 6f 74 4e 69 6c |_Dispose|IfNotNil|
|00013b70| 28 61 78 65 73 53 6f 6c | 69 64 29 3b 0d 09 51 33 |(axesSol|id);..Q3|
|00013b80| 4f 62 6a 65 63 74 5f 44 | 69 73 70 6f 73 65 49 66 |Object_D|isposeIf|
|00013b90| 4e 6f 74 4e 69 6c 28 6c | 61 62 65 6c 73 29 3b 0d |NotNil(l|abels);.|
|00013ba0| 0d 09 51 33 4f 62 6a 65 | 63 74 5f 44 69 73 70 6f |..Q3Obje|ct_Dispo|
|00013bb0| 73 65 49 66 4e 6f 74 4e | 69 6c 28 6d 6f 64 65 6c |seIfNotN|il(model|
|00013bc0| 29 3b 0d 09 51 33 4f 62 | 6a 65 63 74 5f 44 69 73 |);..Q3Ob|ject_Dis|
|00013bd0| 70 6f 73 65 49 66 4e 6f | 74 4e 69 6c 28 73 75 72 |poseIfNo|tNil(sur|
|00013be0| 66 61 63 65 46 69 6c 6c | 53 74 79 6c 65 29 3b 0d |faceFill|Style);.|
|00013bf0| 09 51 33 4f 62 6a 65 63 | 74 5f 44 69 73 70 6f 73 |.Q3Objec|t_Dispos|
|00013c00| 65 49 66 4e 6f 74 4e 69 | 6c 28 61 78 65 73 41 74 |eIfNotNi|l(axesAt|
|00013c10| 74 72 69 62 75 74 65 73 | 29 3b 0d 09 51 33 4f 62 |tributes|);..Q3Ob|
|00013c20| 6a 65 63 74 5f 44 69 73 | 70 6f 73 65 49 66 4e 6f |ject_Dis|poseIfNo|
|00013c30| 74 4e 69 6c 28 6c 61 62 | 65 6c 73 41 74 74 72 69 |tNil(lab|elsAttri|
|00013c40| 62 75 74 65 73 29 3b 0d | 09 51 33 4f 62 6a 65 63 |butes);.|.Q3Objec|
|00013c50| 74 5f 44 69 73 70 6f 73 | 65 49 66 4e 6f 74 4e 69 |t_Dispos|eIfNotNi|
|00013c60| 6c 28 73 75 72 66 61 63 | 65 41 74 74 72 69 62 75 |l(surfac|eAttribu|
|00013c70| 74 65 73 29 3b 0d 09 51 | 33 4f 62 6a 65 63 74 5f |tes);..Q|3Object_|
|00013c80| 44 69 73 70 6f 73 65 49 | 66 4e 6f 74 4e 69 6c 28 |DisposeI|fNotNil(|
|00013c90| 62 61 63 6b 66 61 63 69 | 6e 67 53 74 79 6c 65 29 |backfaci|ngStyle)|
|00013ca0| 3b 0d 0d 09 69 66 20 28 | 67 4d 61 69 6e 57 69 6e |;...if (|gMainWin|
|00013cb0| 64 6f 77 29 0d 09 7b 0d | 09 09 47 65 74 47 6c 6f |dow)..{.|..GetGlo|
|00013cc0| 62 61 6c 57 69 6e 64 6f | 77 52 65 63 74 28 67 4d |balWindo|wRect(gM|
|00013cd0| 61 69 6e 57 69 6e 64 6f | 77 2c 20 26 6d 61 69 6e |ainWindo|w, &main|
|00013ce0| 57 69 6e 64 6f 77 52 65 | 63 74 29 3b 09 09 2f 2f |WindowRe|ct);..//|
|00013cf0| 20 73 74 6f 72 65 20 69 | 74 73 20 70 6f 73 69 74 | store i|ts posit|
|00013d00| 69 6f 6e 20 66 6f 72 20 | 6c 61 74 65 72 20 75 73 |ion for |later us|
|00013d10| 65 0d 09 09 55 6e 72 65 | 67 69 73 74 65 72 57 69 |e...Unre|gisterWi|
|00013d20| 6e 64 6f 77 28 67 4d 61 | 69 6e 57 69 6e 64 6f 77 |ndow(gMa|inWindow|
|00013d30| 29 3b 0d 09 09 44 69 73 | 70 6f 73 65 57 69 6e 64 |);...Dis|poseWind|
|00013d40| 6f 77 28 67 4d 61 69 6e | 57 69 6e 64 6f 77 29 3b |ow(gMain|Window);|
|00013d50| 09 09 09 2f 2f 20 74 68 | 69 73 20 61 6c 73 6f 20 |...// th|is also |
|00013d60| 64 69 73 70 6f 73 65 73 | 20 61 6c 6c 20 69 74 73 |disposes| all its|
|00013d70| 20 63 6f 6e 74 72 6f 6c | 73 0d 09 7d 0d 09 51 33 | control|s..}..Q3|
|00013d80| 45 78 69 74 28 29 3b 0d | 09 52 65 73 65 74 45 78 |Exit();.|.ResetEx|
|00013d90| 63 65 70 74 69 6f 6e 28 | 29 3b 09 09 09 09 09 09 |ception(|);......|
|00013da0| 09 2f 2f 20 51 33 56 69 | 65 77 65 72 20 73 6f 6d |.// Q3Vi|ewer som|
|00013db0| 65 74 69 6d 65 73 20 67 | 65 6e 65 72 61 74 65 73 |etimes g|enerates|
|00013dc0| 20 65 78 63 65 70 74 69 | 6f 6e 73 2c 20 49 20 64 | excepti|ons, I d|
|00013dd0| 75 6e 6e 6f 20 77 68 79 | 0d 0d 09 69 66 20 28 6f |unno why|...if (o|
|00013de0| 72 69 67 45 64 69 74 4d | 65 6e 75 29 09 09 09 09 |rigEditM|enu)....|
|00013df0| 09 09 09 2f 2f 20 69 66 | 20 77 65 20 68 61 64 20 |...// if| we had |
|00013e00| 74 68 65 20 74 65 6d 65 | 72 69 74 79 20 74 6f 20 |the teme|rity to |
|00013e10| 72 65 6d 6f 76 65 20 70 | 72 6f 20 46 69 74 27 73 |remove p|ro Fit's|
|00013e20| 20 65 64 69 74 20 6d 65 | 6e 75 0d 09 7b 09 0d 09 | edit me|nu..{...|
|00013e30| 09 44 65 6c 65 74 65 4d | 65 6e 75 28 65 64 69 74 |.DeleteM|enu(edit|
|00013e40| 4d 65 6e 75 49 44 29 3b | 09 09 09 09 09 2f 2f 20 |MenuID);|.....// |
|00013e50| 72 65 6d 6f 76 65 20 69 | 74 0d 09 09 49 6e 73 65 |remove i|t...Inse|
|00013e60| 72 74 4d 65 6e 75 28 6f | 72 69 67 45 64 69 74 4d |rtMenu(o|rigEditM|
|00013e70| 65 6e 75 2c 20 65 64 69 | 74 4d 65 6e 75 49 44 2b |enu, edi|tMenuID+|
|00013e80| 31 29 3b 09 2f 2f 20 61 | 6e 64 20 70 75 74 20 70 |1);.// a|nd put p|
|00013e90| 72 6f 20 46 69 74 27 73 | 20 6d 65 6e 75 20 62 61 |ro Fit's| menu ba|
|00013ea0| 63 6b 0d 09 09 44 69 73 | 70 6f 73 65 4d 65 6e 75 |ck...Dis|poseMenu|
|00013eb0| 28 65 64 69 74 4d 65 6e | 75 29 3b 09 09 09 09 09 |(editMen|u);.....|
|00013ec0| 2f 2f 20 64 69 70 6f 73 | 65 20 74 68 65 20 6f 6e |// dipos|e the on|
|00013ed0| 65 20 77 65 20 75 73 65 | 64 0d 09 7d 0d 09 69 66 |e we use|d..}..if|
|00013ee0| 20 28 6f 72 69 67 46 69 | 6c 65 4d 65 6e 75 29 09 | (origFi|leMenu).|
|00013ef0| 09 09 09 09 09 09 2f 2f | 20 69 66 20 77 65 20 68 |......//| if we h|
|00013f00| 61 64 20 74 68 65 20 74 | 65 6d 65 72 69 74 79 20 |ad the t|emerity |
|00013f10| 74 6f 20 72 65 6d 6f 76 | 65 20 70 72 6f 20 46 69 |to remov|e pro Fi|
|00013f20| 74 27 73 20 66 69 6c 65 | 20 6d 65 6e 75 0d 09 7b |t's file| menu..{|
|00013f30| 09 0d 09 09 44 65 6c 65 | 74 65 4d 65 6e 75 28 66 |....Dele|teMenu(f|
|00013f40| 69 6c 65 4d 65 6e 75 49 | 44 29 3b 09 09 09 09 09 |ileMenuI|D);.....|
|00013f50| 2f 2f 20 72 65 6d 6f 76 | 65 20 69 74 0d 09 09 49 |// remov|e it...I|
|00013f60| 6e 73 65 72 74 4d 65 6e | 75 28 6f 72 69 67 46 69 |nsertMen|u(origFi|
|00013f70| 6c 65 4d 65 6e 75 2c 20 | 66 69 6c 65 4d 65 6e 75 |leMenu, |fileMenu|
|00013f80| 49 44 2b 31 29 3b 09 2f | 2f 20 61 6e 64 20 70 75 |ID+1);./|/ and pu|
|00013f90| 74 20 70 72 6f 20 46 69 | 74 27 73 20 6d 65 6e 75 |t pro Fi|t's menu|
|00013fa0| 20 62 61 63 6b 0d 09 09 | 44 69 73 70 6f 73 65 4d | back...|DisposeM|
|00013fb0| 65 6e 75 28 66 69 6c 65 | 4d 65 6e 75 29 3b 09 09 |enu(file|Menu);..|
|00013fc0| 09 09 09 2f 2f 20 64 69 | 70 6f 73 65 20 74 68 65 |...// di|pose the|
|00013fd0| 20 6f 6e 65 20 77 65 20 | 75 73 65 64 0d 09 7d 0d | one we |used..}.|
|00013fe0| 09 69 66 20 28 6c 6f 61 | 64 53 74 79 6c 65 4d 65 |.if (loa|dStyleMe|
|00013ff0| 6e 75 29 0d 09 7b 09 44 | 65 6c 65 74 65 4d 65 6e |nu)..{.D|eleteMen|
|00014000| 75 28 6c 6f 61 64 53 74 | 79 6c 65 4d 65 6e 75 49 |u(loadSt|yleMenuI|
|00014010| 44 29 3b 0d 09 09 44 69 | 73 70 6f 73 65 4d 65 6e |D);...Di|sposeMen|
|00014020| 75 28 6c 6f 61 64 53 74 | 79 6c 65 4d 65 6e 75 29 |u(loadSt|yleMenu)|
|00014030| 3b 0d 09 7d 0d 09 69 66 | 20 28 64 65 6c 65 74 65 |;..}..if| (delete|
|00014040| 53 74 79 6c 65 4d 65 6e | 75 29 0d 09 7b 09 44 65 |StyleMen|u)..{.De|
|00014050| 6c 65 74 65 4d 65 6e 75 | 28 64 65 6c 65 74 65 53 |leteMenu|(deleteS|
|00014060| 74 79 6c 65 4d 65 6e 75 | 49 44 29 3b 0d 09 09 44 |tyleMenu|ID);...D|
|00014070| 69 73 70 6f 73 65 4d 65 | 6e 75 28 64 65 6c 65 74 |isposeMe|nu(delet|
|00014080| 65 53 74 79 6c 65 4d 65 | 6e 75 29 3b 0d 09 7d 0d |eStyleMe|nu);..}.|
|00014090| 09 44 72 61 77 4d 65 6e | 75 42 61 72 28 29 3b 0d |.DrawMen|uBar();.|
|000140a0| 09 41 63 74 69 76 61 74 | 65 50 72 6f 46 69 74 57 |.Activat|eProFitW|
|000140b0| 69 6e 64 6f 77 73 28 29 | 3b 0d 0d 09 43 6c 65 61 |indows()|;...Clea|
|000140c0| 6e 75 70 50 6c 6f 74 46 | 75 6e 63 74 69 6f 6e 28 |nupPlotF|unction(|
|000140d0| 29 3b 0d 09 43 6c 65 61 | 6e 75 70 50 6c 6f 74 44 |);..Clea|nupPlotD|
|000140e0| 61 74 61 58 59 28 29 3b | 0d 09 43 6c 65 61 6e 75 |ataXY();|..Cleanu|
|000140f0| 70 50 6c 6f 74 44 61 74 | 61 52 6f 77 43 6f 6c 28 |pPlotDat|aRowCol(|
|00014100| 29 3b 0d 7d 0d 0d 0d 42 | 6f 6f 6c 65 61 6e 20 54 |);.}...B|oolean T|
|00014110| 65 73 74 50 6c 6f 74 74 | 65 72 33 44 28 76 6f 69 |estPlott|er3D(voi|
|00014120| 64 29 0d 09 2f 2f 20 74 | 65 73 74 73 20 66 6f 72 |d)..// t|ests for|
|00014130| 20 74 68 65 20 61 76 61 | 69 6c 61 62 69 6c 69 74 | the ava|ilabilit|
|00014140| 79 20 6f 66 20 51 44 33 | 44 0d 09 2f 2f 20 73 68 |y of QD3|D..// sh|
|00014150| 6f 77 73 20 61 6e 20 61 | 6c 65 72 74 20 61 6e 64 |ows an a|lert and|
|00014160| 20 72 65 74 75 72 6e 73 | 20 66 61 6c 73 65 20 69 | returns| false i|
|00014170| 66 20 77 65 20 63 61 6e | 27 74 20 72 75 6e 0d 7b |f we can|'t run.{|
|00014180| 0d 09 69 66 20 28 50 33 | 56 69 65 77 65 72 4e 65 |..if (P3|ViewerNe|
|00014190| 77 20 3d 3d 20 28 76 6f | 69 64 2a 29 6b 55 6e 72 |w == (vo|id*)kUnr|
|000141a0| 65 73 6f 6c 76 65 64 53 | 79 6d 62 6f 6c 41 64 64 |esolvedS|ymbolAdd|
|000141b0| 72 65 73 73 20 7c 7c 09 | 09 09 2f 2f 20 69 66 20 |ress ||.|..// if |
|000141c0| 51 75 69 63 6b 64 72 61 | 77 20 33 44 20 76 69 65 |Quickdra|w 3D vie|
|000141d0| 77 65 72 20 6e 6f 74 20 | 61 72 6f 75 6e 64 0d 09 |wer not |around..|
|000141e0| 09 51 33 49 6e 69 74 69 | 61 6c 69 7a 65 20 3d 3d |.Q3Initi|alize ==|
|000141f0| 20 28 76 6f 69 64 2a 29 | 6b 55 6e 72 65 73 6f 6c | (void*)|kUnresol|
|00014200| 76 65 64 53 79 6d 62 6f | 6c 41 64 64 72 65 73 73 |vedSymbo|lAddress|
|00014210| 29 09 2f 2f 20 69 66 20 | 51 75 69 63 6b 64 72 61 |).// if |Quickdra|
|00014220| 77 20 33 44 20 69 73 20 | 6e 6f 74 20 61 76 61 69 |w 3D is |not avai|
|00014230| 6c 61 62 6c 65 09 0d 09 | 7b 0d 09 09 73 68 6f 72 |lable...|{...shor|
|00014240| 74 20 72 65 73 46 69 6c | 65 20 3d 20 46 53 70 4f |t resFil|e = FSpO|
|00014250| 70 65 6e 52 65 73 46 69 | 6c 65 28 47 65 74 4d 6f |penResFi|le(GetMo|
|00014260| 64 75 6c 65 46 69 6c 65 | 28 29 2c 20 66 73 43 75 |duleFile|(), fsCu|
|00014270| 72 50 65 72 6d 29 3b 0d | 09 09 53 79 73 42 65 65 |rPerm);.|..SysBee|
|00014280| 70 28 33 30 29 3b 0d 09 | 09 69 66 20 28 72 65 73 |p(30);..|.if (res|
|00014290| 46 69 6c 65 20 3d 3d 20 | 2d 31 29 20 72 65 74 75 |File == |-1) retu|
|000142a0| 72 6e 20 66 61 6c 73 65 | 3b 0d 09 09 4d 79 41 6c |rn false|;...MyAl|
|000142b0| 65 72 74 28 33 30 30 30 | 34 29 3b 0d 09 09 43 6c |ert(3000|4);...Cl|
|000142c0| 6f 73 65 52 65 73 46 69 | 6c 65 28 72 65 73 46 69 |oseResFi|le(resFi|
|000142d0| 6c 65 29 3b 0d 09 09 72 | 65 74 75 72 6e 20 66 61 |le);...r|eturn fa|
|000142e0| 6c 73 65 3b 0d 09 7d 0d | 09 69 66 20 28 4d 61 6b |lse;..}.|.if (Mak|
|000142f0| 65 54 65 78 74 20 3d 3d | 20 28 76 6f 69 64 2a 29 |eText ==| (void*)|
|00014300| 6b 55 6e 72 65 73 6f 6c | 76 65 64 53 79 6d 62 6f |kUnresol|vedSymbo|
|00014310| 6c 41 64 64 72 65 73 73 | 29 0d 09 7b 0d 09 09 53 |lAddress|)..{...S|
|00014320| 74 72 32 35 35 09 73 3b | 0d 09 09 53 65 74 50 61 |tr255.s;|...SetPa|
|00014330| 73 63 61 6c 53 74 72 28 | 73 2c 20 22 5c 70 54 68 |scalStr(|s, "\pTh|
|00014340| 69 73 20 6d 6f 64 75 6c | 65 20 72 65 71 75 69 72 |is modul|e requir|
|00014350| 65 73 20 74 68 65 20 6c | 69 62 72 61 72 79 20 54 |es the l|ibrary T|
|00014360| 65 78 74 33 44 4c 69 62 | 2e 20 50 6c 61 63 65 20 |ext3DLib|. Place |
|00014370| 54 65 78 74 33 44 4c 69 | 62 20 69 6e 74 6f 20 74 |Text3DLi|b into t|
|00014380| 68 65 20 73 61 6d 65 20 | 66 6f 6c 64 65 72 20 61 |he same |folder a|
|00014390| 73 20 74 68 69 73 20 6d | 6f 64 75 6c 65 2e 22 2c |s this m|odule.",|
|000143a0| 32 35 35 29 3b 0d 09 09 | 47 65 74 41 6e 64 53 65 |255);...|GetAndSe|
|000143b0| 74 53 74 61 74 75 73 28 | 33 2c 73 29 3b 0d 09 09 |tStatus(|3,s);...|
|000143c0| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 09 7d |return f|alse;..}|
|000143d0| 0d 09 72 65 74 75 72 6e | 20 74 72 75 65 3b 0d 7d |..return| true;.}|
|000143e0| 0d 0d 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000143f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00014400| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00014410| 33 2c 73 29 3b 0d 09 09 | 72 65 74 75 72 6e 20 66 |3,s);...|return f|
|00014420| 61 6c 73 65 3b 0d 09 7d | 0d 09 72 65 74 75 72 6e |alse;..}|..return|
|00014430| 0b 50 6c 6f 74 74 65 72 | 33 44 2e 63 02 00 00 00 |.Plotter|3D.c....|
|00014440| 54 45 58 54 43 57 49 45 | 01 00 b2 58 b2 00 00 00 |TEXTCWIE|...X....|
|00014450| 00 00 54 45 58 54 43 57 | 49 45 01 00 b2 58 b2 00 |..TEXTCW|IE...X..|
|00014460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00014470| 00 00 ae 0d 93 ad 00 01 | 43 62 00 00 01 9a 50 65 |........|Cb....Pe|
|00014480| 72 6d 29 3b 0d 09 09 53 | 79 73 42 65 65 70 28 33 |rm);...S|ysBeep(3|
|00014490| 30 29 3b 0d 09 09 69 66 | 20 28 72 65 73 46 69 6c |0);...if| (resFil|
|000144a0| 65 20 3d 3d 20 2d 31 29 | 20 72 65 74 75 72 6e 20 |e == -1)| return |
|000144b0| 66 61 6c 73 65 3b 0d 09 | 09 4d 79 41 6c 65 72 74 |false;..|.MyAlert|
|000144c0| 28 33 30 30 30 34 29 3b | 0d 09 09 43 6c 6f 73 65 |(30004);|...Close|
|000144d0| 52 65 73 46 69 6c 65 28 | 72 65 73 46 69 6c 65 29 |ResFile(|resFile)|
|000144e0| 3b 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |;...retu|rn false|
|000144f0| 3b 0d 09 7d 0d 09 69 66 | 20 28 4d 61 6b 65 54 65 |;..}..if| (MakeTe|
|00014500| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00014510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00014520| 00 00 00 00 00 00 00 03 | 00 04 00 6c 00 0f 03 54 |........|...l...T|
|00014530| 02 70 00 6c 00 0f 03 54 | 02 70 ae 1b db 65 00 01 |.p.l...T|.p...e..|
|00014540| 25 64 00 01 25 71 00 01 | 2c 89 01 00 00 00 00 04 |%d..%q..|,.......|
|00014550| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00014560| 00 00 00 46 02 98 82 1c | 2b b4 00 00 00 1c 00 46 |...F....|+......F|
|00014570| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00014580| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00014590| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000145a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000145b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000145c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000145d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000145e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000145f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+