saiam@7: %!PS-Adobe-3.0 EPSF-3.0 saiam@7: %%Creator: Graphviz version 2.20.2 (Sun Oct 12 21:27:53 UTC 2008) saiam@7: %%For: (saiam) Atle Kivela,,, saiam@7: %%Title: G saiam@7: %%Pages: (atend) saiam@7: %%BoundingBox: (atend) saiam@7: %%EndComments saiam@7: save saiam@7: %%BeginProlog saiam@7: /DotDict 200 dict def saiam@7: DotDict begin saiam@7: saiam@7: /setupLatin1 { saiam@7: mark saiam@7: /EncodingVector 256 array def saiam@7: EncodingVector 0 saiam@7: saiam@7: ISOLatin1Encoding 0 255 getinterval putinterval saiam@7: EncodingVector 45 /hyphen put saiam@7: saiam@7: % Set up ISO Latin 1 character encoding saiam@7: /starnetISO { saiam@7: dup dup findfont dup length dict begin saiam@7: { 1 index /FID ne { def }{ pop pop } ifelse saiam@7: } forall saiam@7: /Encoding EncodingVector def saiam@7: currentdict end definefont saiam@7: } def saiam@7: /Times-Roman starnetISO def saiam@7: /Times-Italic starnetISO def saiam@7: /Times-Bold starnetISO def saiam@7: /Times-BoldItalic starnetISO def saiam@7: /Helvetica starnetISO def saiam@7: /Helvetica-Oblique starnetISO def saiam@7: /Helvetica-Bold starnetISO def saiam@7: /Helvetica-BoldOblique starnetISO def saiam@7: /Courier starnetISO def saiam@7: /Courier-Oblique starnetISO def saiam@7: /Courier-Bold starnetISO def saiam@7: /Courier-BoldOblique starnetISO def saiam@7: cleartomark saiam@7: } bind def saiam@7: saiam@7: %%BeginResource: procset graphviz 0 0 saiam@7: /coord-font-family /Times-Roman def saiam@7: /default-font-family /Times-Roman def saiam@7: /coordfont coord-font-family findfont 8 scalefont def saiam@7: saiam@7: /InvScaleFactor 1.0 def saiam@7: /set_scale { saiam@7: dup 1 exch div /InvScaleFactor exch def saiam@7: scale saiam@7: } bind def saiam@7: saiam@7: % styles saiam@7: /solid { [] 0 setdash } bind def saiam@7: /dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def saiam@7: /dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def saiam@7: /invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def saiam@7: /bold { 2 setlinewidth } bind def saiam@7: /filled { } bind def saiam@7: /unfilled { } bind def saiam@7: /rounded { } bind def saiam@7: /diagonals { } bind def saiam@7: saiam@7: % hooks for setting color saiam@7: /nodecolor { sethsbcolor } bind def saiam@7: /edgecolor { sethsbcolor } bind def saiam@7: /graphcolor { sethsbcolor } bind def saiam@7: /nopcolor {pop pop pop} bind def saiam@7: saiam@7: /beginpage { % i j npages saiam@7: /npages exch def saiam@7: /j exch def saiam@7: /i exch def saiam@7: /str 10 string def saiam@7: npages 1 gt { saiam@7: gsave saiam@7: coordfont setfont saiam@7: 0 0 moveto saiam@7: (\() show i str cvs show (,) show j str cvs show (\)) show saiam@7: grestore saiam@7: } if saiam@7: } bind def saiam@7: saiam@7: /set_font { saiam@7: findfont exch saiam@7: scalefont setfont saiam@7: } def saiam@7: saiam@7: % draw text fitted to its expected width saiam@7: /alignedtext { % width text saiam@7: /text exch def saiam@7: /width exch def saiam@7: gsave saiam@7: width 0 gt { saiam@7: [] 0 setdash saiam@7: text stringwidth pop width exch sub text length div 0 text ashow saiam@7: } if saiam@7: grestore saiam@7: } def saiam@7: saiam@7: /boxprim { % xcorner ycorner xsize ysize saiam@7: 4 2 roll saiam@7: moveto saiam@7: 2 copy saiam@7: exch 0 rlineto saiam@7: 0 exch rlineto saiam@7: pop neg 0 rlineto saiam@7: closepath saiam@7: } bind def saiam@7: saiam@7: /ellipse_path { saiam@7: /ry exch def saiam@7: /rx exch def saiam@7: /y exch def saiam@7: /x exch def saiam@7: matrix currentmatrix saiam@7: newpath saiam@7: x y translate saiam@7: rx ry scale saiam@7: 0 0 1 0 360 arc saiam@7: setmatrix saiam@7: } bind def saiam@7: saiam@7: /endpage { showpage } bind def saiam@7: /showpage { } def saiam@7: saiam@7: /layercolorseq saiam@7: [ % layer color sequence - darkest to lightest saiam@7: [0 0 0] saiam@7: [.2 .8 .8] saiam@7: [.4 .8 .8] saiam@7: [.6 .8 .8] saiam@7: [.8 .8 .8] saiam@7: ] saiam@7: def saiam@7: saiam@7: /layerlen layercolorseq length def saiam@7: saiam@7: /setlayer {/maxlayer exch def /curlayer exch def saiam@7: layercolorseq curlayer 1 sub layerlen mod get saiam@7: aload pop sethsbcolor saiam@7: /nodecolor {nopcolor} def saiam@7: /edgecolor {nopcolor} def saiam@7: /graphcolor {nopcolor} def saiam@7: } bind def saiam@7: saiam@7: /onlayer { curlayer ne {invis} if } def saiam@7: saiam@7: /onlayers { saiam@7: /myupper exch def saiam@7: /mylower exch def saiam@7: curlayer mylower lt saiam@7: curlayer myupper gt saiam@7: or saiam@7: {invis} if saiam@7: } def saiam@7: saiam@7: /curlayer 0 def saiam@7: saiam@7: %%EndResource saiam@7: %%EndProlog saiam@7: %%BeginSetup saiam@7: 14 default-font-family set_font saiam@7: 1 setmiterlimit saiam@7: % /arrowlength 10 def saiam@7: % /arrowwidth 5 def saiam@7: saiam@7: % make sure pdfmark is harmless for PS-interpreters other than Distiller saiam@7: /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse saiam@7: % make '<<' and '>>' safe on PS Level 1 devices saiam@7: /languagelevel where {pop languagelevel}{1} ifelse saiam@7: 2 lt { saiam@7: userdict (<<) cvn ([) cvn load put saiam@7: userdict (>>) cvn ([) cvn load put saiam@7: } if saiam@7: saiam@7: %%EndSetup saiam@7: setupLatin1 saiam@7: %%Page: 1 1 saiam@17: %%PageBoundingBox: 36 36 328 338 saiam@7: %%PageOrientation: Portrait saiam@7: 0 0 1 beginpage saiam@7: gsave saiam@17: 36 36 292 302 boxprim clip newpath saiam@7: 1 1 set_scale 0 rotate 40 40 translate saiam@7: % cluster0 saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 graphcolor saiam@17: newpath 53 155 moveto saiam@17: 53 286 lineto saiam@17: 141 286 lineto saiam@17: 141 155 lineto saiam@7: closepath stroke saiam@7: 0.000 0.000 0.000 graphcolor saiam@7: 14 /Times-Roman set_font saiam@17: 73 269.9 moveto 48 (Network) alignedtext saiam@7: grestore saiam@7: % cluster1 saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 graphcolor saiam@17: newpath 32 16 moveto saiam@17: 32 147 lineto saiam@17: 162 147 lineto saiam@17: 162 16 lineto saiam@7: closepath stroke saiam@7: 0.000 0.000 0.000 graphcolor saiam@7: 14 /Times-Roman set_font saiam@17: 60 130.9 moveto 74 (Game Engine) alignedtext saiam@11: grestore saiam@11: % gs saiam@11: gsave saiam@11: 1 setlinewidth saiam@11: 0.000 0.000 0.000 nodecolor saiam@17: 97 42 55.79 18 ellipse_path stroke saiam@11: 0.000 0.000 0.000 nodecolor saiam@11: 14 /Times-Roman set_font saiam@17: 64.5 37.9 moveto 65 (Game State) alignedtext saiam@7: grestore saiam@17: % server saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 nodecolor saiam@17: 97 181 36.13 18 ellipse_path stroke saiam@7: 0.000 0.000 0.000 nodecolor saiam@7: 14 /Times-Roman set_font saiam@17: 79 176.9 moveto 36 (Server) alignedtext saiam@17: grestore saiam@17: % gs->server saiam@17: gsave saiam@17: 1 setlinewidth saiam@17: 0.000 0.000 0.000 edgecolor saiam@17: newpath 40 56 moveto saiam@17: 30 61 20 68 14 78 curveto saiam@17: 0 102 0 117 14 142 curveto saiam@17: 21 153 32 161 44 167 curveto saiam@17: stroke saiam@17: 0.000 0.000 0.000 edgecolor saiam@17: newpath 41.28 59.26 moveto saiam@17: 49 52 lineto saiam@17: 38.44 52.86 lineto saiam@17: closepath fill saiam@17: 1 setlinewidth saiam@17: solid saiam@17: 0.000 0.000 0.000 edgecolor saiam@17: newpath 41.28 59.26 moveto saiam@17: 49 52 lineto saiam@17: 38.44 52.86 lineto saiam@17: closepath stroke saiam@17: 0.000 0.000 0.000 edgecolor saiam@17: newpath 42.44 170.14 moveto saiam@17: 53 171 lineto saiam@17: 45.28 163.74 lineto saiam@17: closepath fill saiam@17: 1 setlinewidth saiam@17: solid saiam@17: 0.000 0.000 0.000 edgecolor saiam@17: newpath 42.44 170.14 moveto saiam@17: 53 171 lineto saiam@17: 45.28 163.74 lineto saiam@17: closepath stroke saiam@11: grestore saiam@11: % physics saiam@11: gsave saiam@11: 1 setlinewidth saiam@11: 0.000 0.000 0.000 nodecolor saiam@17: 97 96 41.19 18 ellipse_path stroke saiam@11: 0.000 0.000 0.000 nodecolor saiam@11: 14 /Times-Roman set_font saiam@17: 75 91.9 moveto 44 (Physics) alignedtext saiam@11: grestore saiam@11: % gs->physics saiam@11: gsave saiam@11: 1 setlinewidth saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 97 60 moveto saiam@17: 97 63 97 65 97 68 curveto saiam@11: stroke saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 93.5 68 moveto saiam@17: 97 78 lineto saiam@17: 100.5 68 lineto saiam@11: closepath fill saiam@11: 1 setlinewidth saiam@11: solid saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 93.5 68 moveto saiam@17: 97 78 lineto saiam@17: 100.5 68 lineto saiam@11: closepath stroke saiam@7: grestore saiam@17: % client saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 nodecolor saiam@17: 97 235 32.86 18 ellipse_path stroke saiam@7: 0.000 0.000 0.000 nodecolor saiam@7: 14 /Times-Roman set_font saiam@17: 81 230.9 moveto 32 (Client) alignedtext saiam@7: grestore saiam@7: % client->server saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 118 221 moveto saiam@17: 123 215 125 210 124 205 curveto saiam@7: stroke saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 126.46 202.38 moveto saiam@17: 118 196 lineto saiam@17: 120.63 206.26 lineto saiam@7: closepath fill saiam@7: 1 setlinewidth saiam@7: solid saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 126.46 202.38 moveto saiam@17: 118 196 lineto saiam@17: 120.63 206.26 lineto saiam@7: closepath stroke saiam@7: grestore saiam@7: % server->client saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 76 196 moveto saiam@17: 71 201 69 207 71 212 curveto saiam@7: stroke saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 68.08 213.96 moveto saiam@17: 76 221 lineto saiam@17: 74.2 210.56 lineto saiam@7: closepath fill saiam@7: 1 setlinewidth saiam@7: solid saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 68.08 213.96 moveto saiam@17: 76 221 lineto saiam@17: 74.2 210.56 lineto saiam@7: closepath stroke saiam@7: grestore saiam@11: % graphics saiam@11: gsave saiam@11: 1 setlinewidth saiam@11: 0.000 0.000 0.000 nodecolor saiam@17: 237 96 46.06 18 ellipse_path stroke saiam@11: 0.000 0.000 0.000 nodecolor saiam@11: 14 /Times-Roman set_font saiam@17: 211.5 91.9 moveto 51 (Graphics) alignedtext saiam@11: grestore saiam@17: % physics->graphics saiam@11: gsave saiam@11: 1 setlinewidth saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 162 96 moveto saiam@17: 168 96 174 96 180 96 curveto saiam@11: stroke saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 180 99.5 moveto saiam@17: 190 96 lineto saiam@17: 180 92.5 lineto saiam@11: closepath fill saiam@11: 1 setlinewidth saiam@11: solid saiam@11: 0.000 0.000 0.000 edgecolor saiam@17: newpath 180 99.5 moveto saiam@17: 190 96 lineto saiam@17: 180 92.5 lineto saiam@7: closepath stroke saiam@7: grestore saiam@7: % input saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 nodecolor saiam@17: 237 42 30.07 18 ellipse_path stroke saiam@7: 0.000 0.000 0.000 nodecolor saiam@7: 14 /Times-Roman set_font saiam@17: 223 37.9 moveto 28 (input) alignedtext saiam@7: grestore saiam@17: % input->gs saiam@7: gsave saiam@7: 1 setlinewidth saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 206 42 moveto saiam@17: 194 42 179 42 164 42 curveto saiam@7: stroke saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 172 38.5 moveto saiam@17: 162 42 lineto saiam@17: 172 45.5 lineto saiam@7: closepath fill saiam@7: 1 setlinewidth saiam@7: solid saiam@7: 0.000 0.000 0.000 edgecolor saiam@17: newpath 172 38.5 moveto saiam@17: 162 42 lineto saiam@17: 172 45.5 lineto saiam@7: closepath stroke saiam@7: grestore saiam@7: endpage saiam@7: showpage saiam@7: grestore saiam@7: %%PageTrailer saiam@7: %%EndPage: 1 saiam@7: %%Trailer saiam@7: %%Pages: 1 saiam@17: %%BoundingBox: 36 36 328 338 saiam@7: end saiam@7: restore saiam@7: %%EOF saiam@55: