1 %!PS-Adobe-2.0 EPSF-2.0
2 %%Title: plots/dumtypes.fig
3 %%Creator: fig2dev Version 3.1 Patchlevel 2
4 %%CreationDate: Thu Jun 10 11:54:13 1999
5 %%For: anton@rugmd23.chem.rug.nl (K.A.Feenstra,17.14,,)
7 %%Orientation: Portrait
8 %%BoundingBox: 0 0 442 131
11 %%IncludeFeature: *PageSize Letter
14 /MyAppDict 100 dict dup begin def
15 /$F2psDict 200 dict def
17 $F2psDict /mtrx matrix put
18 /col-1 {0 setgray} bind def
19 /col0 {0.000 0.000 0.000 srgb} bind def
20 /col1 {0.000 0.000 1.000 srgb} bind def
21 /col2 {0.000 1.000 0.000 srgb} bind def
22 /col3 {0.000 1.000 1.000 srgb} bind def
23 /col4 {1.000 0.000 0.000 srgb} bind def
24 /col5 {1.000 0.000 1.000 srgb} bind def
25 /col6 {1.000 1.000 0.000 srgb} bind def
26 /col7 {1.000 1.000 1.000 srgb} bind def
27 /col8 {0.000 0.000 0.560 srgb} bind def
28 /col9 {0.000 0.000 0.690 srgb} bind def
29 /col10 {0.000 0.000 0.820 srgb} bind def
30 /col11 {0.530 0.810 1.000 srgb} bind def
31 /col12 {0.000 0.560 0.000 srgb} bind def
32 /col13 {0.000 0.690 0.000 srgb} bind def
33 /col14 {0.000 0.820 0.000 srgb} bind def
34 /col15 {0.000 0.560 0.560 srgb} bind def
35 /col16 {0.000 0.690 0.690 srgb} bind def
36 /col17 {0.000 0.820 0.820 srgb} bind def
37 /col18 {0.560 0.000 0.000 srgb} bind def
38 /col19 {0.690 0.000 0.000 srgb} bind def
39 /col20 {0.820 0.000 0.000 srgb} bind def
40 /col21 {0.560 0.000 0.560 srgb} bind def
41 /col22 {0.690 0.000 0.690 srgb} bind def
42 /col23 {0.820 0.000 0.820 srgb} bind def
43 /col24 {0.500 0.190 0.000 srgb} bind def
44 /col25 {0.630 0.250 0.000 srgb} bind def
45 /col26 {0.750 0.380 0.000 srgb} bind def
46 /col27 {1.000 0.500 0.500 srgb} bind def
47 /col28 {1.000 0.630 0.630 srgb} bind def
48 /col29 {1.000 0.750 0.750 srgb} bind def
49 /col30 {1.000 0.880 0.880 srgb} bind def
50 /col31 {1.000 0.840 0.000 srgb} bind def
56 .9 .9 scale % to make patterns same scale as in xfig
58 % This junk string is used by the show operators
60 /PATawidthshow { % cx cy cchar rx ry string
61 % Loop over each character in the string
62 { % cx cy cchar rx ry char
64 dup % cx cy cchar rx ry char char
65 PATsstr dup 0 4 -1 roll put % cx cy cchar rx ry char (char)
66 false charpath % cx cy cchar rx ry char
68 % Move past the character (charpath modified the
70 currentpoint % cx cy cchar rx ry char x y
72 moveto % cx cy cchar rx ry char
73 % Reposition by cx,cy if the character in the string is cchar
74 3 index eq { % cx cy cchar rx ry
75 4 index 4 index rmoveto
77 % Reposition all characters by rx ry
78 2 copy rmoveto % cx cy cchar rx ry
80 pop pop pop pop pop % -
87 /lw currentlinewidth def
88 /lc currentlinecap def
89 /lj currentlinejoin def
90 /ml currentmiterlimit def
91 /ds [ currentdash ] def
92 /cc [ currentrgbcolor ] def
93 /cm matrix currentmatrix def
96 % PATdraw - calculates the boundaries of the object and
97 % fills it with the current pattern
100 PATpcalc % proc nw nh px py
101 5 -1 roll exec % nw nh px py
106 % PATfill - performs the tiling for the shape
107 /PATfill { % nw nh px py PATfill -
108 PATDict /CurrentPattern get dup begin
110 % Set the coordinate system to Pattern Space
112 % Set the color for uncolored pattezns
113 PaintType 2 eq { PATDict /PColor get PATsc } if
114 % Create the string for showing
115 3 index string % nw nh px py str
116 % Loop for each of the pattern sources
117 0 1 Multi 1 sub { % nw nh px py str source
118 % Move to the starting location
119 3 index 3 index % nw nh px py str source px py
120 moveto % nw nh px py str source
121 % For multiple sources, set the appropriate color
122 Multi 1 ne { dup PC exch get PATsc } if
123 % Set the appropriate string for the source
124 0 1 7 index 1 sub { 2 index exch 2 index put } for pop
125 % Loop over the number of vertical cells
126 3 index % nw nh px py str nh
128 currentpoint % nw nh px py str cx cy
129 2 index show % nw nh px py str cx cy
130 YStep add moveto % nw nh px py str
131 } repeat % nw nh px py str
137 % PATkshow - kshow with the current pattezn
138 /PATkshow { % proc string
139 exch bind % string proc
140 1 index 0 get % string proc char
141 % Loop over all but the last character in the string
142 0 1 4 index length 2 sub {
143 % string proc char idx
144 % Find the n+1th character in the string
145 3 index exch 1 add get % string proe char char+1
146 exch 2 copy % strinq proc char+1 char char+1 char
147 % Now show the nth character
148 PATsstr dup 0 4 -1 roll put % string proc chr+1 chr chr+1 (chr)
149 false charpath % string proc char+1 char char+1
151 % Move past the character (charpath modified the current point)
152 currentpoint newpath moveto
153 % Execute the user proc (should consume char and char+1)
154 mark 3 1 roll % string proc char+1 mark char char+1
155 4 index exec % string proc char+1 mark...
156 cleartomark % string proc char+1
158 % Now display the last character
159 PATsstr dup 0 4 -1 roll put % string proc (char+1)
160 false charpath % string proc
165 % PATmp - the makepattern equivalent
166 /PATmp { % patdict patmtx PATmp patinstance
167 exch dup length 7 add % We will add 6 new entries plus 1 FID
168 dict copy % Create a new dictionary
170 % Matrix to install when painting the pattern
172 /PatternGState PATcg def
173 PatternGState /cm 3 -1 roll put
174 % Check for multi pattern sources (Level 1 fast color patterns)
175 currentdict /Multi known not { /Multi 1 def } if
176 % Font dictionary definitions
178 % Create a dummy encoding vector
179 /Encoding 256 array def
181 Encoding exch dup 3 index cvs cvn put } for pop
182 /FontMatrix matrix def
185 mark 3 1 roll % mark dict char
187 Multi 1 ne {PaintData exch get}{pop} ifelse % mark [paintdata]
188 PaintType 2 eq Multi 1 ne or
189 { XStep 0 FontBBox aload pop setcachedevice }
190 { XStep 0 setcharwidth } ifelse
191 currentdict % mark [paintdata] dict
192 /PaintProc load % mark [paintdata] dict paintproc
195 false PATredef exec true PATredef
201 /foo exch % /foo newlict
204 % PATpcalc - calculates the starting point and width/height
205 % of the tile fill for the shape
206 /PATpcalc { % - PATpcalc nw nh px py
207 PATDict /CurrentPattern get begin
209 % Set up the coordinate system to Pattern Space
210 % and lock down pattern
211 PatternGState /cm get setmatrix
212 BBox aload pop pop pop translate
213 % Determine the bounding box of the shape
214 pathbbox % llx lly urx ury
216 % Determine (nw, nh) the # of cells to paint width and height
217 PatHeight div ceiling % llx lly urx qh
218 4 1 roll % qh llx lly urx
219 PatWidth div ceiling % qh llx lly qw
220 4 1 roll % qw qh llx lly
221 PatHeight div floor % qw qh llx ph
222 4 1 roll % ph qw qh llx
223 PatWidth div floor % ph qw qh pw
224 4 1 roll % pw ph qw qh
225 2 index sub cvi abs % pw ph qs qh-ph
226 exch 3 index sub cvi abs exch % pw ph nw=qw-pw nh=qh-ph
227 % Determine the starting point of the pattern fill
229 4 2 roll % nw nh pw ph
230 PatHeight mul % nw nh pw py
232 PatWidth mul exch % nw nh px py
236 % Save the original routines so that we can use them later on
237 /oldfill /fill load def
238 /oldeofill /eofill load def
239 /oldstroke /stroke load def
240 /oldshow /show load def
241 /oldashow /ashow load def
242 /oldwidthshow /widthshow load def
243 /oldawidthshow /awidthshow load def
244 /oldkshow /kshow load def
246 % These defs are necessary so that subsequent procs don't bind in
248 /fill { oldfill } bind def
249 /eofill { oldeofill } bind def
250 /stroke { oldstroke } bind def
251 /show { oldshow } bind def
252 /ashow { oldashow } bind def
253 /widthshow { oldwidthshow } bind def
254 /awidthshow { oldawidthshow } bind def
255 /kshow { oldkshow } bind def
259 /fill { /clip load PATdraw newpath } bind def
260 /eofill { /eoclip load PATdraw newpath } bind def
261 /stroke { PATstroke } bind def
262 /show { 0 0 null 0 0 6 -1 roll PATawidthshow } bind def
263 /ashow { 0 0 null 6 3 roll PATawidthshow }
265 /widthshow { 0 0 3 -1 roll PATawidthshow }
267 /awidthshow { PATawidthshow } bind def
268 /kshow { PATkshow } bind def
270 /fill { oldfill } bind def
271 /eofill { oldeofill } bind def
272 /stroke { oldstroke } bind def
273 /show { oldshow } bind def
274 /ashow { oldashow } bind def
275 /widthshow { oldwidthshow } bind def
276 /awidthshow { oldawidthshow } bind def
277 /kshow { oldkshow } bind def
282 % Conditionally define setcmykcolor if not available
283 /setcmykcolor where { pop } {
287 3 index add neg dup 0 lt { pop 0 } if 3 1 roll
292 /PATsc { % colorarray
293 aload length % c1 ... cn length
294 dup 1 eq { pop setgray } { 3 eq { setrgbcolor } { setcmykcolor
304 cc aload pop setrgbcolor
313 /CurrentPattern exch def
314 % If it's an uncolored pattern, save the color
315 CurrentPattern /PaintType get 2 eq {
318 /CColor [ currentrgbcolor ] def
321 % PATstroke - stroke with the current pattern
327 currentpoint strokepath moveto
328 PATpcalc % proc nw nh px py
331 (*** PATstroke Warning: Path is too complex, stroking
335 countdictstack exch sub dup 0 gt
336 { { end } repeat } { pop } ifelse
337 gsave 0.5 setgray oldstroke grestore
338 } { pop restore pop } ifelse
341 /PATtcalc { % modmtx tilingtype PATtcalc tilematrix
342 % Note: tiling types 2 and 3 are not supported
344 exch concat % tilingtype
345 matrix currentmatrix exch % cmtx tilingtype
346 % Tiling type 1 and 3: constant spacing
348 % Distort the pattern so that it occupies
349 % an integral number of device pixels
350 dup 4 get exch dup 5 get exch % tx ty cmtx
352 round exch round exch % tx ty cmtx dx.x dx.y
353 XStep div exch XStep div exch % tx ty cmtx a b
355 round exch round exch % tx ty cmtx a b dy.x dy.y
356 YStep div exch YStep div exch % tx ty cmtx a b c d
357 7 -3 roll astore % { a b c d tx ty }
368 % vertical sawtooth lines
381 { 16 32 true [ 16 0 0 -32 0 32 ]
382 {<400020001000080004000200010000800100020004000800
383 100020004000800040002000100008000400020001000080
384 01000200040008001000200040008000>}
394 1.1111 1.1111 scale %restore scale
396 /cp {closepath} bind def
397 /ef {eofill} bind def
398 /gr {grestore} bind def
401 /rs {restore} bind def
404 /rm {rmoveto} bind def
405 /n {newpath} bind def
408 /slc {setlinecap} bind def
409 /slj {setlinejoin} bind def
410 /slw {setlinewidth} bind def
411 /srgb {setrgbcolor} bind def
412 /rot {rotate} bind def
414 /sd {setdash} bind def
415 /ff {findfont} bind def
416 /sf {setfont} bind def
417 /scf {scalefont} bind def
418 /sw {stringwidth} bind def
419 /tr {translate} bind def
420 /tnt {dup dup currentrgbcolor
421 4 -2 roll dup 1 exch sub 3 -1 roll mul add
422 4 -2 roll dup 1 exch sub 3 -1 roll mul add
423 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
425 /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
426 4 -2 roll mul srgb} bind def
434 /savematrix mtrx currentmatrix def
435 x y tr xrad yrad sc 0 0 1 startangle endangle arc
440 /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
441 /$F2psEnd {$F2psEnteredState restore end} def
446 n 0 792 m 0 0 l 612 0 l 612 792 l cp clip
450 n 10350 2400 m 11700 2400 l 12075 1575 l gs col-1 s gr
453 11784 2495 m 12152 3078 l 11755 2514 l 12294 3322 l 12323 3303 l cp clip
454 n 11700 2400 m 12300 3300 l gs col-1 s gr gr
457 n 11784 2495 m 12152 3078 l 11755 2514 l 11770 2504 l 11784 2495 l cp gs 0.00 setgray ef gr col-1 s
460 n 11700 2400 150 150 0 360 DrawEllipse gs 0.50 setgray ef gr
464 n 10350 2400 m 11775 2025 l 11775 2775 l cp gs col-1 s gr [] 0 sd
466 n 11775 2775 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col7 s gr
470 n 9075 1200 m 9075 1650 l gs col-1 s gr [] 0 sd
472 n 6150 2400 m 7500 2400 l 8175 1200 l 9075 1200 l gs col-1 s gr
474 n 3825 2400 m 4725 2400 l gs col-1 s gr
477 n 4725 2400 m 4725 1950 l gs col-1 s gr [] 0 sd
480 n 225 1200 m 1800 2400 l gs col-1 s gr [] 0 sd
483 n 3150 2400 m 5025 2400 l gs col-1 s gr [] 0 sd
485 n 900 2400 m 1800 2400 l gs col-1 s gr
487 n 8175 1200 m 7725 375 l gs col-1 s gr
491 11936 3152 m 11743 2519 l 12002 3128 l 11723 2360 l 11657 2384 l cp clip
492 n 11700 2400 m 12000 3225 l gs col-1 s gr gr
496 n 11936 3152 m 11743 2519 l 12002 3128 l 11969 3140 l 11936 3152 l cp gs 0.00 setgray ef gr col-1 s
498 n 11925 3225 m 11700 2400 l 12075 3225 l cp gs 0.00 setgray ef gr gs col7 s gr
499 /Helvetica-Bold ff 450.00 scf sf
501 gs 1 -1 sc (D) col-1 sh gr
502 /Helvetica-Oblique ff 360.00 scf sf
504 gs 1 -1 sc (d) col-1 sh gr
505 /Symbol ff 360.00 scf sf
507 gs 1 -1 sc (a) col-1 sh gr
508 /Helvetica-Oblique ff 360.00 scf sf
510 gs 1 -1 sc (d) col-1 sh gr
511 /Helvetica-Bold ff 450.00 scf sf
513 gs 1 -1 sc (B) col-1 sh gr
516 n 3825 2100 m 4725 2100 l gs col-1 s gr [] 0 sd
519 n 8175 1500 m 9075 1500 l gs col-1 s gr [] 0 sd
520 /Helvetica-Bold ff 450.00 scf sf
522 gs 1 -1 sc (A) col-1 sh gr
524 n 7500 2400 m 8175 3600 l gs col-1 s gr
527 n 8175 1200 m 8175 1650 l gs col-1 s gr [] 0 sd
528 /Helvetica-Bold ff 450.00 scf sf
530 gs 1 -1 sc (C) col-1 sh gr
532 n 3150 1200 m 3825 2400 l 3150 3600 l gs col-1 s gr
534 n 3825 2400 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
535 15.00 15.00 sc P22 [8 0 0 -16 245.00 150.00] PATmp PATsp ef gr PATusp gs col-1 s gr
539 n 4725 2400 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr
542 n 7500 2400 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
543 15.00 15.00 sc P22 [8 0 0 -16 490.00 150.00] PATmp PATsp ef gr PATusp gs col-1 s gr
546 n 6150 2400 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
547 15.00 15.00 sc P22 [8 0 0 -16 400.00 150.00] PATmp PATsp ef gr PATusp gs col-1 s gr
550 n 3150 3600 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
551 15.00 15.00 sc P22 [8 0 0 -16 200.00 230.00] PATmp PATsp ef gr PATusp gs col-1 s gr
555 n 8176.8 1198.2 673.2 0.2 116.6 arcn
560 n 900 2400 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
561 15.00 15.00 sc P22 [8 0 0 -16 50.00 150.00] PATmp PATsp ef gr PATusp gs col-1 s gr
564 n 225 1200 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
565 15.00 15.00 sc P22 [8 0 0 -16 5.00 70.00] PATmp PATsp ef gr PATusp gs col-1 s gr
568 n 1800 2400 75 75 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
569 15.00 15.00 sc P22 [8 0 0 -16 115.00 155.00] PATmp PATsp ef gr PATusp gs col-1 s gr
572 n 3150 1200 150 150 0 360 DrawEllipse gs col7 0.00 shd ef gr gs col-1 s gr
575 n 8175 1200 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
576 15.00 15.00 sc P22 [8 0 0 -16 535.00 70.00] PATmp PATsp ef gr PATusp gs col-1 s gr
580 n 12150 3075 60 60 0 360 DrawEllipse gs 0.50 setgray ef gr
585 n 3150 2400 75 75 0 360 DrawEllipse gs col-1 s gr
589 n 225 1200 m 900 2400 l gs col-1 s gr
592 n 3150 900 m 3150 3900 l gs col-1 s gr [] 0 sd
595 n 3825 2400 m 3825 1950 l gs col-1 s gr [] 0 sd
598 n 12000 3225 90 90 0 360 DrawEllipse gs 0.50 setgray ef gr
600 n 9075 1200 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr
602 n 7725 375 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr
605 n 11775 2025 150 150 0 360 DrawEllipse gs /PC [[0.00 0.00 0.00] [0.00 0.00 0.00]] def
606 15.00 15.00 sc P22 [8 0 0 -16 775.00 125.00] PATmp PATsp ef gr PATusp gs col-1 s gr
609 n 10350 2400 150 150 0 360 DrawEllipse gs 0.00 setgray ef gr gs col-1 s gr
613 n 12075 1575 75 75 0 360 DrawEllipse gs 0.50 setgray ef gr