/[zanavi_public1]/navit/navit/script/gensvg
ZANavi

Contents of /navit/navit/script/gensvg

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Fri Oct 28 21:19:04 2011 UTC (12 years, 5 months ago) by zoff99
File size: 4265 byte(s)
import files
1 #! /bin/sh
2
3 makearrow()
4 {
5 cat <<EOT
6 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
7 <svg
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 width="64px"
11 height="64px">
12 <g>
13 <path
14 d="M $xl0,$yl0 L $xl1,$yl1 C $xcc0,$ycc0 $xcc1,$ycc1 $xc0,$yc0$extra"
15 style="fill:none;stroke:#${colval};stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
16 <path
17 transform="translate($xa0,$ya0) scale(3) rotate($angle)"
18 d="M -4,1 L 0,-7 L 4,1 C 2,-1 -2,-1 -4,1"
19 style="fill:#${colval};stroke:#${colval};stroke-linejoin:round"
20 />
21
22 </g>
23 </svg>
24 EOT
25 }
26
27 makeroundabout()
28 {
29 cat <<EOT
30 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
31 <svg
32 xmlns:svg="http://www.w3.org/2000/svg"
33 xmlns="http://www.w3.org/2000/svg"
34 width="64px"
35 height="64px">
36 <g>
37 <path
38 d="M $xa0 $ya0 A $r $r 0 $long1 $sweep $xl1 $yl1"
39 style="fill:none;stroke:#${colval};stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:2,4" />
40 <path
41 d="M $xl0,$yl0 L $xl1,$yl1 A $r $r 0 $long2 $sweep $xa0 $ya0 L $xl2 $yl2"
42 style="fill:none;stroke:#${colval};stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
43 <path
44 transform="translate($xl2,$yl2) scale(2) rotate($angle)"
45 d="M -4,1 L 0,-7 L 4,1 C 2,-1 -2,-1 -4,1"
46 style="fill:#${colval};stroke:#${colval};stroke-linejoin:round"
47 />
48 </g>
49 </svg>
50 EOT
51 }
52
53 yl0=63
54 for col in bk wh
55 do
56 case $col in
57 bk)
58 colval="000000"
59 ;;
60 wh)
61 colval="ffffff"
62 ;;
63 esac
64 for dir in left right
65 do
66 xl0=32
67 xl1=32
68 angle=360
69 step=-45
70 xa=33.5
71 xb=26
72 xc=16
73 xd=22
74 xe=32
75 xf=28
76 if [ "$dir" = "right" ]
77 then
78 angle=0
79 step=45
80 xa=30.5
81 xb=$((64-xb))
82 xc=$((64-xc))
83 xd=$((64-xd))
84 xe=$((64-xe))
85 xf=$((64-xf))
86 fi
87 for st in 1 2 3
88 do
89 case $st in
90 1)
91 yl1=42
92 yc0=20
93 ycc1=31
94 ycc0=31
95 ya0=20
96 xc0=$xd
97 xa0=$xd
98 xcc0=$xe
99 xcc1=$xe
100 ;;
101 2)
102 yl1=25
103 yc0=20
104 ycc1=20
105 ycc0=22
106 ya0=20
107 xc0=$xd
108 xa0=$xd
109 xcc0=$xe
110 xcc1=$xf
111 ;;
112 3)
113 yl1=32
114 yc0=26
115 ycc1=16
116 ycc0=10
117 ya0=26
118 xc0=$xc
119 xa0=$xc
120 xcc0=$xa
121 xcc1=$xb
122 ;;
123 esac
124 angle=$((angle+step))
125 filename="nav_${dir}_${st}_$col.svg"
126 extra=""
127 makearrow >$filename
128 done
129 filename="nav_turnaround_${dir}_$col.svg"
130 angle=180
131 xcc0=48
132 xc0=22
133 xcc1=22
134 xl0=48
135 xl1=48
136 xa0=22
137 if [ "$dir" = "right" ]
138 then
139 xcc0=$((64-$xcc0))
140 xc0=$((64-$xc0))
141 xcc1=$((64-$xcc1))
142 xl0=$((64-$xl0))
143 xl1=$((64-$xl1))
144 xa0=$((64-$xa0))
145 fi
146 yl1=20
147 yc0=20
148 ycc1=0
149 ycc0=0
150 ya0=35
151 extra=" L $xc0 $ya0"
152 makearrow >$filename
153 xl0=32
154 xl1=32
155 yl1=44
156 r=12
157 letter=l
158 angle=180
159 step=45
160 longa=1
161 longb=0
162 sweep=1
163 xa=26
164 xb=38
165 if [ "$dir" = "right" ]
166 then
167 letter=r
168 step=-45
169 longa=0
170 longb=1
171 sweep=0
172 xa=$((64-xa))
173 xb=$((64-xb))
174 fi
175 for st in 1 2 3 4 5 6 7 8
176 do
177 angle=$((angle+step))
178 if [ $angle -ge 360 ]
179 then
180 angle=$((angle-360))
181 fi
182 if [ $angle -lt 0 ]
183 then
184 angle=$((angle+360))
185 fi
186 xa0=40.46
187 ya0=40.46
188 long1=$longb
189 case $angle in
190 0)
191 xa0=32
192 ya0=20
193 xl2=32
194 yl2=14
195 ;;
196 45)
197 xa0=40.46
198 ya0=23.54
199 xl2=44.7
200 yl2=19.3
201 ;;
202 90)
203 xa0=44
204 ya0=32
205 xl2=50
206 yl2=32
207 ;;
208 135)
209 xa0=40.46
210 ya0=40.46
211 xl2=44.7
212 yl2=44.7
213 ;;
214 180)
215 xa0=$xb
216 ya0=44
217 xl0=$xa
218 xl1=$xa
219 xl2=$xb
220 yl2=50
221 long1=0
222 ;;
223 225)
224 xa0=23.54
225 ya0=40.46
226 xl2=19.3
227 yl2=44.7
228 long1=$longa
229 ;;
230 270)
231 xa0=20
232 ya0=32
233 xl2=14
234 yl2=32
235 long1=$longa
236 ;;
237 315)
238 xa0=23.54
239 ya0=23.54
240 xl2=19.3
241 yl2=19.3
242 long1=$longa
243 ;;
244 esac
245 long2=$((1-long1))
246 filename="nav_roundabout_${letter}${st}_$col.svg"
247 makeroundabout >$filename
248 done
249 done
250 filename="nav_straight_$col.svg"
251 xl0=32
252 xl1=32
253 yl1=32
254 xcc0=32
255 ycc0=10
256 xcc1=32
257 ycc1=16
258 xc0=32
259 yc0=26
260 xa0=32
261 ya0=26
262 angle=0
263 extra=""
264 makearrow >$filename
265 done
266

Properties

Name Value
svn:executable *

   
Visit the ZANavi Wiki