36c94f71ed372853c850297cfa56c308bb44d18f
[demo.git] / vnfs / VES5.0 / doxygen-1.8.12 / html / examples / manual / latex / struct_car.eps
1 %!PS-Adobe-2.0 EPSF-2.0
2 %%Title: ClassName
3 %%Creator: Doxygen
4 %%CreationDate: Time
5 %%For: 
6 %Magnification: 1.00
7 %%Orientation: Portrait
8 %%BoundingBox: 0 0 500 952.380952
9 %%Pages: 0
10 %%BeginSetup
11 %%EndSetup
12 %%EndComments
13
14 % ----- variables -----
15
16 /boxwidth 0 def
17 /boxheight 40 def
18 /fontheight 24 def
19 /marginwidth 10 def
20 /distx 20 def
21 /disty 40 def
22 /boundaspect 0.525000 def  % aspect ratio of the BoundingBox (width/height)
23 /boundx 500 def
24 /boundy boundx boundaspect div def
25 /xspacing 0 def
26 /yspacing 0 def
27 /rows 3 def
28 /cols 1 def
29 /scalefactor 0 def
30 /boxfont /Times-Roman findfont fontheight scalefont def
31
32 % ----- procedures -----
33
34 /dotted { [1 4] 0 setdash } def
35 /dashed { [5] 0 setdash } def
36 /solid  { [] 0 setdash } def
37
38 /max % result = MAX(arg1,arg2)
39 {
40   /a exch def
41   /b exch def
42   a b gt {a} {b} ifelse
43 } def
44
45 /xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
46 {
47   0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
48 } def
49
50 /cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
51 {
52   /str exch def
53   /boxwidth boxwidth str stringwidth pop max def
54 } def
55
56 /box % draws a box with text `arg1' at grid pos (arg2,arg3)
57 { gsave
58   2 setlinewidth
59   newpath
60   exch xspacing mul xoffset add
61   exch yspacing mul
62   moveto
63   boxwidth 0 rlineto 
64   0 boxheight rlineto 
65   boxwidth neg 0 rlineto 
66   0 boxheight neg rlineto 
67   closepath
68   dup stringwidth pop neg boxwidth add 2 div
69   boxheight fontheight 2 div sub 2 div
70   rmoveto show stroke
71   grestore
72 } def  
73
74 /mark
75 { newpath
76   exch xspacing mul xoffset add boxwidth add
77   exch yspacing mul
78   moveto
79   0 boxheight 4 div rlineto
80   boxheight neg 4 div boxheight neg 4 div rlineto
81   closepath
82   eofill
83   stroke
84 } def
85
86 /arrow
87 { newpath
88   moveto
89   3 -8 rlineto
90   -6 0 rlineto
91   3 8 rlineto
92   closepath
93   eofill
94   stroke
95 } def
96
97 /out % draws an output connector for the block at (arg1,arg2)
98 {
99   newpath
100   exch xspacing mul xoffset add boxwidth 2 div add
101   exch yspacing mul boxheight add
102   /y exch def
103   /x exch def
104   x y moveto
105   0 disty 2 div rlineto 
106   stroke
107   1 eq { x y disty 2 div add arrow } if
108 } def
109
110 /in % draws an input connector for the block at (arg1,arg2)
111 {
112   newpath
113   exch xspacing mul xoffset add boxwidth 2 div add
114   exch yspacing mul disty 2 div sub
115   /y exch def
116   /x exch def
117   x y moveto
118   0 disty 2 div rlineto
119   stroke
120   1 eq { x y disty 2 div add arrow } if
121 } def
122
123 /hedge
124 {
125   exch xspacing mul xoffset add boxwidth 2 div add
126   exch yspacing mul boxheight 2 div sub
127   /y exch def
128   /x exch def
129   newpath
130   x y moveto
131   boxwidth 2 div distx add 0 rlineto
132   stroke
133   1 eq
134   { newpath x boxwidth 2 div distx add add y moveto
135     -8 3 rlineto
136     0 -6 rlineto
137     8 3 rlineto
138     closepath
139     eofill
140     stroke
141   } if
142 } def
143
144 /vedge
145 {
146   /ye exch def
147   /ys exch def
148   /xs exch def
149   newpath
150   xs xspacing mul xoffset add boxwidth 2 div add dup
151   ys yspacing mul boxheight 2 div sub
152   moveto
153   ye yspacing mul boxheight 2 div sub
154   lineto
155   stroke
156 } def
157
158 /conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
159 {
160   /ys exch def
161   /xe exch def
162   /xs exch def
163   newpath
164   xs xspacing mul xoffset add boxwidth 2 div add
165   ys yspacing mul disty 2 div sub
166   moveto
167   xspacing xe xs sub mul 0
168   rlineto
169   stroke
170 } def
171
172 % ----- main ------
173
174 boxfont setfont
175 1 boundaspect scale
176 (Car) cw
177 (Vehicle) cw
178 (Object) cw
179 /boxwidth boxwidth marginwidth 2 mul add def
180 /xspacing boxwidth distx add def
181 /yspacing boxheight disty add def
182 /scalefactor 
183   boxwidth cols mul distx cols 1 sub mul add
184   boxheight rows mul disty rows 1 sub mul add boundaspect mul 
185   max def
186 boundx scalefactor div boundy scalefactor div scale
187
188 % ----- classes -----
189
190  (Car) 0.000000 0.000000 box
191  (Vehicle) 0.000000 1.000000 box
192  (Object) 0.000000 2.000000 box
193
194 % ----- relations -----
195
196 solid
197 0 0.000000 0.000000 out
198 solid
199 1 0.000000 1.000000 in
200 solid
201 0 0.000000 1.000000 out
202 solid
203 1 0.000000 2.000000 in