Changeset 30215 in osm for applications
- Timestamp:
- 2014-01-19T14:52:39+01:00 (11 years ago)
- Location:
- applications/editors/josm/plugins/smed2
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed2/js57toosm/src/js57toosm/Js57toosm.java
r30189 r30215 11 11 12 12 import java.io.*; 13 13 import java.util.Map; 14 15 import s57.S57obj; 16 import s57.S57att; 17 import s57.S57att.*; 18 import s57.S57val; 19 import s57.S57val.*; 14 20 import s57.S57dat; 15 21 import s57.S57dat.*; … … 34 40 int len; 35 41 int pos; 42 boolean inFeature = false; 36 43 37 44 double comf = 1; … … 39 46 long name = 0; 40 47 S57map.Nflag nflag = Nflag.ANON; 48 S57map.Pflag prim = S57map.Pflag.NOSP; 49 long objl = 0; 41 50 S57map map = new S57map(); 42 51 double minlat = 90, minlon = 180, maxlat = -90, maxlon = -180; … … 67 76 } 68 77 break; 69 case "DSID":70 break;71 case "DSSI":72 break;73 78 case "DSPM": 74 79 comf = (double) (Long) S57dat.getSubf(record, fields + pos, S57field.DSPM, S57subf.COMF); … … 76 81 break; 77 82 case "FRID": 83 inFeature = true; 84 switch ((int)((long)S57dat.getSubf(record, fields + pos, S57field.FRID, S57subf.PRIM))) { 85 case 1: 86 prim = S57map.Pflag.POINT; 87 break; 88 case 2: 89 prim = S57map.Pflag.LINE; 90 break; 91 case 3: 92 prim = S57map.Pflag.AREA; 93 break; 94 default: 95 prim = S57map.Pflag.NOSP; 96 } 97 objl = (long)S57dat.getSubf(S57subf.OBJL); 78 98 break; 79 99 case "FOID": 100 name = (long) S57dat.getSubf(record, fields + pos, S57field.FOID, S57subf.LNAM); 101 map.newFeature(name, prim, objl); 80 102 break; 81 103 case "ATTF": 82 break; 83 case "NATF": 84 break; 85 case "FFPC": 104 S57dat.setField(record, fields + pos, S57field.ATTF, len); 105 do { 106 long attl = (long) S57dat.getSubf(S57subf.ATTL); 107 String atvl = (String) S57dat.getSubf(S57subf.ATVL); 108 map.newAtt(attl, atvl); 109 } while (S57dat.more()); 86 110 break; 87 111 case "FFPT": 88 break; 89 case "FSPC": 112 name = (long) S57dat.getSubf(record, fields + pos, S57field.FFPT, S57subf.LNAM); 113 int rind = ((Long) S57dat.getSubf(S57subf.RIND)).intValue(); 114 map.newObj(name, rind); 90 115 break; 91 116 case "FSPT": 117 S57dat.setField(record, fields + pos, S57field.FSPT, len); 118 do { 119 name = (Long) S57dat.getSubf(S57subf.NAME) << 16; 120 map.newPrim(name, (long) S57dat.getSubf(S57subf.ORNT), (long) S57dat.getSubf(S57subf.USAG)); 121 } while (S57dat.more()); 92 122 break; 93 123 case "VRID": 94 name = (Long) S57dat.getSubf(record, fields + pos, S57field.VRID, S57subf.RCNM); 124 inFeature = false; 125 name = (long) S57dat.getSubf(record, fields + pos, S57field.VRID, S57subf.RCNM); 95 126 switch ((int) name) { 96 127 case 110: … … 105 136 } 106 137 name <<= 32; 107 name += (Long) S57dat.getSubf( record, fields + pos, S57field.VRID,S57subf.RCID);138 name += (Long) S57dat.getSubf(S57subf.RCID); 108 139 name <<= 16; 109 140 if (nflag == Nflag.ANON) { … … 111 142 } 112 143 break; 113 case "ATTV":114 break;115 case "VRPC":116 break;117 144 case "VRPT": 118 name = (Long) S57dat.getSubf(record, fields + pos, S57field.VRPT, S57subf.NAME) << 16; 119 int topi = ((Long) S57dat.getSubf(S57subf.TOPI)).intValue(); 120 map.addConn(name, topi); 121 name = (Long) S57dat.getSubf(S57subf.NAME) << 16; 122 topi = ((Long) S57dat.getSubf(S57subf.TOPI)).intValue(); 123 map.addConn(name, topi); 124 break; 125 case "SGCC": 145 S57dat.setField(record, fields + pos, S57field.VRPT, len); 146 do { 147 name = (Long) S57dat.getSubf(S57subf.NAME) << 16; 148 int topi = ((Long) S57dat.getSubf(S57subf.TOPI)).intValue(); 149 map.addConn(name, topi); 150 } while (S57dat.more()); 126 151 break; 127 152 case "SG2D": 128 153 S57dat.setField(record, fields + pos, S57field.SG2D, len); 129 while (S57dat.more()){154 do { 130 155 double lat = (double) ((Long) S57dat.getSubf(S57subf.YCOO)) / comf; 131 156 double lon = (double) ((Long) S57dat.getSubf(S57subf.XCOO)) / comf; … … 143 168 if (lon > maxlon) 144 169 maxlon = lon; 145 } 170 } while (S57dat.more()); 146 171 break; 147 172 case "SG3D": 148 173 S57dat.setField(record, fields + pos, S57field.SG3D, len); 149 while (S57dat.more()){174 do { 150 175 double lat = (double) ((Long) S57dat.getSubf(S57subf.YCOO)) / comf; 151 176 double lon = (double) ((Long) S57dat.getSubf(S57subf.XCOO)) / comf; … … 160 185 if (lon > maxlon) 161 186 maxlon = lon; 162 } 187 } while (S57dat.more()); 163 188 break; 164 189 } 165 190 } 166 } 167 } 191 if (inFeature) { 192 map.endFeature(); 193 inFeature = false; 194 } 195 } 196 } 197 map.endFile(); 168 198 in.close(); 169 199 … … 172 202 out.println("<bounds minlat='" + minlat +"' minlon='" + minlon + "' maxlat='" + maxlat + "' maxlon='" + maxlon + "'/>"); 173 203 204 for (long id : map.index.keySet()) { 205 Feature feature = map.index.get(id); 206 if (feature.reln != Rflag.SLAVE) { 207 if (feature.geom.prim == Pflag.POINT) { 208 Snode node = map.nodes.get(feature.geom.elems.get(0).id); 209 String type = S57obj.stringType(feature.type); 210 out.format(" <node id='%d' lat='%f' lon='%f' version='1'>%n",-id, Math.toDegrees(node.lat), Math.toDegrees(node.lon)); 211 out.format(" <tag k='seamark:type' v=\"%s\"/>%n", type); 212 for (Map.Entry<Att, AttVal<?>> item : feature.atts.entrySet()) { 213 out.format(" <tag k='seamark:%s:%s' v=\"%s\"/>%n", type, S57att.stringAttribute(item.getKey()), S57val.stringValue(item.getValue())); 214 } 215 for (Reln rel : feature.rels) { 216 if (rel.reln == Rflag.SLAVE) { 217 Feature slave = map.index.get(rel.id); 218 type = S57obj.stringType(slave.type); 219 for (Map.Entry<Att, AttVal<?>> item : slave.atts.entrySet()) { 220 out.format(" <tag k='seamark:%s:%s' v=\"%s\"/>%n", type, S57att.stringAttribute(item.getKey()), S57val.stringValue(item.getValue())); 221 } 222 } 223 } 224 out.format(" </node>%n"); 225 } 226 } 227 } 228 /* 174 229 for (long id : map.nodes.keySet()) { 175 230 Snode node = map.nodes.get(id); … … 194 249 out.format(" </way>%n"); 195 250 } 196 251 */ 197 252 out.println("</osm>\n"); 198 253 } -
applications/editors/josm/plugins/smed2/src/panels/PanelMain.java
r30150 r30215 22 22 import s57.S57att.Att; 23 23 import s57.S57obj.Obj; 24 import s57.S57val.*; 24 25 import s57.S57map.*; 25 26 import render.Renderer; … … 148 149 for (AttMap atts : feature.objs.get(obj).values()) { 149 150 for (Att att : atts.keySet()) { 150 Att Itemitem = atts.get(att);151 AttVal<?> item = atts.get(att); 151 152 switch (item.conv) { 152 153 case E: -
applications/editors/josm/plugins/smed2/src/panels/ShowFrame.java
r30150 r30215 33 33 showMap.nodes = map.nodes; 34 34 showMap.edges = map.edges; 35 showMap.areas = map.areas;36 35 showMap.index = map.index; 37 36 if (feature != null) { -
applications/editors/josm/plugins/smed2/src/render/Renderer.java
r30190 r30215 19 19 import s57.S57map; 20 20 import s57.S57map.*; 21 import s57.S57map.Area;22 21 import symbols.Areas; 23 22 import symbols.Symbols; … … 102 101 if (symbols.size() > 4) { 103 102 for (Instr instr : symbols.get(0)) { 104 if (instr.type == Prim.BBOX) {103 if (instr.type == Form.BBOX) { 105 104 bbox = (Rectangle2D.Double) instr.params; 106 105 break; … … 180 179 while (ssymb != null) { 181 180 for (Instr item : symbol) { 182 if (item.type == Prim.BBOX) {181 if (item.type == Form.BBOX) { 183 182 return (Rectangle2D.Double) item.params; 184 183 } 185 if (item.type == Prim.SYMB) {184 if (item.type == Form.SYMB) { 186 185 ssymb = ((SubSymbol) item.params).instr; 187 186 break; … … 195 194 196 195 public static void lineSymbols(Feature feature, Symbol prisymb, double space, Symbol secsymb, Symbol tersymb, int ratio, Color col) { 197 Area area; 198 switch (feature.flag) { 199 case LINE: 200 Edge edge = map.edges.get(feature.refs); 201 area = map.new Area(); 202 area.add(map.new Bound(map.new Side(edge, true), true)); 203 break; 204 case AREA: 205 area = map.areas.get(feature.refs); 206 break; 207 default: 196 if ((feature.geom.prim == Pflag.NOSP) || (feature.geom.prim == Pflag.POINT)) 208 197 return; 209 }210 198 Rectangle2D.Double prect = symbolSize(prisymb); 211 199 Rectangle2D.Double srect = symbolSize(secsymb); … … 228 216 boolean stflag = false; 229 217 Symbol symbol = prisymb; 230 for (Bound bound : area) { 231 BoundIterator bit = map.new BoundIterator(bound); 218 GeomIterator git = map.new GeomIterator(feature.geom); 219 while (git.hasMore()) { 220 git.more(); 232 221 boolean first = true; 233 while ( bit.hasNext()) {222 while (git.hasNext()) { 234 223 prev = next; 235 next = context.getPoint( bit.next());224 next = context.getPoint(git.next()); 236 225 angle = Math.atan2(next.getY() - prev.getY(), next.getX() - prev.getX()); 237 226 piv = true; … … 286 275 p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 287 276 Point2D point; 288 switch (feature.flag) {289 case LINE:290 EdgeIterator eit = map.new EdgeIterator(map.edges.get(feature.refs), true);291 point = context.getPoint( eit.next());277 GeomIterator git = map.new GeomIterator(feature.geom); 278 while (git.hasMore()) { 279 git.more(); 280 point = context.getPoint(git.next()); 292 281 p.moveTo(point.getX(), point.getY()); 293 while ( eit.hasNext()) {294 point = context.getPoint( eit.next());282 while (git.hasNext()) { 283 point = context.getPoint(git.next()); 295 284 p.lineTo(point.getX(), point.getY()); 296 285 } 297 break;298 case AREA:299 for (Bound bound : map.areas.get(feature.refs)) {300 BoundIterator bit = map.new BoundIterator(bound);301 point = context.getPoint(bit.next());302 p.moveTo(point.getX(), point.getY());303 while (bit.hasNext()) {304 point = context.getPoint(bit.next());305 p.lineTo(point.getX(), point.getY());306 }307 }308 break;309 default:310 break;311 286 } 312 287 if (style.line != null) { … … 353 328 Symbol circle = new Symbol(); 354 329 if (style.fill != null) { 355 circle.add(new Instr( Prim.FILL, style.fill));356 circle.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-radius,-radius,radius*2,radius*2)));357 } 358 circle.add(new Instr( Prim.FILL, style.line));359 circle.add(new Instr( Prim.STRK, new BasicStroke(style.width, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, style.dash, 0)));360 circle.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-radius,-radius,radius*2,radius*2)));330 circle.add(new Instr(Form.FILL, style.fill)); 331 circle.add(new Instr(Form.RSHP, new Ellipse2D.Double(-radius,-radius,radius*2,radius*2))); 332 } 333 circle.add(new Instr(Form.FILL, style.line)); 334 circle.add(new Instr(Form.STRK, new BasicStroke(style.width, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, style.dash, 0))); 335 circle.add(new Instr(Form.ELPS, new Ellipse2D.Double(-radius,-radius,radius*2,radius*2))); 361 336 Point2D point = context.getPoint(feature.centre); 362 337 Symbols.drawSymbol(g2, circle, 1, point.getX(), point.getY(), null, null); … … 368 343 p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 369 344 Point2D point; 370 switch (feature. flag) {345 switch (feature.geom.prim) { 371 346 case POINT: 372 347 point = context.getPoint(feature.centre); … … 375 350 break; 376 351 case AREA: 377 for (Bound bound : map.areas.get(feature.refs)) { 378 BoundIterator bit = map.new BoundIterator(bound); 379 point = context.getPoint(bit.next()); 352 GeomIterator git = map.new GeomIterator(feature.geom); 353 while (git.hasMore()) { 354 git.more(); 355 point = context.getPoint(git.next()); 380 356 p.moveTo(point.getX(), point.getY()); 381 while ( bit.hasNext()) {382 point = context.getPoint( bit.next());357 while (git.hasNext()) { 358 point = context.getPoint(git.next()); 383 359 p.lineTo(point.getX(), point.getY()); 384 360 } … … 427 403 tx = lx + (height * 0.34); 428 404 ty = ly + (height * 0.17); 429 label.add(new Instr( Prim.BBOX, new Rectangle2D.Double(lx,ly,width,height)));430 label.add(new Instr( Prim.FILL, bg));431 label.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height)));432 label.add(new Instr( Prim.FILL, fg));433 label.add(new Instr( Prim.STRK, new BasicStroke(1 + (int)(height/10), BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));434 label.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(lx,ly,width,height,height,height)));405 label.add(new Instr(Form.BBOX, new Rectangle2D.Double(lx,ly,width,height))); 406 label.add(new Instr(Form.FILL, bg)); 407 label.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height))); 408 label.add(new Instr(Form.FILL, fg)); 409 label.add(new Instr(Form.STRK, new BasicStroke(1 + (int)(height/10), BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 410 label.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(lx,ly,width,height,height,height))); 435 411 break; 436 412 case VCLR: … … 442 418 tx = lx + (height * 0.27); 443 419 ty = ly + (height * 0.25); 444 label.add(new Instr( Prim.BBOX, new Rectangle2D.Double(lx,ly,width,height)));445 label.add(new Instr( Prim.FILL, bg));446 label.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height)));447 label.add(new Instr( Prim.FILL, fg));420 label.add(new Instr(Form.BBOX, new Rectangle2D.Double(lx,ly,width,height))); 421 label.add(new Instr(Form.FILL, bg)); 422 label.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height))); 423 label.add(new Instr(Form.FILL, fg)); 448 424 int sw = 1 + (int)(height/10); 449 425 double po = sw / 2; 450 label.add(new Instr( Prim.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));426 label.add(new Instr(Form.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 451 427 Path2D.Double p = new Path2D.Double(); p.moveTo(-height*0.2,-ly-po); p.lineTo(height*0.2,-ly-po); p.moveTo(0,-ly-po); p.lineTo(0,-ly-po-(height*0.15)); 452 428 p.moveTo(-height*0.2,ly+po); p.lineTo((height*0.2),ly+po); p.moveTo(0,ly+po); p.lineTo(0,ly+po+(height*0.15)); 453 label.add(new Instr( Prim.PLIN, p));429 label.add(new Instr(Form.PLIN, p)); 454 430 break; 455 431 case PCLR: … … 461 437 tx = lx + (height * 0.27); 462 438 ty = ly + (height * 0.25); 463 label.add(new Instr( Prim.BBOX, new Rectangle2D.Double(lx,ly,width,height)));464 label.add(new Instr( Prim.FILL, bg));465 label.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height)));466 label.add(new Instr( Prim.FILL, fg));439 label.add(new Instr(Form.BBOX, new Rectangle2D.Double(lx,ly,width,height))); 440 label.add(new Instr(Form.FILL, bg)); 441 label.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height))); 442 label.add(new Instr(Form.FILL, fg)); 467 443 sw = 1 + (int)(height/10); 468 444 po = sw / 2; 469 label.add(new Instr( Prim.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));445 label.add(new Instr(Form.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 470 446 p = new Path2D.Double(); p.moveTo(-height*0.2,-ly-po); p.lineTo(height*0.2,-ly-po); p.moveTo(0,-ly-po); p.lineTo(0,-ly-po-(height*0.15)); 471 447 p.moveTo(-height*0.2,ly+po); p.lineTo((height*0.2),ly+po); p.moveTo(0,ly+po); p.lineTo(0,ly+po+(height*0.15)); 472 label.add(new Instr( Prim.PLIN, p));473 label.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Areas.CableFlash, 1, 0, 0, null, new Delta(Handle.CC, new AffineTransform(0,-1,1,0,-width/2,0)))));474 label.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Areas.CableFlash, 1, 0, 0, null, new Delta(Handle.CC, new AffineTransform(0,-1,1,0,width/2,0)))));448 label.add(new Instr(Form.PLIN, p)); 449 label.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Areas.CableFlash, 1, 0, 0, null, new Delta(Handle.CC, new AffineTransform(0,-1,1,0,-width/2,0))))); 450 label.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Areas.CableFlash, 1, 0, 0, null, new Delta(Handle.CC, new AffineTransform(0,-1,1,0,width/2,0))))); 475 451 break; 476 452 case HCLR: … … 482 458 tx = lx + (height * 0.5); 483 459 ty = ly + (height * 0.17); 484 label.add(new Instr( Prim.BBOX, new Rectangle2D.Double(lx,ly,width,height)));485 label.add(new Instr( Prim.FILL, bg));486 label.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height)));487 label.add(new Instr( Prim.FILL, fg));460 label.add(new Instr(Form.BBOX, new Rectangle2D.Double(lx,ly,width,height))); 461 label.add(new Instr(Form.FILL, bg)); 462 label.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(lx,ly,width,height,height,height))); 463 label.add(new Instr(Form.FILL, fg)); 488 464 sw = 1 + (int)(height/10); 489 465 double vo = height / 4; 490 label.add(new Instr( Prim.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));466 label.add(new Instr(Form.STRK, new BasicStroke(sw, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 491 467 p = new Path2D.Double(); p.moveTo(-width*0.4-sw,-ly-vo); p.lineTo(-width*0.4-sw,ly+vo); p.moveTo(-width*0.4-sw,0); p.lineTo(-width*0.4+sw,0); 492 468 p.moveTo(width*0.4+sw,-ly-vo); p.lineTo(width*0.4+sw,ly+vo); p.moveTo(width*0.4-sw,0); p.lineTo(width*0.4+sw,0); 493 label.add(new Instr( Prim.PLIN, p));469 label.add(new Instr(Form.PLIN, p)); 494 470 break; 495 471 default: … … 498 474 tx = lx; 499 475 ty = ly; 500 label.add(new Instr( Prim.BBOX, new Rectangle2D.Double(lx,ly,width,height)));501 break; 502 } 503 label.add(new Instr( Prim.TEXT, new Caption(str, font, tc, new Delta(Handle.TL, AffineTransform.getTranslateInstance(tx, ty)))));476 label.add(new Instr(Form.BBOX, new Rectangle2D.Double(lx,ly,width,height))); 477 break; 478 } 479 label.add(new Instr(Form.TEXT, new Caption(str, font, tc, new Delta(Handle.TL, AffineTransform.getTranslateInstance(tx, ty))))); 504 480 Point2D point = context.getPoint(feature.centre); 505 481 Symbols.drawSymbol(g2, label, sScale, point.getX(), point.getY(), null, delta); … … 507 483 508 484 public static void lineText(Feature feature, String str, Font font, Color colour, double offset, double dy) { 509 Area area;510 switch (feature.flag) {511 case LINE:512 Edge edge = map.edges.get(feature.refs);513 area = map.new Area();514 area.add(map.new Bound(map.new Side(edge, true), true));515 break;516 case AREA:517 area = map.areas.get(feature.refs);518 break;519 default:520 return;521 }522 485 // Rectangle prect = symbolSize(prisymb); 523 486 if (!str.isEmpty()) { … … 533 496 double len = 0; 534 497 double angle = 0; 535 for (Bound bound : area) { 536 BoundIterator bit = map.new BoundIterator(bound); 498 GeomIterator git = map.new GeomIterator(feature.geom); 499 while (git.hasMore()) { 500 git.more(); 537 501 boolean first = true; 538 while ( bit.hasNext()) {502 while (git.hasNext()) { 539 503 prev = next; 540 next = context.getPoint( bit.next());504 next = context.getPoint(git.next()); 541 505 angle = Math.atan2(next.getY() - prev.getY(), next.getX() - prev.getX()); 542 506 piv = true; -
applications/editors/josm/plugins/smed2/src/render/Rules.java
r30157 r30215 32 32 33 33 static String getName(Feature feature) { 34 Att Itemname = feature.atts.get(Att.OBJNAM);34 AttVal<?> name = feature.atts.get(Att.OBJNAM); 35 35 if (name == null) { 36 36 AttMap atts = feature.objs.get(feature.type).get(0); … … 58 58 return S57val.nullVal(att); 59 59 else { 60 Att Itemitem = atts.get(att);60 AttVal<?> item = atts.get(att); 61 61 if (item == null) 62 62 return S57val.nullVal(att); … … 89 89 AttMap atts = getAtts(feature, obj, 0); 90 90 if (atts != null) { 91 Att Itemitem = atts.get(att);91 AttVal item = atts.get(att); 92 92 if (item != null) { 93 93 switch (item.conv) { … … 233 233 case SEA_RECH: 234 234 if ((Renderer.zoom >= 10) && (name != null)) 235 if (feature. flag == Fflag.LINE) {235 if (feature.geom.prim == Pflag.LINE) { 236 236 Renderer.lineText(feature, name, new Font("Arial", Font.PLAIN, 150), Color.black, 0.5, -40); 237 237 } else { … … 241 241 case SEA_BAY: 242 242 if ((Renderer.zoom >= 12) && (name != null)) 243 if (feature. flag == Fflag.LINE) {243 if (feature.geom.prim == Pflag.LINE) { 244 244 Renderer.lineText(feature, name, new Font("Arial", Font.PLAIN, 150), Color.black, 0.5, -40); 245 245 } else { … … 249 249 case SEA_SHOL: 250 250 if (Renderer.zoom >= 14) { 251 if (feature. flag == Fflag.AREA) {251 if (feature.geom.prim == Pflag.AREA) { 252 252 Renderer.lineVector(feature, new LineStyle(new Color(0xc480ff), 4, new float[] { 25, 25 })); 253 253 if (name != null) { … … 255 255 Renderer.labelText(feature, "(Shoal)", new Font("Arial", Font.PLAIN, 60), Color.black, new Delta(Handle.BC)); 256 256 } 257 } else if (feature. flag == Fflag.LINE) {257 } else if (feature.geom.prim == Pflag.LINE) { 258 258 if (name != null) { 259 259 Renderer.lineText(feature, name, new Font("Arial", Font.ITALIC, 75), Color.black, 0.5, -40); … … 489 489 case ACHARE: 490 490 if (Renderer.zoom >= 12) { 491 if (feature. flag != Fflag.AREA) {491 if (feature.geom.prim != Pflag.AREA) { 492 492 Renderer.symbol(feature, Harbours.Anchorage, new Scheme(Color.black)); 493 493 } else { … … 683 683 MarSYS sys = MarSYS.SYS_CEVN; 684 684 BnkWTW bnk = BnkWTW.BWW_UNKN; 685 Att Itematt = feature.atts.get(Att.MARSYS);685 AttVal att = feature.atts.get(Att.MARSYS); 686 686 if (att != null) sys = (MarSYS)att.val; 687 687 ObjTab objs = feature.objs.get(Obj.NOTMRK); -
applications/editors/josm/plugins/smed2/src/s57/S57att.java
r30119 r30215 24 24 APTREF, SHPTYP, UPDMSG, ADDMRK, CATBNK, CATNMK, CATBRT, CATBUN, CATCCL, CATCOM, CATHBR, CATRFD, CATTML, CATGAG, CATVTR, CATTAB, CATEXS, CATWWM, LG_SPD, LG_SPR, 25 25 LG_BME, LG_LGS, LG_DRT, LG_WDP, LG_WDU, LG_REL, LG_FNC, LG_DES, LG_PBR, LC_CSI, LC_CSE, LC_ASI, LC_ASE, LC_CCI, LC_CCE, LC_BM1, LC_BM2, LC_LG1, LC_LG2, LC_DR1, 26 LC_DR2, LC_SP1, LC_SP2, LC_WD1, LC_WD2, LITRAD 26 LC_DR2, LC_SP1, LC_SP2, LC_WD1, LC_WD2, LITRAD, CATCVR 27 27 } 28 28 … … 32 32 AttS57.put(Att.CALSGN, 6); AttS57.put(Att.CATAIR, 7); AttS57.put(Att.CATACH, 8); AttS57.put(Att.CATBRG, 9); AttS57.put(Att.CATBUA, 10); AttS57.put(Att.CATCBL, 11); 33 33 AttS57.put(Att.CATCAN, 12); AttS57.put(Att.CATCAM, 13); AttS57.put(Att.CATCHP, 14); AttS57.put(Att.CATCOA, 15); AttS57.put(Att.CATCTR, 16); AttS57.put(Att.CATCON, 17); 34 AttS57.put(Att.CATCVR, 18); 34 35 AttS57.put(Att.CATCRN, 19); AttS57.put(Att.CATDAM, 20); AttS57.put(Att.CATDIS, 21); AttS57.put(Att.CATDOC, 22); AttS57.put(Att.CATDPG, 23); AttS57.put(Att.CATFNC, 24); 35 36 AttS57.put(Att.CATFRY, 25); AttS57.put(Att.CATFIF, 26); AttS57.put(Att.CATFOG, 27); AttS57.put(Att.CATFOR, 28); AttS57.put(Att.CATGAT, 29); AttS57.put(Att.CATHAF, 30); … … 49 50 AttS57.put(Att.ORIENT, 117); AttS57.put(Att.PEREND, 118); AttS57.put(Att.PERSTA, 119); AttS57.put(Att.PICREP, 120); AttS57.put(Att.PILDST, 121); AttS57.put(Att.PRCTRY, 122); 50 51 AttS57.put(Att.PRODCT, 123); AttS57.put(Att.PUBREF, 124); AttS57.put(Att.QUASOU, 125); AttS57.put(Att.RADWAL, 126); AttS57.put(Att.RADIUS, 127); AttS57.put(Att.RECDAT, 128); 51 AttS57.put(Att.RECIND, 129); AttS57.put(Att.RYRMGV, 130); AttS57.put(Att.RESTRN, 131); AttS57.put(Att.SECTR1, 136); AttS57.put(Att.SECTR2, 137); AttS57.put(Att.SHIPAM, 138); 52 AttS57.put(Att.RECIND, 129); AttS57.put(Att.RYRMGV, 130); AttS57.put(Att.RESTRN, 131); AttS57.put(Att.SCAMIN, 133); 53 AttS57.put(Att.SECTR1, 136); AttS57.put(Att.SECTR2, 137); AttS57.put(Att.SHIPAM, 138); 52 54 AttS57.put(Att.SIGFRQ, 139); AttS57.put(Att.SIGGEN, 140); AttS57.put(Att.SIGGRP, 141); AttS57.put(Att.SIGPER, 142); AttS57.put(Att.SIGSEQ, 143); AttS57.put(Att.SOUACC, 144); 53 55 AttS57.put(Att.SDISMX, 145); AttS57.put(Att.SDISMN, 146); AttS57.put(Att.SORDAT, 147); AttS57.put(Att.SORIND, 148); AttS57.put(Att.STATUS, 149); AttS57.put(Att.SURATH, 150); … … 150 152 AttStr.put(Att.CATVTR, "category"); AttStr.put(Att.CATTAB, "operation"); AttStr.put(Att.SCHREF, "schedule"); AttStr.put(Att.USESHP, "use"); AttStr.put(Att.CURVHW, "high_velocity"); 151 153 AttStr.put(Att.CURVLW, "low_velocity"); AttStr.put(Att.CURVMW, "mean_velocity"); AttStr.put(Att.CURVOW, "other_velocity"); AttStr.put(Att.APTREF, "passing_time"); 152 AttStr.put(Att.CATCOM, "category"); 154 AttStr.put(Att.CATCOM, "category"); AttStr.put(Att.CATCVR, "category"); AttStr.put(Att.SCAMIN, "scale_minimum"); 153 155 AttStr.put(Att.CATEXS, "category"); AttStr.put(Att.CATWWM, "category"); AttStr.put(Att.SHPTYP, "ship"); AttStr.put(Att.UPDMSG, "message"); AttStr.put(Att.LITRAD, "radius"); 154 156 } … … 205 207 objatt.add(new ObjAtt(Obj.DEPCNT, Att.VALDCO)); objatt.add(new ObjAtt(Obj.SOUNDG, Att.VALSOU)); objatt.add(new ObjAtt(Obj.NOTMRK, Att.BNKWTW)); 206 208 objatt.add(new ObjAtt(Obj.WTWAXS, Att.CATCCL)); objatt.add(new ObjAtt(Obj.WTWARE, Att.CATCCL)); objatt.add(new ObjAtt(Obj.COMARE, Att.CATCOM)); 207 objatt.add(new ObjAtt(Obj.RDOCAL, Att.CATCOM)); objatt.add(new ObjAtt(Obj.WTWGAG, Att.CATGAG)); 209 objatt.add(new ObjAtt(Obj.RDOCAL, Att.CATCOM)); objatt.add(new ObjAtt(Obj.WTWGAG, Att.CATGAG)); objatt.add(new ObjAtt(Obj.M_COVR, Att.CATCVR)); 208 210 objatt.add(new ObjAtt(Obj.ACHBRT, Att.RADIUS)); objatt.add(new ObjAtt(Obj.LIGHTS, Att.LITRAD)); 209 211 } … … 224 226 } 225 227 226 public static Att decodeAttribute( Integerattribute) { // Convert S57 attribute code to OSeaM attribute enumeration227 Att att = S57Att.get( attribute);228 public static Att decodeAttribute(long attribute) { // Convert S57 attribute code to OSeaM attribute enumeration 229 Att att = S57Att.get((int)attribute); 228 230 return (att != null) ? att : Att.UNKATT; 229 231 } -
applications/editors/josm/plugins/smed2/src/s57/S57dat.java
r30190 r30215 100 100 private static ArrayList<S57subf> S57ddsc = new ArrayList<S57subf>(Arrays.asList(S57subf.ATLB, S57subf.ASET, S57subf.AUTH )); 101 101 private static ArrayList<S57subf> S57frid = new ArrayList<S57subf>(Arrays.asList(S57subf.RCNM, S57subf.RCID, S57subf.PRIM, S57subf.GRUP, S57subf.OBJL, S57subf.RVER, S57subf.RUIN )); 102 private static ArrayList<S57subf> S57foid = new ArrayList<S57subf>(Arrays.asList(S57subf.AGEN, S57subf.FIDN, S57subf.FIDS )); 102 // private static ArrayList<S57subf> S57foid = new ArrayList<S57subf>(Arrays.asList(S57subf.AGEN, S57subf.FIDN, S57subf.FIDS )); 103 private static ArrayList<S57subf> S57foid = new ArrayList<S57subf>(Arrays.asList(S57subf.LNAM)); 103 104 private static ArrayList<S57subf> S57attf = new ArrayList<S57subf>(Arrays.asList(S57subf.ATTL, S57subf.ATVL )); 104 105 private static ArrayList<S57subf> S57natf = new ArrayList<S57subf>(Arrays.asList(S57subf.ATTL, S57subf.ATVL )); … … 140 141 public static int rnum; 141 142 142 public static void setField(byte[] buf, int off, S57field fld, int len) {143 buffer = buf;144 offset = off;145 maxoff = off + len - 1;146 field = fld;147 index = 0;148 }149 150 public static boolean more() {151 return (offset < maxoff);152 }153 154 public static Object getSubf(byte[] buf, int off, S57field fld, S57subf subf) {155 buffer = buf;156 offset = off;157 index = 0;158 return getSubf(fld, subf);159 }160 161 public static Object getSubf(S57field fld, S57subf subf) {162 field = fld;163 index = 0;164 return getSubf(subf);165 }166 167 143 private static S57conv findSubf(S57subf subf) { 168 144 ArrayList<S57subf> subs = fields.get(field); … … 188 164 } 189 165 166 public static void setField(byte[] buf, int off, S57field fld, int len) { 167 buffer = buf; 168 offset = off; 169 maxoff = off + len - 1; 170 field = fld; 171 index = 0; 172 } 173 174 public static boolean more() { 175 return ((offset < maxoff) && (buffer[offset+1] != 0x1e)); 176 } 177 178 public static Object getSubf(byte[] buf, int off, S57field fld, S57subf subf) { 179 buffer = buf; 180 offset = off; 181 index = 0; 182 return getSubf(fld, subf); 183 } 184 185 public static Object getSubf(S57field fld, S57subf subf) { 186 field = fld; 187 index = 0; 188 return getSubf(subf); 189 } 190 190 191 public static Object getSubf(S57subf subf) { 191 192 S57conv conv = findSubf(subf); … … 194 195 if (conv.asc == 0) { 195 196 while (buffer[offset] != 0x1f) { 196 str += buffer[offset++]; 197 } 197 str += (char)(buffer[offset++]); 198 } 199 offset++; 198 200 } else { 199 201 str = new String(buffer, offset, conv.asc); -
applications/editors/josm/plugins/smed2/src/s57/S57map.java
r30186 r30215 12 12 import java.util.*; 13 13 14 import s57.S57obj; 15 import s57.S57obj.*; 14 16 import s57.S57att; 15 17 import s57.S57att.*; 16 import s57.S57obj;17 import s57.S57obj.*;18 18 import s57.S57val; 19 19 import s57.S57val.*; … … 78 78 } 79 79 } 80 81 public class Side { // An edge as used in a line or area feature 82 Edge edge; // Side is formed by this Edge... 83 boolean forward; // ... in this direction 84 85 public Side(Edge iedge, boolean ifwd) { 86 edge = iedge; 87 forward = ifwd; 88 } 89 } 90 91 public class Bound { // A single closed area 92 public boolean outer; // Role 93 ArrayList<Side> sides; // Sides that make up this area 94 95 public Bound() { 96 outer = true; 97 sides = new ArrayList<Side>(); 98 } 99 public Bound(Side iside, boolean irole) { 100 outer = irole; 101 sides = new ArrayList<Side>(); 102 sides.add(iside); 103 } 104 } 105 106 public class Area extends ArrayList<Bound> { // The collection of bounds for an area. 107 public Area() { 80 81 public enum Rflag { 82 UNKN, AGGR, MASTER, SLAVE, PEER 83 } 84 85 public class Reln { 86 public long id; 87 public Rflag reln; 88 public Reln(long i, Rflag r) { 89 id = i; 90 reln = r; 91 } 92 } 93 94 public class AttMap extends HashMap<Att, AttVal<?>> { 95 public AttMap() { 108 96 super(); 109 97 } 110 98 } 111 99 112 public class AttItem { 113 public Conv conv; 114 public Object val; 115 116 AttItem(Conv iconv, Object ival) { 117 conv = iconv; 118 val = ival; 119 } 120 } 121 122 public class AttMap extends EnumMap<Att, AttItem> { 123 public AttMap() { 124 super(Att.class); 100 public class RelTab extends ArrayList<Reln> { 101 public RelTab() { 102 super(); 125 103 } 126 104 } … … 150 128 } 151 129 152 public class AreaTab extends HashMap<Long, Area> {153 public AreaTab() {154 super();155 }156 }157 158 130 public class FtrMap extends EnumMap<Obj, ArrayList<Feature>> { 159 131 public FtrMap() { … … 168 140 } 169 141 170 public enum Fflag { 171 UNKN, POINT, LINE, AREA 172 } 173 142 public class Prim { // Spatial element 143 public long id; // ID 144 public boolean forward; // Direction of vector used (LINEs & AREAs) 145 public boolean outer; // Exterior/Interior boundary (AREAs) 146 public Prim() { 147 id = 0; forward = true; outer = true; 148 } 149 public Prim(long i) { 150 id = i; forward = true; outer = true; 151 } 152 public Prim(long i, boolean o) { 153 id = i; forward = true; outer = o; 154 } 155 public Prim(long i, boolean f, boolean o) { 156 id = i; forward = f; outer = o; 157 } 158 } 159 160 public enum Pflag { 161 NOSP, POINT, LINE, AREA 162 } 163 164 public class Geom { // Geometric structure of feature 165 public Pflag prim; // Geometry type 166 public ArrayList<Prim> elems; // Ordered list of elements 167 public Geom(Pflag p) { 168 prim = p; 169 elems = new ArrayList<Prim>(); 170 } 171 } 172 174 173 public class Feature { 175 public Fflag flag; 176 public long refs; 177 public Obj type; 178 public AttMap atts; 179 public ObjMap objs; 180 public double area; 181 public double length; 182 public Snode centre; 174 public Rflag reln; // Relationship status 175 public Geom geom; // Geometry data 176 public Obj type; // Feature type 177 public AttMap atts; // Feature attributes 178 public RelTab rels; // Related objects 179 public ObjMap objs; // Slave objects 180 public double area; // Area of feature 181 public double length; // Length of feature 182 public Snode centre; // Centre of feature 183 183 184 184 Feature() { 185 flag = Fflag.UNKN;186 refs = 0;187 type = Obj. UNKOBJ;185 reln = Rflag.UNKN; 186 geom = new Geom(Pflag.NOSP); 187 type = Obj.C_AGGR; 188 188 atts = new AttMap(); 189 rels = new RelTab(); 189 190 objs = new ObjMap(); 190 191 area = 0; … … 196 197 public NodeTab nodes; 197 198 public EdgeTab edges; 198 public AreaTab areas;199 199 200 200 public FtrMap features; … … 203 203 private Feature feature; 204 204 private Edge edge; 205 private ArrayList<Long> outers; 206 private ArrayList<Long> inners; 207 208 public class EdgeIterator { 209 Edge edge; 210 boolean forward; 211 ListIterator<Long> it; 212 213 public EdgeIterator(Edge iedge, boolean dir) { 214 edge = iedge; 215 forward = dir; 216 it = null; 217 } 218 219 public boolean hasNext() { 220 return (edge != null); 221 } 222 223 public Snode next() { 224 long ref = 0; 225 if (forward) { 226 if (it == null) { 227 ref = edge.first; 228 it = edge.nodes.listIterator(); 229 } else { 230 if (it.hasNext()) { 231 ref = it.next(); 232 } else { 233 ref = edge.last; 234 edge = null; 235 } 236 } 237 } else { 238 if (it == null) { 239 ref = edge.last; 240 it = edge.nodes.listIterator(edge.nodes.size()); 241 } else { 242 if (it.hasPrevious()) { 243 ref = it.previous(); 244 } else { 245 ref = edge.first; 246 edge = null; 247 } 248 } 249 } 250 return nodes.get(ref); 251 } 252 } 253 254 public class BoundIterator { 255 Bound bound; 256 Side side; 257 ListIterator<Side> sit; 258 EdgeIterator eit; 259 260 public BoundIterator(Bound ibound) { 261 bound = ibound; 262 sit = bound.sides.listIterator(); 263 if (sit.hasNext()) { 264 side = sit.next(); 265 eit = new EdgeIterator(side.edge, side.forward); 266 } else { 267 side = null; 268 } 269 } 270 271 public boolean hasNext() { 272 return (side != null) && ((sit.hasNext()) || (eit.hasNext())); 273 } 274 275 public Snode next() { 276 Snode node = null; 277 if (side != null) { 278 if (eit.hasNext()) { 279 node = eit.next(); 280 } else { 281 if (sit.hasNext()) { 282 side = sit.next(); 283 eit = new EdgeIterator(side.edge, side.forward); 284 node = eit.next(); 285 } else { 286 side = null; 287 } 288 } 289 } 290 return node; 291 } 292 } 293 205 294 206 public S57map() { 295 nodes = new NodeTab(); 296 edges = new EdgeTab(); 297 areas = new AreaTab(); 298 feature = new Feature(); 299 features = new FtrMap(); 300 index = new FtrTab(); 301 } 302 303 public void addNode(long id, double lat, double lon) { 304 nodes.put(id, new Snode(Math.toRadians(lat), Math.toRadians(lon))); 305 feature = new Feature(); 306 feature.refs = id; 307 feature.flag = Fflag.POINT; 308 edge = null; 309 } 310 207 nodes = new NodeTab(); // All nodes in map 208 edges = new EdgeTab(); // All edges in map 209 feature = new Feature(); // Current feature being built 210 features = new FtrMap(); // All features in map, grouped by type 211 index = new FtrTab(); // Feature look-up table 212 } 213 214 // S57 map building methods 215 311 216 public void newNode(long id, double lat, double lon, Nflag flag) { 312 217 nodes.put(id, new Snode(Math.toRadians(lat), Math.toRadians(lon), flag)); … … 320 225 } 321 226 322 public void newEdge(long id) { 323 edge = new Edge(); 324 edges.put(id, edge); 227 public void newFeature(long id, Pflag p, long objl) { 228 feature = new Feature(); 229 Obj obj = S57obj.decodeType(objl); 230 if (obj == Obj.C_AGGR) { 231 feature.reln = Rflag.AGGR; 232 } 233 feature.geom = new Geom(p); 234 feature.type = obj; 235 index.put(id, feature); 236 } 237 238 public void newObj(long id, int rind) { 239 Rflag r = Rflag.AGGR; 240 switch (rind) { 241 case 1: 242 r = Rflag.MASTER; 243 break; 244 case 2: 245 r = Rflag.SLAVE; 246 break; 247 case 3: 248 r = Rflag.PEER; 249 break; 250 } 251 feature.rels.add(new Reln(id, r)); 252 } 253 254 public void endFeature() { 255 256 } 257 258 public void newAtt(long attl, String atvl) { 259 Att att = S57att.decodeAttribute(attl); 260 AttVal<?> val = S57val.decodeValue(atvl, att); 261 feature.atts.put(att, val); 262 } 263 264 public void newPrim(long id, long ornt, long usag) { 265 feature.geom.elems.add(new Prim(id, (ornt != 2), (usag != 2))); 325 266 } 326 267 … … 333 274 } 334 275 276 public void newEdge(long id) { 277 edge = new Edge(); 278 edges.put(id, edge); 279 } 280 281 public void endFile() { 282 for (long id : index.keySet()) { 283 Feature feature = index.get(id); 284 for (Reln rel : feature.rels) { 285 Feature reln = index.get(rel.id); 286 reln.reln = rel.reln; 287 if (feature.reln == Rflag.UNKN) { 288 switch (rel.reln) { 289 case MASTER: 290 feature.reln = Rflag.AGGR; 291 break; 292 case SLAVE: 293 feature.reln = Rflag.MASTER; 294 case PEER: 295 feature.reln = Rflag.PEER; 296 break; 297 default: 298 break; 299 } 300 } 301 ObjTab tab = feature.objs.get(reln.type); 302 if (tab == null) { 303 tab = new ObjTab(); 304 feature.objs.put(reln.type, tab); 305 } 306 tab.put(tab.size(), reln.atts); 307 } 308 } 309 for (long id : index.keySet()) { 310 Feature feature = index.get(id); 311 if (feature.reln == Rflag.UNKN) { 312 feature.reln = Rflag.MASTER; 313 } 314 if ((feature.type != Obj.UNKOBJ) && ((feature.reln == Rflag.MASTER) || (feature.reln == Rflag.PEER))) { 315 if (features.get(feature.type) == null) { 316 features.put(feature.type, new ArrayList<Feature>()); 317 } 318 features.get(feature.type).add(feature); 319 } 320 } 321 } 322 323 // OSM map building methods 324 325 public void addNode(long id, double lat, double lon) { 326 Snode node = new Snode(Math.toRadians(lat), Math.toRadians(lon)); 327 nodes.put(id, node); 328 feature = new Feature(); 329 feature.reln = Rflag.AGGR; 330 feature.geom.prim = Pflag.POINT; 331 feature.geom.elems.add(new Prim(id)); 332 edge = null; 333 } 334 335 335 public void addEdge(long id) { 336 336 feature = new Feature(); 337 feature.refs = id; 338 feature.flag = Fflag.LINE; 337 feature.reln = Rflag.AGGR; 338 feature.geom.prim = Pflag.LINE; 339 feature.geom.elems.add(new Prim(id)); 339 340 edge = new Edge(); 340 341 } … … 343 344 if (edge.first == 0) { 344 345 edge.first = node; 346 nodes.get(node).flg = Nflag.CONN; 345 347 } else { 346 348 if (edge.last != 0) { … … 353 355 public void addArea(long id) { 354 356 feature = new Feature(); 355 feature.refs = id; 356 feature.flag = Fflag.AREA; 357 outers = new ArrayList<Long>(); 358 inners = new ArrayList<Long>(); 357 feature.reln = Rflag.AGGR; 358 feature.geom.prim = Pflag.AREA; 359 feature.geom.elems.add(new Prim(id)); 359 360 edge = null; 360 361 } 361 362 362 363 public void addToArea(long id, boolean outer) { 363 if (outer) { 364 outers.add(id); 365 } else { 366 inners.add(id); 367 } 364 feature.geom.elems.add(new Prim(id, outer)); 368 365 } 369 366 … … 395 392 AttVal<?> attval = S57val.convertValue(val, att); 396 393 if (attval.val != null) 397 atts.put(att, new AttItem(attval.conv, attval.val));394 atts.put(att, attval); 398 395 } else { 399 396 if (subkeys[1].equals("type")) { … … 407 404 AttVal<?> attval = S57val.convertValue(val, att); 408 405 if (attval.val != null) 409 feature.atts.put(att, new AttItem(attval.conv, attval.val));406 feature.atts.put(att, attval); 410 407 } 411 408 } … … 415 412 416 413 public void tagsDone(long id) { 417 switch (feature. flag) {414 switch (feature.geom.prim) { 418 415 case POINT: 419 416 Snode node = nodes.get(id); … … 428 425 nodes.get(edge.first).flg = Nflag.CONN; 429 426 nodes.get(edge.last).flg = Nflag.CONN; 430 Bound ebound = (new Bound(new Side(edge, true), true)); 431 feature.length = calcLength(ebound); 427 feature.length = calcLength(feature.geom); 432 428 if (edge.first == edge.last) { 433 feature.flag = Fflag.AREA; 434 Area area = new Area(); 435 area.add(ebound); 436 feature.area = calcArea(ebound); 437 areas.put(id, area); 429 feature.geom.prim = Pflag.AREA; 430 feature.area = calcArea(feature.geom); 438 431 } else { 439 432 feature.area = 0; … … 441 434 break; 442 435 case AREA: 443 Bound bound = null;444 Area area = new Area();445 ArrayList<Long> role = outers;446 while (role != null) {447 while (!role.isEmpty()) {448 Edge edge = edges.get(role.remove(0));449 long node1 = edge.first;450 long node2 = edge.last;451 bound = new Bound(new Side(edge, true), (role == outers));452 if (node1 != node2) {453 for (ListIterator<Long> it = role.listIterator(0); it.hasNext();) {454 Edge nedge = edges.get(it.next());455 if (nedge.first == node2) {456 bound.sides.add(new Side(nedge, true));457 it.remove();458 if (nedge.last == node2)459 break;460 } else if (nedge.last == node2) {461 bound.sides.add(new Side(nedge, false));462 it.remove();463 if (nedge.first == node2)464 break;465 }466 }467 }468 area.add(bound);469 }470 if (role == outers) {471 feature.length = calcLength(bound);472 feature.area = calcArea(bound);473 role = inners;474 } else {475 role = null;476 }477 }478 areas.put(id, area);479 436 break; 480 case UNKN:481 437 default: 482 438 break; … … 492 448 } 493 449 494 double signedArea(Bound bound) { 450 // Utility methods 451 452 public class EdgeIterator { 453 Edge edge; 454 boolean forward; 455 ListIterator<Long> it; 456 457 public EdgeIterator(Edge e, boolean dir) { 458 edge = e; 459 forward = dir; 460 it = null; 461 } 462 463 public boolean hasNext() { 464 return (edge != null); 465 } 466 467 public Snode next() { 468 long ref = 0; 469 if (forward) { 470 if (it == null) { 471 ref = edge.first; 472 it = edge.nodes.listIterator(); 473 } else { 474 if (it.hasNext()) { 475 ref = it.next(); 476 } else { 477 ref = edge.last; 478 edge = null; 479 } 480 } 481 } else { 482 if (it == null) { 483 ref = edge.last; 484 it = edge.nodes.listIterator(edge.nodes.size()); 485 } else { 486 if (it.hasPrevious()) { 487 ref = it.previous(); 488 } else { 489 ref = edge.first; 490 edge = null; 491 } 492 } 493 } 494 return nodes.get(ref); 495 } 496 } 497 498 public class GeomIterator { 499 Geom geom; 500 Prim prim; 501 EdgeIterator eit; 502 ListIterator<S57map.Prim> it; 503 Snode first; 504 Snode last; 505 506 public GeomIterator(Geom g) { 507 geom = g; 508 eit = null; 509 first = last = null; 510 if ((geom.prim != Pflag.NOSP) && (geom.prim != Pflag.POINT)) { 511 it = geom.elems.listIterator(); 512 } else { 513 it = null; 514 } 515 } 516 517 public boolean hasMore() { 518 return (it != null) && it.hasNext(); 519 } 520 521 public boolean more() { 522 if ((it != null) && it.hasNext()) { 523 prim = it.next(); 524 return prim.outer; 525 } 526 return false; 527 } 528 529 public boolean hasNext() { 530 return (first != last) && (eit.hasNext() || it.hasNext()); 531 } 532 533 public Snode next() { 534 if (!eit.hasNext()) { 535 if (it.hasNext()) { 536 prim = it.next(); 537 eit = new EdgeIterator(edges.get(prim.id), prim.forward); 538 } else { 539 return null; 540 } 541 } 542 last = eit.next(); 543 return last; 544 } 545 } 546 547 double signedArea(Geom geom) { 495 548 Snode node; 496 549 double lat, lon, llon, llat; 497 550 lat = lon = llon = llat = 0; 498 551 double sigma = 0; 499 BoundIterator it = new BoundIterator(bound);552 /* BoundIterator it = new BoundIterator(bound); 500 553 while (it.hasNext()) { 501 554 llon = lon; … … 506 559 sigma += (lon * Math.sin(llat)) - (llon * Math.sin(lat)); 507 560 } 508 return sigma / 2.0;509 } 510 511 public boolean handOfArea( Bound bound) {512 return (signedArea( bound) < 0);513 } 514 515 public double calcArea( Bound bound) {516 return Math.abs(signedArea( bound)) * 3444 * 3444;517 } 518 519 public double calcLength( Bound bound) {520 Snode node;561 */ return sigma / 2.0; 562 } 563 564 public boolean handOfArea(Geom geom) { 565 return (signedArea(geom) < 0); 566 } 567 568 public double calcArea(Geom geom) { 569 return Math.abs(signedArea(geom)) * 3444 * 3444; 570 } 571 572 public double calcLength(Geom geom) { 573 /* Snode node; 521 574 double lat, lon, llon, llat; 522 575 lat = lon = llon = llat = 0; … … 537 590 } 538 591 return sigma * 3444; 592 */ return 0; 539 593 } 540 594 541 595 public Snode findCentroid(Feature feature) { 542 double lat, lon, slat, slon, llat, llon;596 /* double lat, lon, slat, slon, llat, llon; 543 597 llat = llon = lat = lon = slat = slon = 0; 544 598 double sarc = 0; 545 599 boolean first = true; 546 switch (feature. flag) {600 switch (feature.geom.prim) { 547 601 case POINT: 548 return nodes.get(feature. refs);602 return nodes.get(feature.geom); 549 603 case LINE: 550 Edge edge = edges.get(feature. refs);604 Edge edge = edges.get(feature.geom); 551 605 EdgeIterator eit = new EdgeIterator(edge, true); 552 606 while (eit.hasNext()) { … … 583 637 return new Snode(llat + ((lat - llat) * harc / sarc), llon + ((lon - llon) * harc / sarc)); 584 638 case AREA: 585 Bound bound = areas.get(feature. refs).get(0);639 Bound bound = areas.get(feature.geom).get(0); 586 640 BoundIterator bit = new BoundIterator(bound); 587 641 while (bit.hasNext()) { … … 603 657 default: 604 658 } 605 return null;659 */ return null; 606 660 } 607 661 -
applications/editors/josm/plugins/smed2/src/s57/S57obj.java
r30028 r30215 19 19 TIDEWY, TOPMAR, TSELNE, TSSBND, TSSCRS, TSSLPT, TSSRON, TSEZNE, TUNNEL, TWRTPT, UWTROC, UNSARE, VEGATN, WATTUR, WATFAL, WEDKLP, 20 20 WRECKS, TS_FEB, NOTMRK, WTWAXS, WTWPRF, BRGARE, BUNSTA, COMARE, HRBBSN, LOKARE, LKBSPT, PRTARE, BCNWTW, BOYWTW, REFDMP, RTPLPT, 21 TERMNL, TRNBSN, WTWARE, WTWGAG, TISDGE, VEHTRF, EXCNST, LG_SDM, LG_VSP, LITMIN, LITMAJ 21 TERMNL, TRNBSN, WTWARE, WTWGAG, TISDGE, VEHTRF, EXCNST, LG_SDM, LG_VSP, LITMIN, LITMAJ, C_AGGR, M_COVR 22 22 } 23 23 24 24 private static final EnumMap<Obj, Integer> ObjS57 = new EnumMap<Obj, Integer>(Obj.class); 25 25 static { 26 ObjS57.put(Obj.UNKOBJ,0); ObjS57.put(Obj.ADMARE,1); ObjS57.put(Obj.AIRARE,2); ObjS57.put(Obj.ACHBRT,3); ObjS57.put(Obj.ACHARE,4); 27 ObjS57.put(Obj.BCNCAR,5); ObjS57.put(Obj.BCNISD,6); ObjS57.put(Obj.BCNLAT,7); ObjS57.put(Obj.BCNSAW,8); ObjS57.put(Obj.BCNSPP,9); 28 ObjS57.put(Obj.BERTHS,10); ObjS57.put(Obj.BRIDGE,11); ObjS57.put(Obj.BUISGL,12); ObjS57.put(Obj.BUAARE,13); ObjS57.put(Obj.BOYCAR,14); 29 ObjS57.put(Obj.BOYINB,15); ObjS57.put(Obj.BOYISD,16); ObjS57.put(Obj.BOYLAT,17); ObjS57.put(Obj.BOYSAW,18); ObjS57.put(Obj.BOYSPP,19); 30 ObjS57.put(Obj.CBLARE,20); ObjS57.put(Obj.CBLOHD,21); ObjS57.put(Obj.CBLSUB,22); ObjS57.put(Obj.CANALS,23); ObjS57.put(Obj.CANBNK,24); 31 ObjS57.put(Obj.CTSARE,25); ObjS57.put(Obj.CAUSWY,26); ObjS57.put(Obj.CTNARE,27); ObjS57.put(Obj.CHKPNT,28); ObjS57.put(Obj.CGUSTA,29); 32 ObjS57.put(Obj.COALNE,30); ObjS57.put(Obj.CONZNE,31); ObjS57.put(Obj.COSARE,32); ObjS57.put(Obj.CTRPNT,33); ObjS57.put(Obj.CONVYR,34); 33 ObjS57.put(Obj.CRANES,35); ObjS57.put(Obj.CURENT,36); ObjS57.put(Obj.CUSZNE,37); ObjS57.put(Obj.DAMCON,38); ObjS57.put(Obj.DAYMAR,39); 34 ObjS57.put(Obj.DWRTCL,40); ObjS57.put(Obj.DWRTPT,41); ObjS57.put(Obj.DEPARE,42); ObjS57.put(Obj.DEPCNT,43); ObjS57.put(Obj.DISMAR,44); 35 ObjS57.put(Obj.DOCARE,45); ObjS57.put(Obj.DRGARE,46); ObjS57.put(Obj.DRYDOC,47); ObjS57.put(Obj.DMPGRD,48); ObjS57.put(Obj.DYKCON,49); 36 ObjS57.put(Obj.EXEZNE,50); ObjS57.put(Obj.FAIRWY,51); ObjS57.put(Obj.FNCLNE,52); ObjS57.put(Obj.FERYRT,53); ObjS57.put(Obj.FSHZNE,54); 37 ObjS57.put(Obj.FSHFAC,55); ObjS57.put(Obj.FSHGRD,56); ObjS57.put(Obj.FLODOC,57); ObjS57.put(Obj.FOGSIG,58); ObjS57.put(Obj.FORSTC,59); 38 ObjS57.put(Obj.FRPARE,60); ObjS57.put(Obj.GATCON,61); ObjS57.put(Obj.GRIDRN,62); ObjS57.put(Obj.HRBARE,63); ObjS57.put(Obj.HRBFAC,64); 39 ObjS57.put(Obj.HULKES,65); ObjS57.put(Obj.ICEARE,66); ObjS57.put(Obj.ICNARE,67); ObjS57.put(Obj.ISTZNE,68); ObjS57.put(Obj.LAKARE,69); 40 ObjS57.put(Obj.LAKSHR,70); ObjS57.put(Obj.LNDARE,71); ObjS57.put(Obj.LNDELV,72); ObjS57.put(Obj.LNDRGN,73); ObjS57.put(Obj.LNDMRK,74); 41 ObjS57.put(Obj.LIGHTS,75); ObjS57.put(Obj.LITFLT,76); ObjS57.put(Obj.LITVES,77); ObjS57.put(Obj.LOCMAG,78); ObjS57.put(Obj.LOKBSN,79); 42 ObjS57.put(Obj.LOGPON,80); ObjS57.put(Obj.MAGVAR,81); ObjS57.put(Obj.MARCUL,82); ObjS57.put(Obj.MIPARE,83); ObjS57.put(Obj.MORFAC,84); 43 ObjS57.put(Obj.NAVLNE,85); ObjS57.put(Obj.OBSTRN,86); ObjS57.put(Obj.OFSPLF,87); ObjS57.put(Obj.OSPARE,88); ObjS57.put(Obj.OILBAR,89); 44 ObjS57.put(Obj.PILPNT,90); ObjS57.put(Obj.PILBOP,91); ObjS57.put(Obj.PIPARE,92); ObjS57.put(Obj.PIPOHD,93); ObjS57.put(Obj.PIPSOL,94); 45 ObjS57.put(Obj.PONTON,95); ObjS57.put(Obj.PRCARE,96); ObjS57.put(Obj.PRDARE,97); ObjS57.put(Obj.PYLONS,98); ObjS57.put(Obj.RADLNE,99); 46 ObjS57.put(Obj.RADRNG,100); ObjS57.put(Obj.RADRFL,101); ObjS57.put(Obj.RADSTA,102); ObjS57.put(Obj.RTPBCN,103); ObjS57.put(Obj.RDOCAL,104); 47 ObjS57.put(Obj.RDOSTA,105); ObjS57.put(Obj.RAILWY,106); ObjS57.put(Obj.RAPIDS,107); ObjS57.put(Obj.RCRTCL,108); ObjS57.put(Obj.RECTRC,109); 48 ObjS57.put(Obj.RCTLPT,110); ObjS57.put(Obj.RSCSTA,111); ObjS57.put(Obj.RESARE,112); ObjS57.put(Obj.RETRFL,113); ObjS57.put(Obj.RIVERS,114); 49 ObjS57.put(Obj.RIVBNK,115); ObjS57.put(Obj.ROADWY,116); ObjS57.put(Obj.RUNWAY,117); ObjS57.put(Obj.SNDWAV,118); ObjS57.put(Obj.SEAARE,119); 50 ObjS57.put(Obj.SPLARE,120); ObjS57.put(Obj.SBDARE,121); ObjS57.put(Obj.SLCONS,122); ObjS57.put(Obj.SISTAT,123); ObjS57.put(Obj.SISTAW,124); 51 ObjS57.put(Obj.SILTNK,125); ObjS57.put(Obj.SLOTOP,126); ObjS57.put(Obj.SLOGRD,127); ObjS57.put(Obj.SMCFAC,128); ObjS57.put(Obj.SOUNDG,129); 52 ObjS57.put(Obj.SPRING,130); ObjS57.put(Obj.SQUARE,131); ObjS57.put(Obj.STSLNE,132); ObjS57.put(Obj.SUBTLN,133); ObjS57.put(Obj.SWPARE,134); 53 ObjS57.put(Obj.TESARE,135); ObjS57.put(Obj.TS_PRH,136); ObjS57.put(Obj.TS_PNH,137); ObjS57.put(Obj.TS_PAD,138); ObjS57.put(Obj.TS_TIS,139); 54 ObjS57.put(Obj.T_HMON,140); ObjS57.put(Obj.T_NHMN,141); ObjS57.put(Obj.T_TIMS,142); ObjS57.put(Obj.TIDEWY,143); ObjS57.put(Obj.TOPMAR,144); 55 ObjS57.put(Obj.TSELNE,145); ObjS57.put(Obj.TSSBND,146); ObjS57.put(Obj.TSSCRS,147); ObjS57.put(Obj.TSSLPT,148); ObjS57.put(Obj.TSSRON,149); 56 ObjS57.put(Obj.TSEZNE,150); ObjS57.put(Obj.TUNNEL,151); ObjS57.put(Obj.TWRTPT,152); ObjS57.put(Obj.UWTROC,153); ObjS57.put(Obj.UNSARE,154); 57 ObjS57.put(Obj.VEGATN,155); ObjS57.put(Obj.WATTUR,156); ObjS57.put(Obj.WATFAL,157); ObjS57.put(Obj.WEDKLP,158); ObjS57.put(Obj.WRECKS,159); 58 ObjS57.put(Obj.TS_FEB,160); ObjS57.put(Obj.MPAARE,199); 26 ObjS57.put(Obj.UNKOBJ,0); 27 ObjS57.put(Obj.ADMARE,1); ObjS57.put(Obj.AIRARE,2); ObjS57.put(Obj.ACHBRT,3); ObjS57.put(Obj.ACHARE,4); ObjS57.put(Obj.BCNCAR,5); 28 ObjS57.put(Obj.BCNISD,6); ObjS57.put(Obj.BCNLAT,7); ObjS57.put(Obj.BCNSAW,8); ObjS57.put(Obj.BCNSPP,9); ObjS57.put(Obj.BERTHS,10); 29 ObjS57.put(Obj.BRIDGE,11); ObjS57.put(Obj.BUISGL,12); ObjS57.put(Obj.BUAARE,13); ObjS57.put(Obj.BOYCAR,14); ObjS57.put(Obj.BOYINB,15); 30 ObjS57.put(Obj.BOYISD,16); ObjS57.put(Obj.BOYLAT,17); ObjS57.put(Obj.BOYSAW,18); ObjS57.put(Obj.BOYSPP,19); ObjS57.put(Obj.CBLARE,20); 31 ObjS57.put(Obj.CBLOHD,21); ObjS57.put(Obj.CBLSUB,22); ObjS57.put(Obj.CANALS,23); ObjS57.put(Obj.CANBNK,24); ObjS57.put(Obj.CTSARE,25); 32 ObjS57.put(Obj.CAUSWY,26); ObjS57.put(Obj.CTNARE,27); ObjS57.put(Obj.CHKPNT,28); ObjS57.put(Obj.CGUSTA,29); ObjS57.put(Obj.COALNE,30); 33 ObjS57.put(Obj.CONZNE,31); ObjS57.put(Obj.COSARE,32); ObjS57.put(Obj.CTRPNT,33); ObjS57.put(Obj.CONVYR,34); ObjS57.put(Obj.CRANES,35); 34 ObjS57.put(Obj.CURENT,36); ObjS57.put(Obj.CUSZNE,37); ObjS57.put(Obj.DAMCON,38); ObjS57.put(Obj.DAYMAR,39); ObjS57.put(Obj.DWRTCL,40); 35 ObjS57.put(Obj.DWRTPT,41); ObjS57.put(Obj.DEPARE,42); ObjS57.put(Obj.DEPCNT,43); ObjS57.put(Obj.DISMAR,44); ObjS57.put(Obj.DOCARE,45); 36 ObjS57.put(Obj.DRGARE,46); ObjS57.put(Obj.DRYDOC,47); ObjS57.put(Obj.DMPGRD,48); ObjS57.put(Obj.DYKCON,49); ObjS57.put(Obj.EXEZNE,50); 37 ObjS57.put(Obj.FAIRWY,51); ObjS57.put(Obj.FNCLNE,52); ObjS57.put(Obj.FERYRT,53); ObjS57.put(Obj.FSHZNE,54); ObjS57.put(Obj.FSHFAC,55); 38 ObjS57.put(Obj.FSHGRD,56); ObjS57.put(Obj.FLODOC,57); ObjS57.put(Obj.FOGSIG,58); ObjS57.put(Obj.FORSTC,59); ObjS57.put(Obj.FRPARE,60); 39 ObjS57.put(Obj.GATCON,61); ObjS57.put(Obj.GRIDRN,62); ObjS57.put(Obj.HRBARE,63); ObjS57.put(Obj.HRBFAC,64); ObjS57.put(Obj.HULKES,65); 40 ObjS57.put(Obj.ICEARE,66); ObjS57.put(Obj.ICNARE,67); ObjS57.put(Obj.ISTZNE,68); ObjS57.put(Obj.LAKARE,69); ObjS57.put(Obj.LAKSHR,70); 41 ObjS57.put(Obj.LNDARE,71); ObjS57.put(Obj.LNDELV,72); ObjS57.put(Obj.LNDRGN,73); ObjS57.put(Obj.LNDMRK,74); ObjS57.put(Obj.LIGHTS,75); 42 ObjS57.put(Obj.LITFLT,76); ObjS57.put(Obj.LITVES,77); ObjS57.put(Obj.LOCMAG,78); ObjS57.put(Obj.LOKBSN,79); ObjS57.put(Obj.LOGPON,80); 43 ObjS57.put(Obj.MAGVAR,81); ObjS57.put(Obj.MARCUL,82); ObjS57.put(Obj.MIPARE,83); ObjS57.put(Obj.MORFAC,84); ObjS57.put(Obj.NAVLNE,85); 44 ObjS57.put(Obj.OBSTRN,86); ObjS57.put(Obj.OFSPLF,87); ObjS57.put(Obj.OSPARE,88); ObjS57.put(Obj.OILBAR,89); ObjS57.put(Obj.PILPNT,90); 45 ObjS57.put(Obj.PILBOP,91); ObjS57.put(Obj.PIPARE,92); ObjS57.put(Obj.PIPOHD,93); ObjS57.put(Obj.PIPSOL,94); ObjS57.put(Obj.PONTON,95); 46 ObjS57.put(Obj.PRCARE,96); ObjS57.put(Obj.PRDARE,97); ObjS57.put(Obj.PYLONS,98); ObjS57.put(Obj.RADLNE,99); ObjS57.put(Obj.RADRNG,100); 47 ObjS57.put(Obj.RADRFL,101); ObjS57.put(Obj.RADSTA,102); ObjS57.put(Obj.RTPBCN,103); ObjS57.put(Obj.RDOCAL,104); ObjS57.put(Obj.RDOSTA,105); 48 ObjS57.put(Obj.RAILWY,106); ObjS57.put(Obj.RAPIDS,107); ObjS57.put(Obj.RCRTCL,108); ObjS57.put(Obj.RECTRC,109); ObjS57.put(Obj.RCTLPT,110); 49 ObjS57.put(Obj.RSCSTA,111); ObjS57.put(Obj.RESARE,112); ObjS57.put(Obj.RETRFL,113); ObjS57.put(Obj.RIVERS,114); ObjS57.put(Obj.RIVBNK,115); 50 ObjS57.put(Obj.ROADWY,116); ObjS57.put(Obj.RUNWAY,117); ObjS57.put(Obj.SNDWAV,118); ObjS57.put(Obj.SEAARE,119); ObjS57.put(Obj.SPLARE,120); 51 ObjS57.put(Obj.SBDARE,121); ObjS57.put(Obj.SLCONS,122); ObjS57.put(Obj.SISTAT,123); ObjS57.put(Obj.SISTAW,124); ObjS57.put(Obj.SILTNK,125); 52 ObjS57.put(Obj.SLOTOP,126); ObjS57.put(Obj.SLOGRD,127); ObjS57.put(Obj.SMCFAC,128); ObjS57.put(Obj.SOUNDG,129); ObjS57.put(Obj.SPRING,130); 53 ObjS57.put(Obj.SQUARE,131); ObjS57.put(Obj.STSLNE,132); ObjS57.put(Obj.SUBTLN,133); ObjS57.put(Obj.SWPARE,134); ObjS57.put(Obj.TESARE,135); 54 ObjS57.put(Obj.TS_PRH,136); ObjS57.put(Obj.TS_PNH,137); ObjS57.put(Obj.TS_PAD,138); ObjS57.put(Obj.TS_TIS,139); ObjS57.put(Obj.T_HMON,140); 55 ObjS57.put(Obj.T_NHMN,141); ObjS57.put(Obj.T_TIMS,142); ObjS57.put(Obj.TIDEWY,143); ObjS57.put(Obj.TOPMAR,144); ObjS57.put(Obj.TSELNE,145); 56 ObjS57.put(Obj.TSSBND,146); ObjS57.put(Obj.TSSCRS,147); ObjS57.put(Obj.TSSLPT,148); ObjS57.put(Obj.TSSRON,149); ObjS57.put(Obj.TSEZNE,150); 57 ObjS57.put(Obj.TUNNEL,151); ObjS57.put(Obj.TWRTPT,152); ObjS57.put(Obj.UWTROC,153); ObjS57.put(Obj.UNSARE,154); ObjS57.put(Obj.VEGATN,155); 58 ObjS57.put(Obj.WATTUR,156); ObjS57.put(Obj.WATFAL,157); ObjS57.put(Obj.WEDKLP,158); ObjS57.put(Obj.WRECKS,159); ObjS57.put(Obj.TS_FEB,160); 59 ObjS57.put(Obj.MPAARE,199); ObjS57.put(Obj.C_AGGR,400); ObjS57.put(Obj.M_COVR,302); 59 60 } 60 61 61 62 private static final EnumMap<Obj, Integer> ObjIENC = new EnumMap<Obj, Integer>(Obj.class); 62 63 static { 63 ObjIENC.put(Obj.UNKOBJ, 0); ObjIENC.put(Obj.ACHBRT, 17000); ObjIENC.put(Obj.ACHARE, 17001); ObjIENC.put(Obj.CANBNK, 17002); ObjIENC.put(Obj.DEPARE, 17003); 64 ObjIENC.put(Obj.DISMAR, 17004); ObjIENC.put(Obj.RESARE, 17005); ObjIENC.put(Obj.RIVBNK, 17006); ObjIENC.put(Obj.SISTAT, 17007); ObjIENC.put(Obj.SISTAW, 17008); 65 ObjIENC.put(Obj.TOPMAR, 17009); ObjIENC.put(Obj.BERTHS, 17010); ObjIENC.put(Obj.BRIDGE, 17011); ObjIENC.put(Obj.CBLOHD, 17012); ObjIENC.put(Obj.FERYRT, 17013); 66 ObjIENC.put(Obj.HRBARE, 17014); ObjIENC.put(Obj.HRBFAC, 17015); ObjIENC.put(Obj.LOKBSN, 17016); ObjIENC.put(Obj.RDOCAL, 17017); ObjIENC.put(Obj.CURENT, 17019); 67 ObjIENC.put(Obj.HULKES, 17020); ObjIENC.put(Obj.PONTON, 17021); ObjIENC.put(Obj.PIPOHD, 17024); ObjIENC.put(Obj.FLODOC, 17025); ObjIENC.put(Obj.CHKPNT, 17027); 68 ObjIENC.put(Obj.BCNLAT, 17028); ObjIENC.put(Obj.BOYLAT, 17029); ObjIENC.put(Obj.CRANES, 17030); ObjIENC.put(Obj.GATCON, 17031); ObjIENC.put(Obj.SLCONS, 17032); 69 ObjIENC.put(Obj.UWTROC, 17033); ObjIENC.put(Obj.CONVYR, 17034); ObjIENC.put(Obj.NOTMRK, 17050); ObjIENC.put(Obj.WTWAXS, 17051); ObjIENC.put(Obj.WTWPRF, 17052); 70 ObjIENC.put(Obj.BRGARE, 17053); ObjIENC.put(Obj.BUNSTA, 17054); ObjIENC.put(Obj.COMARE, 17055); ObjIENC.put(Obj.HRBBSN, 17056); ObjIENC.put(Obj.LOKARE, 17057); 71 ObjIENC.put(Obj.LKBSPT, 17058); ObjIENC.put(Obj.PRTARE, 17059); ObjIENC.put(Obj.BCNWTW, 17060); ObjIENC.put(Obj.BOYWTW, 17061); ObjIENC.put(Obj.REFDMP, 17062); 72 ObjIENC.put(Obj.RTPLPT, 17063); ObjIENC.put(Obj.TERMNL, 17064); ObjIENC.put(Obj.TRNBSN, 17065); ObjIENC.put(Obj.WTWARE, 17066); ObjIENC.put(Obj.WTWGAG, 17067); 73 ObjIENC.put(Obj.TISDGE, 17068); ObjIENC.put(Obj.VEHTRF, 17069); ObjIENC.put(Obj.EXCNST, 17070); ObjIENC.put(Obj.LG_SDM, 18001); ObjIENC.put(Obj.LG_VSP, 18002); 64 ObjIENC.put(Obj.UNKOBJ, 0); 65 ObjIENC.put(Obj.ACHBRT, 17000); ObjIENC.put(Obj.ACHARE, 17001); ObjIENC.put(Obj.CANBNK, 17002); ObjIENC.put(Obj.DEPARE, 17003); ObjIENC.put(Obj.DISMAR, 17004); 66 ObjIENC.put(Obj.RESARE, 17005); ObjIENC.put(Obj.RIVBNK, 17006); ObjIENC.put(Obj.SISTAT, 17007); ObjIENC.put(Obj.SISTAW, 17008); ObjIENC.put(Obj.TOPMAR, 17009); 67 ObjIENC.put(Obj.BERTHS, 17010); ObjIENC.put(Obj.BRIDGE, 17011); ObjIENC.put(Obj.CBLOHD, 17012); ObjIENC.put(Obj.FERYRT, 17013); ObjIENC.put(Obj.HRBARE, 17014); 68 ObjIENC.put(Obj.HRBFAC, 17015); ObjIENC.put(Obj.LOKBSN, 17016); ObjIENC.put(Obj.RDOCAL, 17017); ObjIENC.put(Obj.CURENT, 17019); ObjIENC.put(Obj.HULKES, 17020); 69 ObjIENC.put(Obj.PONTON, 17021); ObjIENC.put(Obj.PIPOHD, 17024); ObjIENC.put(Obj.FLODOC, 17025); ObjIENC.put(Obj.CHKPNT, 17027); ObjIENC.put(Obj.BCNLAT, 17028); 70 ObjIENC.put(Obj.BOYLAT, 17029); ObjIENC.put(Obj.CRANES, 17030); ObjIENC.put(Obj.GATCON, 17031); ObjIENC.put(Obj.SLCONS, 17032); ObjIENC.put(Obj.UWTROC, 17033); 71 ObjIENC.put(Obj.CONVYR, 17034); ObjIENC.put(Obj.NOTMRK, 17050); ObjIENC.put(Obj.WTWAXS, 17051); ObjIENC.put(Obj.WTWPRF, 17052); ObjIENC.put(Obj.BRGARE, 17053); 72 ObjIENC.put(Obj.BUNSTA, 17054); ObjIENC.put(Obj.COMARE, 17055); ObjIENC.put(Obj.HRBBSN, 17056); ObjIENC.put(Obj.LOKARE, 17057); ObjIENC.put(Obj.LKBSPT, 17058); 73 ObjIENC.put(Obj.PRTARE, 17059); ObjIENC.put(Obj.BCNWTW, 17060); ObjIENC.put(Obj.BOYWTW, 17061); ObjIENC.put(Obj.REFDMP, 17062); ObjIENC.put(Obj.RTPLPT, 17063); 74 ObjIENC.put(Obj.TERMNL, 17064); ObjIENC.put(Obj.TRNBSN, 17065); ObjIENC.put(Obj.WTWARE, 17066); ObjIENC.put(Obj.WTWGAG, 17067); ObjIENC.put(Obj.TISDGE, 17068); 75 ObjIENC.put(Obj.VEHTRF, 17069); ObjIENC.put(Obj.EXCNST, 17070); ObjIENC.put(Obj.LG_SDM, 18001); ObjIENC.put(Obj.LG_VSP, 18002); 74 76 } 75 77 … … 134 136 ObjStr.put(Obj.TRNBSN, "turning_basin"); ObjStr.put(Obj.WTWARE, "waterway_area"); ObjStr.put(Obj.WTWGAG, "waterway_gauge"); ObjStr.put(Obj.TISDGE, "time_schedule"); 135 137 ObjStr.put(Obj.VEHTRF, "vehicle_transfer"); ObjStr.put(Obj.EXCNST, "exceptional_structure"); ObjStr.put(Obj.LG_SDM, ""); ObjStr.put(Obj.LG_VSP, ""); 136 ObjStr.put(Obj.MPAARE, "protected_area"); ObjStr.put(Obj.LITMAJ, "light_major"); ObjStr.put(Obj.LITMIN, "light_minor"); 138 ObjStr.put(Obj.MPAARE, "protected_area"); ObjStr.put(Obj.LITMAJ, "light_major"); ObjStr.put(Obj.LITMIN, "light_minor"); ObjStr.put(Obj.M_COVR, "coverage"); 137 139 } 138 140 … … 145 147 } 146 148 147 public static Obj decodeType( Integerobjl) { // Convert S57 feature code to OSeaM object enumeration148 Obj obj = S57Obj.get( objl);149 public static Obj decodeType(long objl) { // Convert S57 feature code to OSeaM object enumeration 150 Obj obj = S57Obj.get((int)objl); 149 151 return (obj != null) ? obj : Obj.UNKOBJ; 150 152 } 151 153 152 public static IntegerencodeType(Obj type) { // Convert OSM object enumeration to S57 feature code154 public static long encodeType(Obj type) { // Convert OSM object enumeration to S57 feature code 153 155 if (ObjS57.containsKey(type)) 154 156 return ObjS57.get(type); -
applications/editors/josm/plugins/smed2/src/s57/S57val.java
r30171 r30215 21 21 Conv conv; 22 22 EnumMap<?, ?> map; 23 S57key(Conv c, EnumMap<?, ?> m) {23 S57key(Conv c, EnumMap<?, S57enum> m) { 24 24 conv = c; map = m; 25 25 } … … 225 225 private static final EnumMap<CatLAM, S57enum> Catlam = new EnumMap<CatLAM, S57enum>(CatLAM.class); static { Catlam.put(CatLAM.LAM_UNKN, new S57enum(0, "")); 226 226 Catlam.put(CatLAM.LAM_PORT, new S57enum(1, "port")); Catlam.put(CatLAM.LAM_STBD, new S57enum(2, "starboard")); Catlam.put(CatLAM.LAM_PCST, new S57enum(3, "preferred_channel_starboard")); 227 Catlam.put(CatLAM.LAM_PCPT, new S57enum(4, "preferred_channel_port")); Catlam.put(CatLAM.LAM_WW LT, new S57enum(5, "waterway_left")); Catlam.put(CatLAM.LAM_WWRT, new S57enum(6, "waterway_right"));228 Catlam.put(CatLAM.LAM_CH LT, new S57enum(7, "channel_left")); Catlam.put(CatLAM.LAM_CHRT, new S57enum(8, "channel_right")); Catlam.put(CatLAM.LAM_WWSN, new S57enum(9, "waterway_separation"));227 Catlam.put(CatLAM.LAM_PCPT, new S57enum(4, "preferred_channel_port")); Catlam.put(CatLAM.LAM_WWRT, new S57enum(5, "waterway_right")); Catlam.put(CatLAM.LAM_WWLT, new S57enum(6, "waterway_left")); 228 Catlam.put(CatLAM.LAM_CHRT, new S57enum(7, "channel_right")); Catlam.put(CatLAM.LAM_CHLT, new S57enum(8, "channel_left")); Catlam.put(CatLAM.LAM_WWSN, new S57enum(9, "waterway_separation")); 229 229 Catlam.put(CatLAM.LAM_CHSN, new S57enum(10, "channel_separation")); Catlam.put(CatLAM.LAM_CHRB, new S57enum(11, "channel_right_bank")); Catlam.put(CatLAM.LAM_CHLB, new S57enum(12, "channel_left_bank")); 230 230 Catlam.put(CatLAM.LAM_CRRT, new S57enum(13, "crossover_right")); Catlam.put(CatLAM.LAM_CRLT, new S57enum(14, "crossover_left")); Catlam.put(CatLAM.LAM_DRLT, new S57enum(15, "danger_right")); … … 997 997 Shptyp.put(ShpTYP.TYP_BCAR, new S57enum(10, "bulk_carrier")); Shptyp.put(ShpTYP.TYP_SPLN, new S57enum(11, "seaplane")); Shptyp.put(ShpTYP.TYP_TUGB, new S57enum(12, "tugboat")); 998 998 Shptyp.put(ShpTYP.TYP_PSGR, new S57enum(13, "passenger")); Shptyp.put(ShpTYP.TYP_FERY, new S57enum(14, "ferry")); Shptyp.put(ShpTYP.TYP_BOAT, new S57enum(15, "boat")); 999 } 1000 1001 public enum CatCVR { CVR_UNKN, CVR_COVR, CVR_NCVR } 1002 private static final EnumMap<CatCVR, S57enum> Catcvr = new EnumMap<CatCVR, S57enum>(CatCVR.class); static { Catcvr.put(CatCVR.CVR_UNKN, new S57enum(0, "")); 1003 Catcvr.put(CatCVR.CVR_COVR, new S57enum(1, "coverage")); Catcvr.put(CatCVR.CVR_NCVR, new S57enum(2, "no_coverage")); 999 1004 } 1000 1005 … … 1089 1094 keys.put(Att.LC_LG2, new S57key(Conv.F, null)); keys.put(Att.LC_DR1, new S57key(Conv.F, null)); keys.put(Att.LC_DR2, new S57key(Conv.F, null)); 1090 1095 keys.put(Att.LC_SP1, new S57key(Conv.F, null)); keys.put(Att.LC_SP2, new S57key(Conv.F, null)); keys.put(Att.LC_WD1, new S57key(Conv.F, null)); 1091 keys.put(Att.LC_WD2, new S57key(Conv.F, null)); keys.put(Att.LITRAD, new S57key(Conv.A, null)); 1096 keys.put(Att.LC_WD2, new S57key(Conv.F, null)); keys.put(Att.LITRAD, new S57key(Conv.A, null)); keys.put(Att.CATCVR, new S57key(Conv.E, Catcvr)); 1092 1097 } 1093 1098 … … 1114 1119 } 1115 1120 1116 public static String decodeValue(String val, Integer attl) { // Convert S57 attribute value string to OSeaM attribute value string 1117 Att att = S57att.decodeAttribute(attl); 1118 switch (keys.get(att).conv) { 1121 public static Enum<?> s57Enum(String val, Att att) { // Convert S57 attribute value string to OSeaM enumeration 1122 EnumMap<?, ?> map = keys.get(att).map; 1123 Enum<?> unkn = null; 1124 int i = 0; 1125 try { 1126 i = Integer.parseInt(val); 1127 } catch (Exception e) { 1128 return unkn; 1129 } 1130 if (map != null) { 1131 for (Object item : map.keySet()) { 1132 if (unkn == null) 1133 unkn = (Enum<?>) item; 1134 if (((S57enum) map.get(item)).atvl.equals(i)) 1135 return (Enum<?>) item; 1136 } 1137 } 1138 return unkn; 1139 } 1140 1141 public static AttVal<?> decodeValue(String val, Att att) { // Convert S57 attribute value string to OSeaM attribute value 1142 Conv conv = keys.get(att).conv; 1143 switch (conv) { 1119 1144 case A: 1120 1145 case S: 1121 return val;1146 return new AttVal<String>(att, conv, val); 1122 1147 case E: 1148 return new AttVal<Enum<?>>(att, Conv.E, s57Enum(val, att)); 1123 1149 case L: 1124 return (String)(keys.get(att).map).get(val); 1150 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 1151 for (String item : val.split(",")) { 1152 list.add(s57Enum(item, att)); 1153 } 1154 return new AttVal<ArrayList<?>>(att, Conv.L, list); 1125 1155 case I: 1126 return (Integer.valueOf(val.trim())).toString(); 1156 try { 1157 return new AttVal<Long>(att, Conv.I, Long.parseLong(val)); 1158 } catch (Exception e) { 1159 break; 1160 } 1127 1161 case F: 1128 return (Float.valueOf(val.trim())).toString(); 1162 try { 1163 return new AttVal<Double>(att, Conv.F, Double.parseDouble(val)); 1164 } catch (Exception e) { 1165 break; 1166 } 1129 1167 } 1130 return "";1168 return null; 1131 1169 } 1132 1170 … … 1147 1185 return (String)attval.val; 1148 1186 case E: 1149 return (String)((EnumMap<?, ?>)attval.val).get(attval.att); 1187 EnumMap<?,?> map = keys.get(attval.att).map; 1188 return ((S57enum)map.get(attval.val)).val; 1150 1189 case L: 1151 1190 String str = ""; 1191 map = keys.get(attval.att).map; 1152 1192 for (Object item : (ArrayList<?>)attval.val) { 1153 1193 if (!str.isEmpty()) str += ";"; 1154 str += keys.get(attval.att).map.get(item);1194 str += ((S57enum)map.get(item)).val; 1155 1195 } 1156 1196 return str; 1157 1197 case I: 1158 return (( Integer)attval.val).toString();1198 return ((Long)attval.val).toString(); 1159 1199 case F: 1160 return (( Float)attval.val).toString();1200 return ((Double)attval.val).toString(); 1161 1201 } 1162 1202 return ""; 1163 1203 } 1164 1204 1165 public static Enum<?> enumValue(String val, Att att) { // Convert OSeaM attribute value string to OSeaM enumeration1205 public static Enum<?> osmEnum(String val, Att att) { // Convert OSeaM attribute value string to OSeaM enumeration 1166 1206 EnumMap<?, ?> map = keys.get(att).map; 1167 1207 Enum<?> unkn = null; … … 1183 1223 return new AttVal<String>(att, Conv.S, val); 1184 1224 case E: 1185 return new AttVal<Enum<?>>(att, Conv.E, enumValue(val, att));1225 return new AttVal<Enum<?>>(att, Conv.E, osmEnum(val, att)); 1186 1226 case L: 1187 1227 ArrayList<Enum<?>> list = new ArrayList<Enum<?>>(); 1188 1228 for (String item : val.split(";")) { 1189 list.add( enumValue(item, att));1229 list.add(osmEnum(item, att)); 1190 1230 } 1191 1231 return new AttVal<ArrayList<?>>(att, Conv.L, list); 1192 1232 case I: 1193 1233 try { 1194 long i = Long.parseLong(val); 1195 return new AttVal<Long>(att, Conv.I, i); 1234 return new AttVal<Long>(att, Conv.I, Long.parseLong(val)); 1196 1235 } catch (Exception e) { 1197 1236 break; … … 1199 1238 case F: 1200 1239 try { 1201 double f = Double.parseDouble(val); 1202 return new AttVal<Double>(att, Conv.F, f); 1240 return new AttVal<Double>(att, Conv.F, Double.parseDouble(val)); 1203 1241 } catch (Exception e) { 1204 1242 break; -
applications/editors/josm/plugins/smed2/src/symbols/Areas.java
r30119 r30215 19 19 public static final Symbol Plane = new Symbol(); 20 20 static { 21 Plane.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-60,-60,120,120)));21 Plane.add(new Instr(Form.BBOX, new Rectangle2D.Double(-60,-60,120,120))); 22 22 Path2D.Double p = new Path2D.Double(); p.moveTo(40,20); p.lineTo(50,10); p.lineTo(27.0,13.3); p.lineTo(23.7,6.8); p.lineTo(40.0,5.0); p.curveTo(55,4,55,-9,40,-10); 23 23 p.quadTo(31,-11,30,-15); p.lineTo(-30,2); p.quadTo(-35,-12,-45,-15); p.quadTo(-56,-3,-50,15); p.lineTo(18.4,7.3); p.lineTo(21.7,14); p.lineTo(-20,20); p.closePath(); 24 Plane.add(new Instr( Prim.PGON, p));24 Plane.add(new Instr(Form.PGON, p)); 25 25 } 26 26 public static final Symbol Cable = new Symbol(); 27 27 static { 28 Cable.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,60)));29 Cable.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));30 Cable.add(new Instr( Prim.FILL, new Color(0xc480ff)));28 Cable.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,60))); 29 Cable.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 30 Cable.add(new Instr(Form.FILL, new Color(0xc480ff))); 31 31 Path2D.Double p = new Path2D.Double(); p.moveTo(0,0); p.curveTo(-13,-13,-13,-17,0,-30); p.curveTo(13,-43,13,-47,0,-60); 32 Cable.add(new Instr( Prim.PLIN, p));32 Cable.add(new Instr(Form.PLIN, p)); 33 33 } 34 34 public static final Symbol CableDot = new Symbol(); 35 35 static { 36 CableDot.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,60)));37 CableDot.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-10,-40,20,20)));36 CableDot.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,60))); 37 CableDot.add(new Instr(Form.RSHP, new Ellipse2D.Double(-10,-40,20,20))); 38 38 } 39 39 public static final Symbol CableDash = new Symbol(); 40 40 static { 41 CableDash.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,60)));42 CableDash.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));43 CableDash.add(new Instr( Prim.LINE, new Line2D.Double(0,-15,0,-45)));41 CableDash.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,60))); 42 CableDash.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 43 CableDash.add(new Instr(Form.LINE, new Line2D.Double(0,-15,0,-45))); 44 44 } 45 45 public static final Symbol CableFlash = new Symbol(); 46 46 static { 47 CableFlash.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,60)));47 CableFlash.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,60))); 48 48 Path2D.Double p = new Path2D.Double(); p.moveTo(-30,-25); p.lineTo(-10,-40); p.lineTo(10,-26); p.lineTo(30,-35); p.lineTo(10,-20); p.lineTo(-10,-34); p.closePath(); 49 CableFlash.add(new Instr( Prim.PGON, p));49 CableFlash.add(new Instr(Form.PGON, p)); 50 50 } 51 51 public static final Symbol LaneArrow = new Symbol(); 52 52 static { 53 LaneArrow.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-240,40,240)));54 LaneArrow.add(new Instr( Prim.STRK, new BasicStroke(10, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));55 LaneArrow.add(new Instr( Prim.FILL, new Color(0x80c480ff, true)));53 LaneArrow.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-240,40,240))); 54 LaneArrow.add(new Instr(Form.STRK, new BasicStroke(10, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 55 LaneArrow.add(new Instr(Form.FILL, new Color(0x80c480ff, true))); 56 56 Path2D.Double p = new Path2D.Double(); p.moveTo(15,0); p.lineTo(15,-195); p.lineTo(40,-195); 57 57 p.lineTo(0,-240); p.lineTo(-40,-195); p.lineTo(-15,-195); p.lineTo(-15,0); p.closePath(); 58 LaneArrow.add(new Instr( Prim.PLIN, p));58 LaneArrow.add(new Instr(Form.PLIN, p)); 59 59 } 60 60 public static final Symbol LineAnchor = new Symbol(); 61 61 static { 62 LineAnchor.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,90)));63 LineAnchor.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.5, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(-90.0))))));62 LineAnchor.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,90))); 63 LineAnchor.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.5, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(-90.0)))))); 64 64 } 65 65 public static final Symbol LinePlane = new Symbol(); 66 66 static { 67 LinePlane.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-60,60,90)));68 LinePlane.add(new Instr( Prim.FILL, new Color(0xc480ff)));69 LinePlane.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Areas.Plane, 0.5, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(-90.0))))));67 LinePlane.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-60,60,90))); 68 LinePlane.add(new Instr(Form.FILL, new Color(0xc480ff))); 69 LinePlane.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Areas.Plane, 0.5, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(-90.0)))))); 70 70 } 71 71 public static final Symbol MarineFarm = new Symbol(); 72 72 static { 73 MarineFarm.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));73 MarineFarm.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 74 74 Path2D.Double p = new Path2D.Double(); p.moveTo(-23,12); p.lineTo(-23,23); p.lineTo(23,23); p.lineTo(23,12); p.moveTo(-8,15); p.lineTo(-8,23); p.moveTo(8,15); p.lineTo(8,23); 75 75 p.moveTo(-23,-12); p.lineTo(-23,-23); p.lineTo(23,-23); p.lineTo(23,-12); p.moveTo(-8,-15); p.lineTo(-8,-23); p.moveTo(8,-15); p.lineTo(8,-23); 76 76 p.moveTo(-21,8); p.quadTo(-1,-14,21,0); p.quadTo(-1,14,-21,-8); p.moveTo(7,6); p.quadTo(2,0,7,-6); 77 MarineFarm.add(new Instr( Prim.PLIN, p));78 MarineFarm.add(new Instr( Prim.RSHP, new Ellipse2D.Double(9,-2,4,4)));77 MarineFarm.add(new Instr(Form.PLIN, p)); 78 MarineFarm.add(new Instr(Form.RSHP, new Ellipse2D.Double(9,-2,4,4))); 79 79 } 80 80 public static final Symbol NoWake = new Symbol(); 81 81 static { 82 NoWake.add(new Instr( Prim.STRK, new BasicStroke(12, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));83 NoWake.add(new Instr( Prim.FILL, new Color(0xa30075)));82 NoWake.add(new Instr(Form.STRK, new BasicStroke(12, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 83 NoWake.add(new Instr(Form.FILL, new Color(0xa30075))); 84 84 Path2D.Double p = new Path2D.Double(); p.moveTo(-60,20); p.curveTo(-28,20,-32,0,0,0); p.curveTo(32,0,28,20,60,20); p.moveTo(-60,0); p.curveTo(-28,0,-32,-20,0,-20); p.curveTo(32,-20,28,0,60,0); 85 NoWake.add(new Instr( Prim.PLIN, p));86 NoWake.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));87 NoWake.add(new Instr( Prim.LINE, new Line2D.Double(-60,60,60,-60)));88 NoWake.add(new Instr( Prim.LINE, new Line2D.Double(-60,-60,60,60)));85 NoWake.add(new Instr(Form.PLIN, p)); 86 NoWake.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 87 NoWake.add(new Instr(Form.LINE, new Line2D.Double(-60,60,60,-60))); 88 NoWake.add(new Instr(Form.LINE, new Line2D.Double(-60,-60,60,60))); 89 89 } 90 90 public static final Symbol Pipeline = new Symbol(); 91 91 static { 92 Pipeline.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-15,-60,30,60)));93 Pipeline.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));94 Pipeline.add(new Instr( Prim.FILL, new Color(0xc480ff)));95 Pipeline.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-50)));96 Pipeline.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-10,-60,20,20)));92 Pipeline.add(new Instr(Form.BBOX, new Rectangle2D.Double(-15,-60,30,60))); 93 Pipeline.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 94 Pipeline.add(new Instr(Form.FILL, new Color(0xc480ff))); 95 Pipeline.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-50))); 96 Pipeline.add(new Instr(Form.RSHP, new Ellipse2D.Double(-10,-60,20,20))); 97 97 } 98 98 public static final Symbol Restricted = new Symbol(); 99 99 static { 100 Restricted.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-15,-30,30,30)));101 Restricted.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));102 Restricted.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-30)));103 Restricted.add(new Instr( Prim.LINE, new Line2D.Double(0,-15,17,-15)));100 Restricted.add(new Instr(Form.BBOX, new Rectangle2D.Double(-15,-30,30,30))); 101 Restricted.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 102 Restricted.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-30))); 103 Restricted.add(new Instr(Form.LINE, new Line2D.Double(0,-15,17,-15))); 104 104 } 105 105 public static final Symbol Rock = new Symbol(); 106 106 static { 107 Rock.add(new Instr( Prim.FILL, new Color(0x80c0ff)));108 Rock.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));109 Rock.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));110 Rock.add(new Instr( Prim.FILL, Color.black));111 Rock.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));112 Rock.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));113 Rock.add(new Instr( Prim.LINE, new Line2D.Double(-20,0,20,0)));114 Rock.add(new Instr( Prim.LINE, new Line2D.Double(0,-20,0,20)));107 Rock.add(new Instr(Form.FILL, new Color(0x80c0ff))); 108 Rock.add(new Instr(Form.RSHP, new Ellipse2D.Double(-30,-30,60,60))); 109 Rock.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0))); 110 Rock.add(new Instr(Form.FILL, Color.black)); 111 Rock.add(new Instr(Form.ELPS, new Ellipse2D.Double(-30,-30,60,60))); 112 Rock.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 113 Rock.add(new Instr(Form.LINE, new Line2D.Double(-20,0,20,0))); 114 Rock.add(new Instr(Form.LINE, new Line2D.Double(0,-20,0,20))); 115 115 } 116 116 public static final Symbol RockA = new Symbol(); 117 117 static { 118 RockA.add(new Instr( Prim.FILL, new Color(0x80c0ff)));119 RockA.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));120 RockA.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));121 RockA.add(new Instr( Prim.FILL, Color.black));122 RockA.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));123 RockA.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));124 RockA.add(new Instr( Prim.LINE, new Line2D.Double(-20,0,20,0)));125 RockA.add(new Instr( Prim.LINE, new Line2D.Double(0,-20,0,20)));126 RockA.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-17,-17,8,8)));127 RockA.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-17,9,8,8)));128 RockA.add(new Instr( Prim.RSHP, new Ellipse2D.Double(9,-17,8,8)));129 RockA.add(new Instr( Prim.RSHP, new Ellipse2D.Double(9,9,8,8)));118 RockA.add(new Instr(Form.FILL, new Color(0x80c0ff))); 119 RockA.add(new Instr(Form.RSHP, new Ellipse2D.Double(-30,-30,60,60))); 120 RockA.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0))); 121 RockA.add(new Instr(Form.FILL, Color.black)); 122 RockA.add(new Instr(Form.ELPS, new Ellipse2D.Double(-30,-30,60,60))); 123 RockA.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 124 RockA.add(new Instr(Form.LINE, new Line2D.Double(-20,0,20,0))); 125 RockA.add(new Instr(Form.LINE, new Line2D.Double(0,-20,0,20))); 126 RockA.add(new Instr(Form.RSHP, new Ellipse2D.Double(-17,-17,8,8))); 127 RockA.add(new Instr(Form.RSHP, new Ellipse2D.Double(-17,9,8,8))); 128 RockA.add(new Instr(Form.RSHP, new Ellipse2D.Double(9,-17,8,8))); 129 RockA.add(new Instr(Form.RSHP, new Ellipse2D.Double(9,9,8,8))); 130 130 } 131 131 public static final Symbol RockC = new Symbol(); 132 132 static { 133 RockC.add(new Instr( Prim.FILL, new Color(0x80c0ff)));134 RockC.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));135 RockC.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));136 RockC.add(new Instr( Prim.FILL, Color.black));137 RockC.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));138 RockC.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));139 RockC.add(new Instr( Prim.LINE, new Line2D.Double(-20,0,20,0)));140 RockC.add(new Instr( Prim.LINE, new Line2D.Double(-10,17.3,10,-17.3)));141 RockC.add(new Instr( Prim.LINE, new Line2D.Double(10,17.3,-10,-17.3)));133 RockC.add(new Instr(Form.FILL, new Color(0x80c0ff))); 134 RockC.add(new Instr(Form.RSHP, new Ellipse2D.Double(-30,-30,60,60))); 135 RockC.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0))); 136 RockC.add(new Instr(Form.FILL, Color.black)); 137 RockC.add(new Instr(Form.ELPS, new Ellipse2D.Double(-30,-30,60,60))); 138 RockC.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 139 RockC.add(new Instr(Form.LINE, new Line2D.Double(-20,0,20,0))); 140 RockC.add(new Instr(Form.LINE, new Line2D.Double(-10,17.3,10,-17.3))); 141 RockC.add(new Instr(Form.LINE, new Line2D.Double(10,17.3,-10,-17.3))); 142 142 } 143 143 public static final Symbol Seaplane = new Symbol(); 144 144 static { 145 Seaplane.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-60,-60,120,120)));146 Seaplane.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));147 Seaplane.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-58,-58,116,116)));148 Seaplane.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Areas.Plane, 1.0, 0, 0, null, null)));145 Seaplane.add(new Instr(Form.BBOX, new Rectangle2D.Double(-60,-60,120,120))); 146 Seaplane.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 147 Seaplane.add(new Instr(Form.ELPS, new Ellipse2D.Double(-58,-58,116,116))); 148 Seaplane.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Areas.Plane, 1.0, 0, 0, null, null))); 149 149 } 150 150 public static final Symbol WindFarm = new Symbol(); 151 151 static { 152 WindFarm.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));153 WindFarm.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-100,-100,200,200)));154 WindFarm.add(new Instr( Prim.LINE, new Line2D.Double(-35,50,35,50)));155 WindFarm.add(new Instr( Prim.LINE, new Line2D.Double(0,50,0,-27.5)));156 WindFarm.add(new Instr( Prim.LINE, new Line2D.Double(0,-27.5,30,-27.5)));157 WindFarm.add(new Instr( Prim.LINE, new Line2D.Double(0,-27.5,-13.8,-3.8)));158 WindFarm.add(new Instr( Prim.LINE, new Line2D.Double(0,-27.5,-13.8,-53.6)));152 WindFarm.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 153 WindFarm.add(new Instr(Form.ELPS, new Ellipse2D.Double(-100,-100,200,200))); 154 WindFarm.add(new Instr(Form.LINE, new Line2D.Double(-35,50,35,50))); 155 WindFarm.add(new Instr(Form.LINE, new Line2D.Double(0,50,0,-27.5))); 156 WindFarm.add(new Instr(Form.LINE, new Line2D.Double(0,-27.5,30,-27.5))); 157 WindFarm.add(new Instr(Form.LINE, new Line2D.Double(0,-27.5,-13.8,-3.8))); 158 WindFarm.add(new Instr(Form.LINE, new Line2D.Double(0,-27.5,-13.8,-53.6))); 159 159 } 160 160 public static final Symbol WreckD = new Symbol(); 161 161 static { 162 WreckD.add(new Instr( Prim.FILL, new Color(0x80c0ff)));163 WreckD.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-50,-40,100,80)));164 WreckD.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0)));165 WreckD.add(new Instr( Prim.FILL, Color.black));166 WreckD.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-50,-40,100,80)));167 WreckD.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));168 WreckD.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,40,0)));169 WreckD.add(new Instr( Prim.LINE, new Line2D.Double(0,-30,0,30)));170 WreckD.add(new Instr( Prim.LINE, new Line2D.Double(-20,-15,-20,15)));171 WreckD.add(new Instr( Prim.LINE, new Line2D.Double(20,-15,20,15)));162 WreckD.add(new Instr(Form.FILL, new Color(0x80c0ff))); 163 WreckD.add(new Instr(Form.RSHP, new Ellipse2D.Double(-50,-40,100,80))); 164 WreckD.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1, new float[]{5,5}, 0))); 165 WreckD.add(new Instr(Form.FILL, Color.black)); 166 WreckD.add(new Instr(Form.ELPS, new Ellipse2D.Double(-50,-40,100,80))); 167 WreckD.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 168 WreckD.add(new Instr(Form.LINE, new Line2D.Double(-40,0,40,0))); 169 WreckD.add(new Instr(Form.LINE, new Line2D.Double(0,-30,0,30))); 170 WreckD.add(new Instr(Form.LINE, new Line2D.Double(-20,-15,-20,15))); 171 WreckD.add(new Instr(Form.LINE, new Line2D.Double(20,-15,20,15))); 172 172 } 173 173 public static final Symbol WreckND = new Symbol(); 174 174 static { 175 WreckND.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));176 WreckND.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,40,0)));177 WreckND.add(new Instr( Prim.LINE, new Line2D.Double(0,-30,0,30)));178 WreckND.add(new Instr( Prim.LINE, new Line2D.Double(-20,-15,-20,15)));179 WreckND.add(new Instr( Prim.LINE, new Line2D.Double(20,-15,20,15)));175 WreckND.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 176 WreckND.add(new Instr(Form.LINE, new Line2D.Double(-40,0,40,0))); 177 WreckND.add(new Instr(Form.LINE, new Line2D.Double(0,-30,0,30))); 178 WreckND.add(new Instr(Form.LINE, new Line2D.Double(-20,-15,-20,15))); 179 WreckND.add(new Instr(Form.LINE, new Line2D.Double(20,-15,20,15))); 180 180 } 181 181 public static final Symbol WreckS = new Symbol(); 182 182 static { 183 WreckS.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));184 WreckS.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-6,-6,12,12)));185 WreckS.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,-6,0)));186 WreckS.add(new Instr( Prim.LINE, new Line2D.Double(40,0,6,0)));183 WreckS.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 184 WreckS.add(new Instr(Form.ELPS, new Ellipse2D.Double(-6,-6,12,12))); 185 WreckS.add(new Instr(Form.LINE, new Line2D.Double(-40,0,-6,0))); 186 WreckS.add(new Instr(Form.LINE, new Line2D.Double(40,0,6,0))); 187 187 Path2D.Double p = new Path2D.Double(); p.moveTo(-30,0); p.lineTo(-40,-25); p.lineTo(-0.3,-12.6); p.lineTo(13.7,-37.7); p.lineTo(16.3,-36.3); 188 188 p.lineTo(2.7,-11.6); p.lineTo(37.5,0); p.lineTo(6,0); p.curveTo(5.6,-8,-5.6,-8,-6,0); p.closePath(); 189 WreckS.add(new Instr( Prim.PGON, p));189 WreckS.add(new Instr(Form.PGON, p)); 190 190 } 191 191 public static final BufferedImage Sandwaves = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB); -
applications/editors/josm/plugins/smed2/src/symbols/Beacons.java
r30033 r30215 25 25 Symbol colours = new Symbol(); 26 26 Path2D.Double p = new Path2D.Double(); p.moveTo(-6.0,-8.5); p.lineTo(-6.0,-70.0); p.lineTo(6.0,-70.0); p.lineTo(6.0,-8.5); p.curveTo(6.0,-10.0,-6.0,-10.0,-6.0,-8.5); p.closePath(); 27 colours.add(new Instr( Prim.P1, p));27 colours.add(new Instr(Form.P1, p)); 28 28 p = new Path2D.Double(); p.moveTo(-6.0,-8.5); p.lineTo(-6.0,-40.0); p.lineTo(6.0,-40.0); p.lineTo(6.0,-8.5); p.curveTo(6.0,-10.0,-6.0,-10.0,-6.0,-8.5); p.closePath(); 29 colours.add(new Instr( Prim.H2, p));29 colours.add(new Instr(Form.H2, p)); 30 30 p = new Path2D.Double(); p.moveTo(-6.0,-30.0); p.lineTo(-6.0,-50.0); p.lineTo(6.0,-50.0); p.lineTo(6.0,-30.0); p.closePath(); 31 colours.add(new Instr( Prim.H3, p));31 colours.add(new Instr(Form.H3, p)); 32 32 p = new Path2D.Double(); p.moveTo(-6.0,-40.0); p.lineTo(-6.0,-55.0); p.lineTo(6.0,-55.0); p.lineTo(6.0,-40.0); p.closePath(); 33 colours.add(new Instr( Prim.H4, p));33 colours.add(new Instr(Form.H4, p)); 34 34 p = new Path2D.Double(); p.moveTo(-6.0,-25.0); p.lineTo(-6.0,-40.0); p.lineTo(6.0,-40.0); p.lineTo(6.0,-25.0); p.closePath(); 35 colours.add(new Instr( Prim.H5, p));35 colours.add(new Instr(Form.H5, p)); 36 36 p = new Path2D.Double(); p.moveTo(0.0,-70.0); p.lineTo(6.0,-70.0); p.lineTo(6.0,-8.5); p.quadTo(3.0,-9.3,0.0,-10.0); p.closePath(); 37 colours.add(new Instr( Prim.V2, p));38 Beacon.add(new Instr( Prim.COLR, colours));39 Beacon.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));40 Beacon.add(new Instr( Prim.FILL, Color.black));41 Beacon.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));42 Beacon.add(new Instr( Prim.LINE, new Line2D.Double(-20,0,-10,0)));43 Beacon.add(new Instr( Prim.LINE, new Line2D.Double(10,0,20,0)));37 colours.add(new Instr(Form.V2, p)); 38 Beacon.add(new Instr(Form.COLR, colours)); 39 Beacon.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 40 Beacon.add(new Instr(Form.FILL, Color.black)); 41 Beacon.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 42 Beacon.add(new Instr(Form.LINE, new Line2D.Double(-20,0,-10,0))); 43 Beacon.add(new Instr(Form.LINE, new Line2D.Double(10,0,20,0))); 44 44 p = new Path2D.Double(); p.moveTo(-6.0,-8.5); p.lineTo(-6.0,-70.0); p.lineTo(6.0,-70.0); p.lineTo(6.0,-8.5); 45 Beacon.add(new Instr( Prim.PLIN, p));45 Beacon.add(new Instr(Form.PLIN, p)); 46 46 } 47 47 public static final Symbol Cairn = new Symbol(); 48 48 static { 49 Cairn.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));50 Cairn.add(new Instr( Prim.FILL, Color.black));51 Cairn.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));52 Cairn.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,-10,0)));53 Cairn.add(new Instr( Prim.LINE, new Line2D.Double(10,0,40,0)));54 Cairn.add(new Instr( Prim.ELPS, new Ellipse2D.Double(3,-40,40,40)));55 Cairn.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-43,-40,40,40)));56 Cairn.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-18,-70,36,36)));49 Cairn.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 50 Cairn.add(new Instr(Form.FILL, Color.black)); 51 Cairn.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 52 Cairn.add(new Instr(Form.LINE, new Line2D.Double(-40,0,-10,0))); 53 Cairn.add(new Instr(Form.LINE, new Line2D.Double(10,0,40,0))); 54 Cairn.add(new Instr(Form.ELPS, new Ellipse2D.Double(3,-40,40,40))); 55 Cairn.add(new Instr(Form.ELPS, new Ellipse2D.Double(-43,-40,40,40))); 56 Cairn.add(new Instr(Form.ELPS, new Ellipse2D.Double(-18,-70,36,36))); 57 57 } 58 58 public static final Symbol FogSignal = new Symbol(); 59 59 static { 60 FogSignal.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));61 FogSignal.add(new Instr( Prim.FILL, Color.black));62 FogSignal.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));63 FogSignal.add(new Instr( Prim.STRK, new BasicStroke(10, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));64 FogSignal.add(new Instr( Prim.FILL, new Color(0xd400d4)));65 FogSignal.add(new Instr( Prim.EARC, new Arc2D.Double(-120.0,-120.0,240.0,240.0,190.0,50.0,Arc2D.OPEN)));66 FogSignal.add(new Instr( Prim.EARC, new Arc2D.Double(-92.5,-92.5,185.0,185.0,190.0,50.0,Arc2D.OPEN)));67 FogSignal.add(new Instr( Prim.EARC, new Arc2D.Double(-65.0,-65.0,130.0,130.0,190.0,50.0,Arc2D.OPEN)));60 FogSignal.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 61 FogSignal.add(new Instr(Form.FILL, Color.black)); 62 FogSignal.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 63 FogSignal.add(new Instr(Form.STRK, new BasicStroke(10, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 64 FogSignal.add(new Instr(Form.FILL, new Color(0xd400d4))); 65 FogSignal.add(new Instr(Form.EARC, new Arc2D.Double(-120.0,-120.0,240.0,240.0,190.0,50.0,Arc2D.OPEN))); 66 FogSignal.add(new Instr(Form.EARC, new Arc2D.Double(-92.5,-92.5,185.0,185.0,190.0,50.0,Arc2D.OPEN))); 67 FogSignal.add(new Instr(Form.EARC, new Arc2D.Double(-65.0,-65.0,130.0,130.0,190.0,50.0,Arc2D.OPEN))); 68 68 } 69 69 public static final Symbol LightFlare = new Symbol(); 70 70 static { 71 LightFlare.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-3,-3,6,6)));71 LightFlare.add(new Instr(Form.RSHP, new Ellipse2D.Double(-3,-3,6,6))); 72 72 Path2D.Double p = new Path2D.Double(); 73 73 p.moveTo(0.0,-25.0); p.lineTo(15.0,-95.0); p.curveTo(20.0,-123.0,-20.0,-123.0,-15.0,-95.0); 74 74 p.closePath(); 75 LightFlare.add(new Instr( Prim.PGON, p));75 LightFlare.add(new Instr(Form.PGON, p)); 76 76 } 77 77 public static final Symbol LightMajor = new Symbol(); 78 78 static { 79 LightMajor.add(new Instr( Prim.FILL, Color.black));79 LightMajor.add(new Instr(Form.FILL, Color.black)); 80 80 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_NON_ZERO); 81 81 p.moveTo(0.0,-7.0); p.curveTo(-9.3,-6.5,-9.3,6.5,0.0,7.0); p.curveTo(9.3,6.5,9.3,-6.5,0.0,-7.0); p.closePath(); 82 82 p.moveTo(0.0,-35.5); p.lineTo(8.0,-11.2); p.lineTo(33.5,-11.2); p.lineTo(12.8,4.0); 83 83 p.lineTo(20.5,28.5); p.lineTo(0.0,13.0); p.lineTo(-20.5,28.5); p.lineTo(-12.8,4.0); p.lineTo(-33.5,-11.2); p.lineTo(-8.0,-11.2); p.closePath(); 84 LightMajor.add(new Instr( Prim.PGON, p));84 LightMajor.add(new Instr(Form.PGON, p)); 85 85 } 86 86 public static final Symbol LightMinor = new Symbol(); 87 87 static { 88 LightMinor.add(new Instr( Prim.FILL, Color.black));88 LightMinor.add(new Instr(Form.FILL, Color.black)); 89 89 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-26.5); p.lineTo(6.0,-8.4); p.lineTo(25.1,-8.4); p.lineTo(9.6,3.0); 90 90 p.lineTo(15.4,21.4); p.lineTo(0.0,9.8); p.lineTo(-15.4,21.4); p.lineTo(-9.6,3.0); p.lineTo(-25.1,-8.4); p.lineTo(-6.0,-8.4); p.closePath(); 91 LightMinor.add(new Instr( Prim.PGON, p));91 LightMinor.add(new Instr(Form.PGON, p)); 92 92 } 93 93 public static final Symbol PerchPort = new Symbol(); 94 94 static { 95 PerchPort.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));96 PerchPort.add(new Instr( Prim.FILL, Color.black));97 PerchPort.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,10,0)));98 PerchPort.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-40)));99 PerchPort.add(new Instr( Prim.LINE, new Line2D.Double(25,-70,0,-40)));100 PerchPort.add(new Instr( Prim.LINE, new Line2D.Double(-25,-70,0,-40)));95 PerchPort.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 96 PerchPort.add(new Instr(Form.FILL, Color.black)); 97 PerchPort.add(new Instr(Form.LINE, new Line2D.Double(-10,0,10,0))); 98 PerchPort.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-40))); 99 PerchPort.add(new Instr(Form.LINE, new Line2D.Double(25,-70,0,-40))); 100 PerchPort.add(new Instr(Form.LINE, new Line2D.Double(-25,-70,0,-40))); 101 101 } 102 102 public static final Symbol PerchStarboard = new Symbol(); 103 103 static { 104 PerchStarboard.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));105 PerchStarboard.add(new Instr( Prim.FILL, Color.black));106 PerchStarboard.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,10,0)));107 PerchStarboard.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-70)));108 PerchStarboard.add(new Instr( Prim.LINE, new Line2D.Double(25,-40,0,-68.7)));109 PerchStarboard.add(new Instr( Prim.LINE, new Line2D.Double(-25,-40,0,-68.7)));104 PerchStarboard.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 105 PerchStarboard.add(new Instr(Form.FILL, Color.black)); 106 PerchStarboard.add(new Instr(Form.LINE, new Line2D.Double(-10,0,10,0))); 107 PerchStarboard.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-70))); 108 PerchStarboard.add(new Instr(Form.LINE, new Line2D.Double(25,-40,0,-68.7))); 109 PerchStarboard.add(new Instr(Form.LINE, new Line2D.Double(-25,-40,0,-68.7))); 110 110 } 111 111 public static final Symbol RadarStation = new Symbol(); 112 112 static { 113 RadarStation.add(new Instr( Prim.STRK, new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));114 RadarStation.add(new Instr( Prim.FILL, new Color(0xd400d4)));115 RadarStation.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-125,-125,250,250)));113 RadarStation.add(new Instr(Form.STRK, new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 114 RadarStation.add(new Instr(Form.FILL, new Color(0xd400d4))); 115 RadarStation.add(new Instr(Form.ELPS, new Ellipse2D.Double(-125,-125,250,250))); 116 116 } 117 117 public static final Symbol Stake = new Symbol(); 118 118 static { 119 Stake.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));120 Stake.add(new Instr( Prim.FILL, Color.black));121 Stake.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-70)));119 Stake.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 120 Stake.add(new Instr(Form.FILL, Color.black)); 121 Stake.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-70))); 122 122 Symbol colours = new Symbol(); 123 123 Path2D.Double p = new Path2D.Double(); p.moveTo(-2.0,0.0); p.lineTo(-2.0,-70.0); p.lineTo(2.0,-70.0); p.lineTo(2.0,0.0); p.closePath(); 124 colours.add(new Instr( Prim.P1, p));124 colours.add(new Instr(Form.P1, p)); 125 125 p = new Path2D.Double(); p.moveTo(-2.0,0.0); p.lineTo(-2.0,-35.0); p.lineTo(2.0,-35.0); p.lineTo(2.0,0.0); p.closePath(); 126 colours.add(new Instr( Prim.H2, p));126 colours.add(new Instr(Form.H2, p)); 127 127 p = new Path2D.Double(); p.moveTo(-2.0,-23.3); p.lineTo(-2.0,-46.7); p.lineTo(2.0,-46.7); p.lineTo(2.0,-23.3); p.closePath(); 128 colours.add(new Instr( Prim.H3, p));128 colours.add(new Instr(Form.H3, p)); 129 129 p = new Path2D.Double(); p.moveTo(-2.0,-35.0); p.lineTo(-2.0,-52.5); p.lineTo(2.0,-52.5); p.lineTo(2.0,-35.0); p.closePath(); 130 colours.add(new Instr( Prim.H4, p));130 colours.add(new Instr(Form.H4, p)); 131 131 p = new Path2D.Double(); p.moveTo(-2.0,-17.5); p.lineTo(-2.0,-35.0); p.lineTo(2.0,-35.0); p.lineTo(2.0,-17.5); p.closePath(); 132 colours.add(new Instr( Prim.H5, p));133 Stake.add(new Instr( Prim.COLR, colours));134 Stake.add(new Instr( Prim.FILL, Color.black));135 Stake.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,10,0)));132 colours.add(new Instr(Form.H5, p)); 133 Stake.add(new Instr(Form.COLR, colours)); 134 Stake.add(new Instr(Form.FILL, Color.black)); 135 Stake.add(new Instr(Form.LINE, new Line2D.Double(-10,0,10,0))); 136 136 } 137 137 public static final Symbol Tower = new Symbol(); … … 139 139 Symbol colours = new Symbol(); 140 140 Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(-20.0,-70.0); p.lineTo(20.0,-70.0); p.lineTo(25.0,0.0); p.lineTo(10.0,0.0); p.curveTo(10.0,-13.3,-10.0,-13.3,-10.0,0.0); p.closePath(); 141 colours.add(new Instr( Prim.P1, p));141 colours.add(new Instr(Form.P1, p)); 142 142 p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(-22.5,-35.0); p.lineTo(22.5,-35.0); p.lineTo(25.0,0.0); p.lineTo(10.0,0.0); p.curveTo(10.0,-13.3,-10.0,-13.3,-10.0,0.0); p.closePath(); 143 colours.add(new Instr( Prim.H2, p));143 colours.add(new Instr(Form.H2, p)); 144 144 p = new Path2D.Double(); p.moveTo(-23.3,-23.3); p.lineTo(-21.7,-46.7); p.lineTo(21.7,-46.7); p.lineTo(23.3,-23.3); p.closePath(); 145 colours.add(new Instr( Prim.H3, p));145 colours.add(new Instr(Form.H3, p)); 146 146 p = new Path2D.Double(); p.moveTo(-22.5,-35.0); p.lineTo(-21.0,-52.5); p.lineTo(21.0,-52.5); p.lineTo(22.5,-35.0); p.closePath(); 147 colours.add(new Instr( Prim.H4, p));147 colours.add(new Instr(Form.H4, p)); 148 148 p = new Path2D.Double(); p.moveTo(-23.6,-17.5); p.lineTo(-22.5,-35.0); p.lineTo(22.5,-35.0); p.lineTo(23.6,-17.5); p.closePath(); 149 colours.add(new Instr( Prim.H5, p));149 colours.add(new Instr(Form.H5, p)); 150 150 p = new Path2D.Double(); p.moveTo(0.0,-70.0); p.lineTo(20.0,-70.0); p.lineTo(25.0,0.0); p.lineTo(10.0,0.0); p.quadTo(10.0,-10.0,0.0,-10.0); p.closePath(); 151 colours.add(new Instr( Prim.V2, p));152 Tower.add(new Instr( Prim.COLR, colours));153 Tower.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));154 Tower.add(new Instr( Prim.FILL, Color.black));155 Tower.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));156 Tower.add(new Instr( Prim.LINE, new Line2D.Double(-35,0,-10,0)));157 Tower.add(new Instr( Prim.LINE, new Line2D.Double(10,0,35,0)));151 colours.add(new Instr(Form.V2, p)); 152 Tower.add(new Instr(Form.COLR, colours)); 153 Tower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 154 Tower.add(new Instr(Form.FILL, Color.black)); 155 Tower.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 156 Tower.add(new Instr(Form.LINE, new Line2D.Double(-35,0,-10,0))); 157 Tower.add(new Instr(Form.LINE, new Line2D.Double(10,0,35,0))); 158 158 p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(-20.0,-70.0); p.lineTo(20.0,-70.0); p.lineTo(25.0,0.0); 159 Tower.add(new Instr( Prim.PLIN, p));159 Tower.add(new Instr(Form.PLIN, p)); 160 160 } 161 161 public static final Symbol WithyPort = new Symbol(); 162 162 static { 163 WithyPort.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));164 WithyPort.add(new Instr( Prim.FILL, Color.black));165 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,10,0)));166 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-70)));167 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(20,-60,0,-50)));168 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(-20,-60,0,-50)));169 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(30,-35,0,-21)));170 WithyPort.add(new Instr( Prim.LINE, new Line2D.Double(-30,-35,0,-21)));163 WithyPort.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 164 WithyPort.add(new Instr(Form.FILL, Color.black)); 165 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(-10,0,10,0))); 166 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-70))); 167 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(20,-60,0,-50))); 168 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(-20,-60,0,-50))); 169 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(30,-35,0,-21))); 170 WithyPort.add(new Instr(Form.LINE, new Line2D.Double(-30,-35,0,-21))); 171 171 } 172 172 public static final Symbol WithyStarboard = new Symbol(); 173 173 static { 174 WithyStarboard.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));175 WithyStarboard.add(new Instr( Prim.FILL, Color.black));176 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,10,0)));177 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-70)));178 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(20,-50,0,-60)));179 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(-20,-50,0,-60)));180 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(30,-21,0,-35)));181 WithyStarboard.add(new Instr( Prim.LINE, new Line2D.Double(-30,-21,0,-35)));174 WithyStarboard.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 175 WithyStarboard.add(new Instr(Form.FILL, Color.black)); 176 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(-10,0,10,0))); 177 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-70))); 178 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(20,-50,0,-60))); 179 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(-20,-50,0,-60))); 180 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(30,-21,0,-35))); 181 WithyStarboard.add(new Instr(Form.LINE, new Line2D.Double(-30,-21,0,-35))); 182 182 } 183 183 -
applications/editors/josm/plugins/smed2/src/symbols/Buoys.java
r29198 r30215 26 26 p.curveTo(-18.0,-40.0,12.0,-40.0,25.0,-36.0); p.curveTo(38.0,-32.0,43.0,-11.0,43.0,0); 27 27 p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 28 colours.add(new Instr( Prim.P1, p));29 Barrel.add(new Instr( Prim.COLR, colours));30 Barrel.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));31 Barrel.add(new Instr( Prim.FILL, Color.black));32 Barrel.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));33 Barrel.add(new Instr( Prim.LINE, new Line2D.Double(-57,0,-10,0)));34 Barrel.add(new Instr( Prim.LINE, new Line2D.Double(10,0,50,0)));28 colours.add(new Instr(Form.P1, p)); 29 Barrel.add(new Instr(Form.COLR, colours)); 30 Barrel.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 31 Barrel.add(new Instr(Form.FILL, Color.black)); 32 Barrel.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 33 Barrel.add(new Instr(Form.LINE, new Line2D.Double(-57,0,-10,0))); 34 Barrel.add(new Instr(Form.LINE, new Line2D.Double(10,0,50,0))); 35 35 p = new Path2D.Double(); p.moveTo(-50.0,0); p.curveTo(-50.0,-11.0,-45.0,-32.0,-32.0,-36.0); p.curveTo(-18.0,-40.0,12.0,-40.0,25.0,-36.0); 36 36 p.curveTo(38.0,-32.0,43.0,-11.0,43.0,0); p.moveTo(-32.0,-36.0); p.curveTo(-23.0,-25.0,-21.0,-12.0,-21.0,0.0); 37 Barrel.add(new Instr( Prim.PLIN, p));37 Barrel.add(new Instr(Form.PLIN, p)); 38 38 } 39 39 public static final Symbol Can = new Symbol(); … … 42 42 Path2D.Double p = new Path2D.Double(); p.moveTo(-31.6, 0); p.lineTo(-15.7,-47.4); p.lineTo(41.1,-28.4); p.lineTo(31.6,0); 43 43 p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 44 colours.add(new Instr( Prim.P1, p));44 colours.add(new Instr(Form.P1, p)); 45 45 p = new Path2D.Double(); p.moveTo(-31.6,0); p.lineTo(-22.0,-28.4); p.lineTo(34.8,-9.4); p.lineTo(31.6,0); 46 46 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 47 colours.add(new Instr( Prim.H2, p));47 colours.add(new Instr(Form.H2, p)); 48 48 p = new Path2D.Double(); p.moveTo(-24.2,-22.1); p.lineTo(-19.9,-34.8); p.lineTo(36.9,-15.8); p.lineTo(32.6,-3.1); p.closePath(); 49 colours.add(new Instr( Prim.H3, p));49 colours.add(new Instr(Form.H3, p)); 50 50 p = new Path2D.Double(); p.moveTo(-22.0,-28.4); p.lineTo(-18.9,-37.9); p.lineTo(37.9,-18.9); p.lineTo(34.8,-9.4); p.closePath(); 51 colours.add(new Instr( Prim.H4, p));51 colours.add(new Instr(Form.H4, p)); 52 52 p = new Path2D.Double(); p.moveTo(-25.2,-19.0); p.lineTo(-22.0,-28.4); p.lineTo(34.8,-9.4); p.lineTo(31.6,0.0); p.closePath(); 53 colours.add(new Instr( Prim.H5, p));53 colours.add(new Instr(Form.H5, p)); 54 54 p = new Path2D.Double(); p.moveTo(12.7,-37.9); p.lineTo(41.1,-28.4); p.lineTo(31.6,0); p.lineTo(8.0,0.0); p.quadTo(8.0,-6.0,2.5,-7.6); p.closePath(); 55 colours.add(new Instr( Prim.V2, p));56 Can.add(new Instr( Prim.COLR, colours));57 Can.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));58 Can.add(new Instr( Prim.FILL, Color.black));59 Can.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));60 Can.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,-10,0)));61 Can.add(new Instr( Prim.LINE, new Line2D.Double(10,0,40,0)));55 colours.add(new Instr(Form.V2, p)); 56 Can.add(new Instr(Form.COLR, colours)); 57 Can.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 58 Can.add(new Instr(Form.FILL, Color.black)); 59 Can.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 60 Can.add(new Instr(Form.LINE, new Line2D.Double(-40,0,-10,0))); 61 Can.add(new Instr(Form.LINE, new Line2D.Double(10,0,40,0))); 62 62 p = new Path2D.Double(); p.moveTo(-31.6, 0); p.lineTo(-15.7,-47.4); p.lineTo(41.1,-28.4); p.lineTo(31.6,0); 63 Can.add(new Instr( Prim.PLIN, p));63 Can.add(new Instr(Form.PLIN, p)); 64 64 } 65 65 public static final Symbol Cone = new Symbol(); … … 68 68 Path2D.Double p = new Path2D.Double(); p.moveTo(-31.6,0); p.curveTo(-24.9,-32.2, 1.4,-38.7,12.7,-37.9); p.curveTo(21.9,-30.5,32.8,-18.4,32.1,0.0); 69 69 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 70 colours.add(new Instr( Prim.P1, p));70 colours.add(new Instr(Form.P1, p)); 71 71 p = new Path2D.Double(); p.moveTo(-31.6,0); p.quadTo(-29.0,-15.5,-17.3,-26.9); p.lineTo(31.5,-10.5); p.quadTo(33.0,-5.0,32.1,0.0); 72 72 p.lineTo(8.0,0.0); p.curveTo(8.0, -11.0, -8.0, -11.0, -8.0, 0.0); p.closePath(); 73 colours.add(new Instr( Prim.H2, p));73 colours.add(new Instr(Form.H2, p)); 74 74 p = new Path2D.Double(); p.moveTo(-22.3,-21.4); p.quadTo(-15.2,-29.8,-10.8,-31.8); p.lineTo(28.8,-18.5); p.quadTo(31.8,-12.5,32.6,-3.1); p.closePath(); 75 colours.add(new Instr( Prim.H3, p));75 colours.add(new Instr(Form.H3, p)); 76 76 p = new Path2D.Double(); p.moveTo(-17.3,-27.0); p.quadTo(-13.0,-31.4,-6.9,-33.8); p.lineTo(26.4,-22.7); p.quadTo(30.0,-17.0,31.7,-10.3); p.closePath(); 77 colours.add(new Instr( Prim.H4, p));77 colours.add(new Instr(Form.H4, p)); 78 78 p = new Path2D.Double(); p.moveTo(-24.4,-18.7); p.quadTo(-20.3,-25.0,-17.3,-27.0); p.lineTo(31.7,-10.3); p.quadTo(32.7,-4.5,32.1,0.0); p.closePath(); 79 colours.add(new Instr( Prim.H5, p));79 colours.add(new Instr(Form.H5, p)); 80 80 p = new Path2D.Double(); p.moveTo(12.7,-37.9); p.curveTo(21.9,-30.5,32.8,-18.4,32.1,0.0); p.lineTo(8.0,0.0); p.quadTo(8.0,-6.0,2.5,-7.6); p.closePath(); 81 colours.add(new Instr( Prim.V2, p));82 Cone.add(new Instr( Prim.COLR, colours));83 Cone.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));84 Cone.add(new Instr( Prim.FILL, Color.black));85 Cone.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));86 Cone.add(new Instr( Prim.LINE, new Line2D.Double(-40,0,-10,0)));87 Cone.add(new Instr( Prim.LINE, new Line2D.Double(10,0,40,0)));81 colours.add(new Instr(Form.V2, p)); 82 Cone.add(new Instr(Form.COLR, colours)); 83 Cone.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 84 Cone.add(new Instr(Form.FILL, Color.black)); 85 Cone.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 86 Cone.add(new Instr(Form.LINE, new Line2D.Double(-40,0,-10,0))); 87 Cone.add(new Instr(Form.LINE, new Line2D.Double(10,0,40,0))); 88 88 p = new Path2D.Double(); p.moveTo(-31.6, 0); p.curveTo(-24.9,-32.2,1.4,-38.7,12.7,-37.9); p.curveTo(21.9,-30.5,32.8,-18.4,32.1,0.0); 89 Cone.add(new Instr( Prim.PLIN, p));89 Cone.add(new Instr(Form.PLIN, p)); 90 90 } 91 91 public static final Symbol Float = new Symbol(); … … 95 95 p.lineTo(-12.0,-42.0); p.lineTo(12.0,-42.0); p.lineTo(19.0,-23.0); p.quadTo(30.0,-25.0,47.0,-33.0); p.lineTo(36.0,0); 96 96 p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 97 colours.add(new Instr( Prim.P1, p));97 colours.add(new Instr(Form.P1, p)); 98 98 p = new Path2D.Double(); p.moveTo(-36.0,0); p.lineTo(-43.0,-21.0); p.lineTo(43.0,-21.0); p.lineTo(36.0,0); 99 99 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 100 colours.add(new Instr( Prim.H2, p));100 colours.add(new Instr(Form.H2, p)); 101 101 p = new Path2D.Double(); p.moveTo(-40.8,-14.0); p.lineTo(-45.4,-28.0); p.lineTo(-35.5,-28.0); p.quadTo(-28.0,-25.0,-19.0,-23.0); p.lineTo(-17.2,-28.0); 102 102 p.lineTo(17.2,-28.0); p.lineTo(19.0,-23.0); p.quadTo(28.0,-25.0,35.5,-28.0); p.lineTo(45.4,-28.0); p.lineTo(40.8,-14.0); p.closePath(); 103 colours.add(new Instr( Prim.H3, p));103 colours.add(new Instr(Form.H3, p)); 104 104 p = new Path2D.Double(); p.moveTo(-43.0,-21.0); p.lineTo(-47.0,-33.0); p.quadTo(-29.7,-24.8,-19.0,-23.0); p.lineTo(-15.8,-31.5); p.lineTo(15.8,-31.5); 105 105 p.lineTo(19.0,-23.0); p.quadTo(28.4,-24.3,47.0,-33.0); p.lineTo(43.0,-21.0); p.closePath(); 106 colours.add(new Instr( Prim.H4, p));106 colours.add(new Instr(Form.H4, p)); 107 107 p = new Path2D.Double(); p.moveTo(-39.8,-11.5); p.lineTo(-43.0,-21.0); p.lineTo(43.0,-21.0); p.lineTo(39.8,-11.5); p.closePath(); 108 colours.add(new Instr( Prim.H5, p));108 colours.add(new Instr(Form.H5, p)); 109 109 p = new Path2D.Double(); p.moveTo(0.0,-42.0); p.lineTo(12.0,-42.0); p.lineTo(19.0,-23.0); p.quadTo(28.4,-24.3,47.0,-33.0); p.lineTo(36.0,0.0); 110 110 p.lineTo(8.0,0.0); p.quadTo(7.7,-7.7,0.0,-8.0); p.closePath(); 111 colours.add(new Instr( Prim.V2, p));112 Float.add(new Instr( Prim.COLR, colours));113 Float.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));114 Float.add(new Instr( Prim.FILL, Color.black));115 Float.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));116 Float.add(new Instr( Prim.LINE, new Line2D.Double(-54,0,-10,0)));117 Float.add(new Instr( Prim.LINE, new Line2D.Double(10,0,54,0)));111 colours.add(new Instr(Form.V2, p)); 112 Float.add(new Instr(Form.COLR, colours)); 113 Float.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 114 Float.add(new Instr(Form.FILL, Color.black)); 115 Float.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 116 Float.add(new Instr(Form.LINE, new Line2D.Double(-54,0,-10,0))); 117 Float.add(new Instr(Form.LINE, new Line2D.Double(10,0,54,0))); 118 118 p = new Path2D.Double(); p.moveTo(-36.0,0); p.lineTo(-47.0,-33.0); p.curveTo(-15.0, -17.0, 15.0, -17.0, 47.0,-33.0); p.lineTo(36.0,0); 119 119 p.moveTo(-19.0, -23.0); p.lineTo(-12.0,-42.0); p.lineTo(12.0,-42.0); p.lineTo(19.0,-23.0); 120 Float.add(new Instr( Prim.PLIN, p));120 Float.add(new Instr(Form.PLIN, p)); 121 121 } 122 122 public static final Symbol Ice = new Symbol(); … … 125 125 Path2D.Double p = new Path2D.Double(); p.moveTo(-15.0,0); p.quadTo(-30.0,0.0,-30.0,-15.0); p.lineTo(-30.0,-25.0); p.lineTo(30.0,-25.0); p.lineTo(30.0,-15); p.quadTo(30.0,0.0,15.0,0.0); 126 126 p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 127 colours.add(new Instr( Prim.P1, p));128 Ice.add(new Instr( Prim.COLR, colours));129 Ice.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));130 Ice.add(new Instr( Prim.FILL, Color.black));131 Ice.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));132 Ice.add(new Instr( Prim.LINE, new Line2D.Double(-35,0,-10,0)));133 Ice.add(new Instr( Prim.LINE, new Line2D.Double(10,0,35,0)));127 colours.add(new Instr(Form.P1, p)); 128 Ice.add(new Instr(Form.COLR, colours)); 129 Ice.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 130 Ice.add(new Instr(Form.FILL, Color.black)); 131 Ice.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 132 Ice.add(new Instr(Form.LINE, new Line2D.Double(-35,0,-10,0))); 133 Ice.add(new Instr(Form.LINE, new Line2D.Double(10,0,35,0))); 134 134 p = new Path2D.Double(); p.moveTo(-15.0,0); p.quadTo(-30.0,0.0,-30.0,-15.0); p.lineTo(-30.0,-25.0); p.lineTo(30.0,-25.0); p.lineTo(30.0,-15); p.quadTo(30.0,0.0,15.0,0.0); 135 Ice.add(new Instr( Prim.PLIN, p));135 Ice.add(new Instr(Form.PLIN, p)); 136 136 p = new Path2D.Double(); p.moveTo(-6.0,8.0); p.lineTo(-6.0,40.0); p.lineTo(6.0,40.0); p.lineTo(6.0,8.0); 137 Ice.add(new Instr( Prim.PLIN, p));137 Ice.add(new Instr(Form.PLIN, p)); 138 138 } 139 139 public static final Symbol Pillar = new Symbol(); … … 142 142 Path2D.Double p = new Path2D.Double(); p.moveTo(-32.0,0.0); p.lineTo(-2.8,-32.5); p.lineTo(25.6,-96.7); p.lineTo(37.0,-92.9); p.lineTo(21.8,-24.3); 143 143 p.lineTo(25.0,0.0); p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 144 colours.add(new Instr( Prim.P1, p));144 colours.add(new Instr(Form.P1, p)); 145 145 p = new Path2D.Double(); p.moveTo(-32.0,0); p.lineTo(-2.8,-32.5); p.lineTo(5.3,-51.0); p.lineTo(26.3,-43.9); p.lineTo(21.8,-24.3); p.lineTo(25.0,0.0); 146 146 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 147 colours.add(new Instr( Prim.H2, p));147 colours.add(new Instr(Form.H2, p)); 148 148 p = new Path2D.Double(); p.moveTo(-0.9,-37.1); p.lineTo(11.3,-64.6); p.lineTo(29.6,-58.7); p.lineTo(23.1,-29.3); p.closePath(); 149 colours.add(new Instr( Prim.H3, p));149 colours.add(new Instr(Form.H3, p)); 150 150 p = new Path2D.Double(); p.moveTo(5.3,-51.0); p.lineTo(14.5,-71.5); p.lineTo(31.2,-65.9); p.lineTo(26.3,-43.9); p.closePath(); 151 colours.add(new Instr( Prim.H4, p));151 colours.add(new Instr(Form.H4, p)); 152 152 p = new Path2D.Double(); p.moveTo(-5.2,-29.7); p.lineTo(-2.8,-32.5); p.lineTo(5.3,-51.0); p.lineTo(26.3,-43.9); p.lineTo(21.8,-24.3); p.lineTo(22.2,-21.5); p.closePath(); 153 colours.add(new Instr( Prim.H5, p));153 colours.add(new Instr(Form.H5, p)); 154 154 p = new Path2D.Double(); p.moveTo(12.7,-37.9); p.lineTo(31.3,-94.8); p.lineTo(37.0,-92.9); p.lineTo(21.8,-24.3); 155 155 p.lineTo(25.0,0.0); p.lineTo(8.0,0.0); p.quadTo(8.0,-6.0,2.5,-7.6); p.closePath(); 156 colours.add(new Instr( Prim.V2, p));157 Pillar.add(new Instr( Prim.COLR, colours));158 Pillar.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));159 Pillar.add(new Instr( Prim.FILL, Color.black));160 Pillar.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));161 Pillar.add(new Instr( Prim.LINE, new Line2D.Double(-42,0,-10,0)));162 Pillar.add(new Instr( Prim.LINE, new Line2D.Double(10,0,36,0)));156 colours.add(new Instr(Form.V2, p)); 157 Pillar.add(new Instr(Form.COLR, colours)); 158 Pillar.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 159 Pillar.add(new Instr(Form.FILL, Color.black)); 160 Pillar.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 161 Pillar.add(new Instr(Form.LINE, new Line2D.Double(-42,0,-10,0))); 162 Pillar.add(new Instr(Form.LINE, new Line2D.Double(10,0,36,0))); 163 163 p = new Path2D.Double(); p.moveTo(-32.0,0.0); p.lineTo(-2.8,-32.5); p.lineTo(25.6,-96.7); p.lineTo(37.0,-92.9); p.lineTo(21.8,-24.3); p.lineTo(25.0,0.0); 164 Pillar.add(new Instr( Prim.PLIN, p));164 Pillar.add(new Instr(Form.PLIN, p)); 165 165 } 166 166 public static final Symbol Spar = new Symbol(); … … 168 168 Symbol colours = new Symbol(); 169 169 Path2D.Double p = new Path2D.Double(); p.moveTo(-3.2,-9.5); p.lineTo(25.6,-96.7); p.lineTo(37.0,-92.9); p.lineTo(8.2,-5.7); p.closePath(); 170 colours.add(new Instr( Prim.P1, p));170 colours.add(new Instr(Form.P1, p)); 171 171 p = new Path2D.Double(); p.moveTo(-3.2,-9.5); p.lineTo(11.2,-53.1); p.lineTo(22.6,-49.3); p.lineTo(8.2,-5.7); p.closePath(); 172 colours.add(new Instr( Prim.H2, p));172 colours.add(new Instr(Form.H2, p)); 173 173 p = new Path2D.Double(); p.moveTo(6.4,-38.6); p.lineTo(16.0,-67.6); p.lineTo(27.4,-63.8); p.lineTo(17.8,-34.8); p.closePath(); 174 colours.add(new Instr( Prim.H3, p));174 colours.add(new Instr(Form.H3, p)); 175 175 p = new Path2D.Double(); p.moveTo(11.2,-53.1); p.lineTo(18.4,-74.9); p.lineTo(29.8,-71.1); p.lineTo(22.6,-49.3); p.closePath(); 176 colours.add(new Instr( Prim.H4, p));176 colours.add(new Instr(Form.H4, p)); 177 177 p = new Path2D.Double(); p.moveTo(4.0,-31.3); p.lineTo(11.2,-53.1); p.lineTo(22.6,-49.3); p.lineTo(15.4,-27.5); p.closePath(); 178 colours.add(new Instr( Prim.H5, p));178 colours.add(new Instr(Form.H5, p)); 179 179 p = new Path2D.Double(); p.moveTo(2.5,-7.6); p.lineTo(31.3,-94.8); p.lineTo(37.0,-92.9); p.lineTo(8.2,-5.7); p.closePath(); 180 colours.add(new Instr( Prim.V2, p));181 Spar.add(new Instr( Prim.COLR, colours));182 Spar.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));183 Spar.add(new Instr( Prim.FILL, Color.black));184 Spar.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));185 Spar.add(new Instr( Prim.LINE, new Line2D.Double(-20,0,-10,0)));186 Spar.add(new Instr( Prim.LINE, new Line2D.Double(10,0,20,0)));180 colours.add(new Instr(Form.V2, p)); 181 Spar.add(new Instr(Form.COLR, colours)); 182 Spar.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 183 Spar.add(new Instr(Form.FILL, Color.black)); 184 Spar.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 185 Spar.add(new Instr(Form.LINE, new Line2D.Double(-20,0,-10,0))); 186 Spar.add(new Instr(Form.LINE, new Line2D.Double(10,0,20,0))); 187 187 p = new Path2D.Double(); p.moveTo(-3.2,-9.5); p.lineTo(25.6,-96.7); p.lineTo(37.0,-92.9); p.lineTo(8.2,-5.7); 188 Spar.add(new Instr( Prim.PLIN, p));188 Spar.add(new Instr(Form.PLIN, p)); 189 189 } 190 190 public static final Symbol Sphere = new Symbol(); … … 193 193 Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0); p.curveTo(-32.0,-21.0,-14.0,-45.5,12.7,-37.9); p.curveTo(27.5,-33.8,37.8,-15.5,32.0,0.0); 194 194 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 195 colours.add(new Instr( Prim.P1, p));195 colours.add(new Instr(Form.P1, p)); 196 196 p = new Path2D.Double(); p.moveTo(-25.0,0); p.quadTo(-30.0,-15.0,-20.5,-28.0); p.lineTo(33.8,-10.0); p.quadTo(33.7,-4.0,32.0,0.0); 197 197 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 198 colours.add(new Instr( Prim.H2, p));198 colours.add(new Instr(Form.H2, p)); 199 199 p = new Path2D.Double(); p.moveTo(-24.2,-22.1); p.quadTo(-21.0,-28.5,-15.2,-33.3); p.lineTo(32.8,-17.2); p.quadTo(34.6,-10.0,33.0,-2.9); p.closePath(); 200 colours.add(new Instr( Prim.H3, p));200 colours.add(new Instr(Form.H3, p)); 201 201 p = new Path2D.Double(); p.moveTo(-20.5,-28.0); p.quadTo(-16.5,-33.0,-12.0,-35.5); p.lineTo(31.5,-21.0); p.quadTo(33.5,-17.0,34.0,-9.5); p.closePath(); 202 colours.add(new Instr( Prim.H4, p));202 colours.add(new Instr(Form.H4, p)); 203 203 p = new Path2D.Double(); p.moveTo(-25.2,-19.0); p.quadTo(-23.5,-24.0,-20.5,-28.0); p.lineTo(34.0,-9.5); p.quadTo(34.0,-3.0,32.0,0.0); p.closePath(); 204 colours.add(new Instr( Prim.H5, p));204 colours.add(new Instr(Form.H5, p)); 205 205 p = new Path2D.Double(); p.moveTo(12.7,-37.9); p.curveTo(27.5,-33.8,37.8,-15.5,32.0,0.0); p.lineTo(8.0,0.0); p.quadTo(8.0,-6.0,2.5,-7.6); p.closePath(); 206 colours.add(new Instr( Prim.V2, p));207 Sphere.add(new Instr( Prim.COLR, colours));208 Sphere.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));209 Sphere.add(new Instr( Prim.FILL, Color.black));210 Sphere.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));211 Sphere.add(new Instr( Prim.LINE, new Line2D.Double(-33,0,-10,0)));212 Sphere.add(new Instr( Prim.LINE, new Line2D.Double(10,0,40,0)));213 Sphere.add(new Instr( Prim.EARC, new Arc2D.Double(-26.5,-39.4,60.0,60.0,-18.0,216.0,Arc2D.OPEN)));206 colours.add(new Instr(Form.V2, p)); 207 Sphere.add(new Instr(Form.COLR, colours)); 208 Sphere.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 209 Sphere.add(new Instr(Form.FILL, Color.black)); 210 Sphere.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 211 Sphere.add(new Instr(Form.LINE, new Line2D.Double(-33,0,-10,0))); 212 Sphere.add(new Instr(Form.LINE, new Line2D.Double(10,0,40,0))); 213 Sphere.add(new Instr(Form.EARC, new Arc2D.Double(-26.5,-39.4,60.0,60.0,-18.0,216.0,Arc2D.OPEN))); 214 214 } 215 215 public static final Symbol Storage = new Symbol(); 216 216 static { 217 Storage.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));218 Storage.add(new Instr( Prim.FILL, Color.black));219 Storage.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));217 Storage.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 218 Storage.add(new Instr(Form.FILL, Color.black)); 219 Storage.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 220 220 Path2D.Double p = new Path2D.Double(); p.moveTo(-50.0,0.0); p.lineTo(-40.0,-20.0); p.lineTo(40.0,-20.0); p.lineTo(40.0,-20.0); 221 221 p.lineTo(50.0,0.0); p.lineTo(40.0,20.0); p.lineTo(-40.0,20.0); p.closePath(); 222 Storage.add(new Instr( Prim.PLIN, p));222 Storage.add(new Instr(Form.PLIN, p)); 223 223 } 224 224 public static final Symbol Super = new Symbol(); … … 227 227 Path2D.Double p = new Path2D.Double(); p.moveTo(-48.0,0); p.lineTo(-28.0,-42.0); p.lineTo(28.0,-42.0); p.lineTo(48.0,0); 228 228 p.lineTo(8.0, 0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 229 colours.add(new Instr( Prim.P1, p));229 colours.add(new Instr(Form.P1, p)); 230 230 p = new Path2D.Double(); p.moveTo(-48.0,0); p.lineTo(-38.0,-21.0); p.lineTo(38.0,-21.0); p.lineTo(48.0,0); 231 231 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 232 colours.add(new Instr( Prim.H2, p));232 colours.add(new Instr(Form.H2, p)); 233 233 p = new Path2D.Double(); p.moveTo(-41.3,-14.0); p.lineTo(-34.7,-28.0); p.lineTo(34.7,-28.0); p.lineTo(41.3,-14.0); p.closePath(); 234 colours.add(new Instr( Prim.H3, p));234 colours.add(new Instr(Form.H3, p)); 235 235 p = new Path2D.Double(); p.moveTo(-38.0,-21.0); p.lineTo(-33.0,-31.5); p.lineTo(33.0,-31.5); p.lineTo(38.0,-21.0); p.closePath(); 236 colours.add(new Instr( Prim.H4, p));236 colours.add(new Instr(Form.H4, p)); 237 237 p = new Path2D.Double(); p.moveTo(-43.0,-11.5); p.lineTo(-38.0,-21.0); p.lineTo(38.0,-21.0); p.lineTo(43.0,-11.5); p.closePath(); 238 colours.add(new Instr( Prim.H5, p));238 colours.add(new Instr(Form.H5, p)); 239 239 p = new Path2D.Double(); p.moveTo(0.0,-42.0); p.lineTo(28.0,-42.0); p.lineTo(48.0,0.0); p.lineTo(8.0,0.0); p.quadTo(7.7,-7.7,0.0,-8.0); p.closePath(); 240 colours.add(new Instr( Prim.V2, p));241 Super.add(new Instr( Prim.COLR, colours));242 Super.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));243 Super.add(new Instr( Prim.FILL, Color.black));244 Super.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));245 Super.add(new Instr( Prim.LINE, new Line2D.Double(-54,0,-10,0)));246 Super.add(new Instr( Prim.LINE, new Line2D.Double(10,0,54,0)));240 colours.add(new Instr(Form.V2, p)); 241 Super.add(new Instr(Form.COLR, colours)); 242 Super.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 243 Super.add(new Instr(Form.FILL, Color.black)); 244 Super.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 245 Super.add(new Instr(Form.LINE, new Line2D.Double(-54,0,-10,0))); 246 Super.add(new Instr(Form.LINE, new Line2D.Double(10,0,54,0))); 247 247 p = new Path2D.Double(); p.moveTo(-48.0,0); p.lineTo(-28.0,-42.0); p.lineTo(28.0,-42.0); p.lineTo(48.0,0); 248 Super.add(new Instr( Prim.PLIN, p));248 Super.add(new Instr(Form.PLIN, p)); 249 249 } 250 250 -
applications/editors/josm/plugins/smed2/src/symbols/Facilities.java
r30157 r30215 21 21 private static final Symbol Facility = new Symbol(); 22 22 static { 23 Facility.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));24 Facility.add(new Instr( Prim.FILL, new Color(0x80ffffff, true)));23 Facility.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 24 Facility.add(new Instr(Form.FILL, new Color(0x80ffffff, true))); 25 25 RoundRectangle2D.Double s = new RoundRectangle2D.Double(-29,-29,58,58,15,15); 26 Facility.add(new Instr( Prim.RSHP, s));27 Facility.add(new Instr( Prim.FILL, new Color(0xa30075)));28 Facility.add(new Instr( Prim.RRCT, s));26 Facility.add(new Instr(Form.RSHP, s)); 27 Facility.add(new Instr(Form.FILL, new Color(0xa30075))); 28 Facility.add(new Instr(Form.RRCT, s)); 29 29 } 30 30 public static final Symbol Boatlift = new Symbol();//was Crane 31 31 static { 32 Boatlift.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));33 Boatlift.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));34 Boatlift.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));35 Boatlift.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-3.7,-19.7,12,12)));36 Boatlift.add(new Instr( Prim.LINE, new Line2D.Double(2.3,-7.7,2.3,-2.0)));37 Boatlift.add(new Instr( Prim.EARC, new Arc2D.Double(-10.0,-1.5,20,20,75.0,-260.0,Arc2D.OPEN)));32 Boatlift.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 33 Boatlift.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 34 Boatlift.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 35 Boatlift.add(new Instr(Form.ELPS, new Ellipse2D.Double(-3.7,-19.7,12,12))); 36 Boatlift.add(new Instr(Form.LINE, new Line2D.Double(2.3,-7.7,2.3,-2.0))); 37 Boatlift.add(new Instr(Form.EARC, new Arc2D.Double(-10.0,-1.5,20,20,75.0,-260.0,Arc2D.OPEN))); 38 38 } 39 39 public static final Symbol Boatyard = new Symbol(); 40 40 static { 41 Boatyard.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));42 Boatyard.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));43 Boatyard.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));44 Boatyard.add(new Instr( Prim.LINE, new Line2D.Double(19,19,-8,-8)));41 Boatyard.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 42 Boatyard.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 43 Boatyard.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 44 Boatyard.add(new Instr(Form.LINE, new Line2D.Double(19,19,-8,-8))); 45 45 Path2D.Double p = new Path2D.Double(); p.moveTo(-11.3,-11.3); p.lineTo(-10.5,-17.5); p.lineTo(-14.8,-21.9); p.lineTo(-11.3,-25.4); p.lineTo(-7.4,-21.5); 46 46 p.curveTo(1.0,-11.5,-11.5,1.0,-21.5,-7.4); p.lineTo(-25.4,-11.3); p.lineTo(-21.9,-14.8); p.lineTo(-17.5,-10.5); p.closePath(); 47 Boatyard.add(new Instr( Prim.PGON, p));47 Boatyard.add(new Instr(Form.PGON, p)); 48 48 } 49 49 public static final Symbol Chandler = new Symbol(); 50 50 static { 51 Chandler.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));52 Chandler.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));53 Chandler.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));54 Chandler.add(new Instr( Prim.ELPS, new Ellipse2D.Double(14,7,10,10)));55 Chandler.add(new Instr( Prim.LINE, new Line2D.Double(-23.0,12.0,14.0,12.0)));56 Chandler.add(new Instr( Prim.LINE, new Line2D.Double(8.0,21.0,8.0,-8.6)));57 Chandler.add(new Instr( Prim.LINE, new Line2D.Double(-16.0,21.0,-16.0,-8.6)));58 Chandler.add(new Instr( Prim.EARC, new Arc2D.Double(-16.0,-20.5,24,24,0.0,180.0,Arc2D.OPEN)));51 Chandler.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 52 Chandler.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 53 Chandler.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 54 Chandler.add(new Instr(Form.ELPS, new Ellipse2D.Double(14,7,10,10))); 55 Chandler.add(new Instr(Form.LINE, new Line2D.Double(-23.0,12.0,14.0,12.0))); 56 Chandler.add(new Instr(Form.LINE, new Line2D.Double(8.0,21.0,8.0,-8.6))); 57 Chandler.add(new Instr(Form.LINE, new Line2D.Double(-16.0,21.0,-16.0,-8.6))); 58 Chandler.add(new Instr(Form.EARC, new Arc2D.Double(-16.0,-20.5,24,24,0.0,180.0,Arc2D.OPEN))); 59 59 } 60 60 public static final Symbol Fuel = new Symbol(); 61 61 static { 62 Fuel.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));63 Fuel.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));64 Fuel.add(new Instr( Prim.STRK, new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));65 Fuel.add(new Instr( Prim.FILL, new Color(0xa30075)));62 Fuel.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 63 Fuel.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 64 Fuel.add(new Instr(Form.STRK, new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 65 Fuel.add(new Instr(Form.FILL, new Color(0xa30075))); 66 66 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 67 67 p.moveTo(-15.6,22.1); p.lineTo(-15.6,-19.4); p.quadTo(-15.5,-22.7,-12.2,-22.8); p.lineTo(0.2,-22.8); p.quadTo(3.3,-22.7,3.4,-19.4); p.lineTo(3.4,22.1); p.closePath(); 68 68 p.moveTo(-12.8,-19.0); p.quadTo(-12.7,-19.9,-11.8,-20.0); p.lineTo(-0.4,-20.0); p.quadTo(0.5,-19.9,0.6,-19.0); p.lineTo(0.6,-9.4); 69 69 p.quadTo(0.5,-8.5,-0.4,-8.4); p.lineTo(-11.8,-8.4); p.quadTo(-12.7,-8.3,-12.8,-9.4); p.closePath(); 70 Fuel.add(new Instr( Prim.PGON, p));70 Fuel.add(new Instr(Form.PGON, p)); 71 71 p = new Path2D.Double(); p.moveTo(3.0,-3.0); p.lineTo(7.0,-3.0); p.quadTo(9.4,-2.8,9.6,-0.4); p.lineTo(9.6,18.0); p.curveTo(10.1,23.2,18.4,21.5,17.4,17.2); 72 72 p.lineTo(14.9,3.5); p.lineTo(15.1,-10.3); p.quadTo(14.9,-11.9,13.9,-13.1); p.lineTo(7.4,-19.6); p.moveTo(15.1,-7.4); p.lineTo(12.6,-7.4); p.quadTo(11.1,-7.4,11.1,-8.9); p.lineTo(11.1,-16.0); 73 Fuel.add(new Instr( Prim.PLIN, p));73 Fuel.add(new Instr(Form.PLIN, p)); 74 74 } 75 75 public static final Symbol Laundrette = new Symbol(); 76 76 static { 77 Laundrette.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));78 Laundrette.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));79 Laundrette.add(new Instr( Prim.STRK, new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));80 Laundrette.add(new Instr( Prim.FILL, new Color(0xa30075)));81 Laundrette.add(new Instr( Prim.RECT, new Rectangle2D.Double(-15,-15,30,30)));82 Laundrette.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));77 Laundrette.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 78 Laundrette.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 79 Laundrette.add(new Instr(Form.STRK, new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 80 Laundrette.add(new Instr(Form.FILL, new Color(0xa30075))); 81 Laundrette.add(new Instr(Form.RECT, new Rectangle2D.Double(-15,-15,30,30))); 82 Laundrette.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 83 83 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,-15); p.lineTo(-15,-20); p.lineTo(15,-20); p.lineTo(15,-15); 84 84 p.moveTo(-10,15); p.lineTo(-10,20); p.lineTo(10,20); p.lineTo(10,15); 85 Laundrette.add(new Instr( Prim.PLIN, p));85 Laundrette.add(new Instr(Form.PLIN, p)); 86 86 } 87 87 public static final Symbol PumpOut = new Symbol(); 88 88 static { 89 PumpOut.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));90 PumpOut.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));91 PumpOut.add(new Instr( Prim.STRK, new BasicStroke(2.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));92 PumpOut.add(new Instr( Prim.FILL, new Color(0xa30075)));89 PumpOut.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 90 PumpOut.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 91 PumpOut.add(new Instr(Form.STRK, new BasicStroke(2.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 92 PumpOut.add(new Instr(Form.FILL, new Color(0xa30075))); 93 93 Path2D.Double p = new Path2D.Double(); p.moveTo(3.9,-3.7); p.lineTo(-7.4,-3.7); p.lineTo(-12.0,2.0); p.lineTo(-22.7,2.0); 94 94 p.lineTo(-11.8,14.9); p.lineTo(15.1,14.9); p.lineTo(21.9,10.2); p.lineTo(21.9,3.1); p.lineTo(13.5,3.1); 95 PumpOut.add(new Instr( Prim.PLIN, p));96 PumpOut.add(new Instr( Prim.STRK, new BasicStroke(3.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));95 PumpOut.add(new Instr(Form.PLIN, p)); 96 PumpOut.add(new Instr(Form.STRK, new BasicStroke(3.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 97 97 p = new Path2D.Double(); p.moveTo(-2.5,3.0); p.lineTo(-2.5,-13.8); p.lineTo(6.9,-13.8); p.lineTo(6.9,-6.7); p.lineTo(14.5,-6.7); 98 PumpOut.add(new Instr( Prim.PLIN, p));98 PumpOut.add(new Instr(Form.PLIN, p)); 99 99 p = new Path2D.Double(); p.moveTo(9.7,2.3); p.lineTo(9.7,10.3); p.lineTo(-4.1,10.3); p.lineTo(-4.1,2.3); p.closePath(); 100 PumpOut.add(new Instr( Prim.PGON, p));100 PumpOut.add(new Instr(Form.PGON, p)); 101 101 p = new Path2D.Double(); p.moveTo(14.1,-10.6); p.lineTo(23.1,-6.7); p.lineTo(14.1,-2.8); p.closePath(); 102 PumpOut.add(new Instr( Prim.PGON, p));102 PumpOut.add(new Instr(Form.PGON, p)); 103 103 } 104 104 public static final Symbol SailingClub = new Symbol(); 105 105 static { 106 SailingClub.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));107 SailingClub.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));108 SailingClub.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));109 SailingClub.add(new Instr( Prim.FILL, new Color(0xa30075)));110 SailingClub.add(new Instr( Prim.LINE, new Line2D.Double(-5,20,-5,-20)));106 SailingClub.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 107 SailingClub.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 108 SailingClub.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 109 SailingClub.add(new Instr(Form.FILL, new Color(0xa30075))); 110 SailingClub.add(new Instr(Form.LINE, new Line2D.Double(-5,20,-5,-20))); 111 111 Path2D.Double p = new Path2D.Double(); p.moveTo(-5,0); p.lineTo(20,-10); p.lineTo(-5,-20); p.closePath(); 112 SailingClub.add(new Instr( Prim.PGON, p));112 SailingClub.add(new Instr(Form.PGON, p)); 113 113 } 114 114 public static final Symbol Shower = new Symbol(); 115 115 static { 116 Shower.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));117 Shower.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));118 Shower.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));119 Shower.add(new Instr( Prim.FILL, new Color(0xa30075)));120 Shower.add(new Instr( Prim.LINE, new Line2D.Double(-4.8,-24.5,6.2,-13.5)));121 Shower.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));122 Shower.add(new Instr( Prim.LINE, new Line2D.Double(-18.1,-17.9,-6.1,-21.3)));123 Shower.add(new Instr( Prim.LINE, new Line2D.Double(-13.9,-10.2,-3.9,-17.7)));124 Shower.add(new Instr( Prim.LINE, new Line2D.Double(-7.8,-4.4,-0.5,-14.3)));125 Shower.add(new Instr( Prim.LINE, new Line2D.Double(-0.2,-0.2,3.1,-12.1)));116 Shower.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 117 Shower.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 118 Shower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 119 Shower.add(new Instr(Form.FILL, new Color(0xa30075))); 120 Shower.add(new Instr(Form.LINE, new Line2D.Double(-4.8,-24.5,6.2,-13.5))); 121 Shower.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 122 Shower.add(new Instr(Form.LINE, new Line2D.Double(-18.1,-17.9,-6.1,-21.3))); 123 Shower.add(new Instr(Form.LINE, new Line2D.Double(-13.9,-10.2,-3.9,-17.7))); 124 Shower.add(new Instr(Form.LINE, new Line2D.Double(-7.8,-4.4,-0.5,-14.3))); 125 Shower.add(new Instr(Form.LINE, new Line2D.Double(-0.2,-0.2,3.1,-12.1))); 126 126 Path2D.Double p = new Path2D.Double(); p.moveTo(11.1,24.6); p.lineTo(11.1,-16.0); p.curveTo(11.1,-22.7,3.4,-23.6,0.8,-19.3); 127 Shower.add(new Instr( Prim.PLIN, p));127 Shower.add(new Instr(Form.PLIN, p)); 128 128 } 129 129 public static final Symbol Slipway = new Symbol(); 130 130 static { 131 Slipway.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));132 Slipway.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));133 Slipway.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));134 Slipway.add(new Instr( Prim.FILL, new Color(0xa30075)));131 Slipway.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 132 Slipway.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 133 Slipway.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 134 Slipway.add(new Instr(Form.FILL, new Color(0xa30075))); 135 135 Path2D.Double p = new Path2D.Double(); p.moveTo(-24.8,0.1); p.lineTo(-24.8,18.0); p.curveTo(-21.2,18.0,-22.2,16.7,-18.6,16.7); p.curveTo(-15.0,16.7,-16.0,18.0,-12.4,18.0); 136 136 p.curveTo(-8.8,18.0,-9.8,16.7,-6.2,16.7); p.curveTo(-2.6,16.7,-3.6,18.0,0.0,18.0); p.curveTo(3.6,18.0,2.6,16.7,6.2,16.7); p.curveTo(9.8,16.7,8.8,18.0,12.4,18.0); 137 137 p.curveTo(16.0,18.0,15.0,16.7,18.6,16.7); p.curveTo(22.2,16.7,21.2,18.0,24.8,18.0); p.lineTo(24.8,13.6); p.closePath(); 138 Slipway.add(new Instr( Prim.PGON, p));139 Slipway.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-1.65,-1.9,8,8)));140 Slipway.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));141 Slipway.add(new Instr( Prim.LINE, new Line2D.Double(-24.5,-8.3,-3.1,-2.4)));142 Slipway.add(new Instr( Prim.LINE, new Line2D.Double(9.3,1.1,22.2,4.6)));138 Slipway.add(new Instr(Form.PGON, p)); 139 Slipway.add(new Instr(Form.ELPS, new Ellipse2D.Double(-1.65,-1.9,8,8))); 140 Slipway.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 141 Slipway.add(new Instr(Form.LINE, new Line2D.Double(-24.5,-8.3,-3.1,-2.4))); 142 Slipway.add(new Instr(Form.LINE, new Line2D.Double(9.3,1.1,22.2,4.6))); 143 143 p = new Path2D.Double(); p.moveTo(22.9,0.6); p.lineTo(25.0,-7.4); p.lineTo(-5.1,-15.8); p.lineTo(0.3,-19.6); p.lineTo(-1.6,-20.1); p.lineTo(-7.2,-16.2); 144 144 p.lineTo(-17.1,-18.9); p.quadTo(-16.8,-11.4,-7.7,-7.7); p.closePath(); 145 Slipway.add(new Instr( Prim.PGON, p));145 Slipway.add(new Instr(Form.PGON, p)); 146 146 } 147 147 public static final Symbol Toilet = new Symbol(); 148 148 static { 149 Toilet.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));150 Toilet.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));151 Toilet.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));152 Toilet.add(new Instr( Prim.FILL, new Color(0xa30075)));153 Toilet.add(new Instr( Prim.LINE, new Line2D.Double(0,20,0,-20)));154 Toilet.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-18.5,-22.5,7.4,7.4)));155 Toilet.add(new Instr( Prim.RSHP, new Ellipse2D.Double(11,-22.5,7.4,7.4)));149 Toilet.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 150 Toilet.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null))); 151 Toilet.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 152 Toilet.add(new Instr(Form.FILL, new Color(0xa30075))); 153 Toilet.add(new Instr(Form.LINE, new Line2D.Double(0,20,0,-20))); 154 Toilet.add(new Instr(Form.RSHP, new Ellipse2D.Double(-18.5,-22.5,7.4,7.4))); 155 Toilet.add(new Instr(Form.RSHP, new Ellipse2D.Double(11,-22.5,7.4,7.4))); 156 156 Path2D.Double p = new Path2D.Double(); p.moveTo(-9.8,-12.2); p.lineTo(-4.8,2.7); p.lineTo(-7.3,3.9); p.lineTo(-10.6,-7.0); p.lineTo(-11.7,-6.4); p.lineTo(-7.6,9.0); 157 157 p.lineTo(-11.3,9.0); p.lineTo(-11.6,22.1); p.lineTo(-13.9,22.1); p.lineTo(-14.2,9.0); p.lineTo(-15.8,9.0); p.lineTo(-16.2,22.1); p.lineTo(-18.4,22.1); 158 158 p.lineTo(-18.8,9.0); p.lineTo(-22.3,9.0); p.lineTo(-18.2,-6.4); p.lineTo(-19.1,-7.0); p.lineTo(-22.9,3.9); p.lineTo(-25.1,2.7); p.lineTo(-19.9,-12.2); p.closePath(); 159 Toilet.add(new Instr( Prim.PGON, p));159 Toilet.add(new Instr(Form.PGON, p)); 160 160 p = new Path2D.Double(); p.moveTo(19.2,-12.2); p.lineTo(22.3,-10.1); p.lineTo(22.3,4.4); p.lineTo(20.2,4.4); p.lineTo(20.2,-7.3); p.lineTo(18.3,-7.3); p.lineTo(18.3,22.1); 161 161 p.lineTo(15.8,22.1); p.lineTo(15.8,4.6); p.lineTo(13.8,4.6); p.lineTo(13.4,22.1); p.lineTo(11.0,22.1); p.lineTo(11.0,-7.3); p.lineTo(9.5,-7.3); p.lineTo(9.5,4.4); p.lineTo(6.8,4.4); 162 162 p.lineTo(6.8,-10.1); p.lineTo(9.4,-12.2); p.closePath(); 163 Toilet.add(new Instr( Prim.PGON, p));163 Toilet.add(new Instr(Form.PGON, p)); 164 164 } 165 165 public static final Symbol VisitorBerth = new Symbol(); 166 166 static { 167 VisitorBerth.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));168 VisitorBerth.add(new Instr( Prim.FILL, new Color(0xa30075)));169 VisitorBerth.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-25,-25,50,50)));170 VisitorBerth.add(new Instr( Prim.FILL, Color.white));167 VisitorBerth.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 168 VisitorBerth.add(new Instr(Form.FILL, new Color(0xa30075))); 169 VisitorBerth.add(new Instr(Form.RSHP, new Ellipse2D.Double(-25,-25,50,50))); 170 VisitorBerth.add(new Instr(Form.FILL, Color.white)); 171 171 Path2D.Double p = new Path2D.Double(); p.moveTo(7.9,-13.6); p.lineTo(14.0,-13.6); p.lineTo(3.4,13.6); p.lineTo(-3.4,13.6); 172 172 p.lineTo(-14.0,-13.6); p.lineTo(-7.9,-13.6); p.lineTo(0.0,8.7); p.closePath(); 173 VisitorBerth.add(new Instr( Prim.PGON, p));173 VisitorBerth.add(new Instr(Form.PGON, p)); 174 174 } 175 175 public static final Symbol VisitorMooring = new Symbol(); 176 176 static { 177 VisitorMooring.add(new Instr( Prim.FILL, new Color(0xa30075)));177 VisitorMooring.add(new Instr(Form.FILL, new Color(0xa30075))); 178 178 Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0); p.curveTo(-32.0,-21.0,-14.0,-45.5,12.7,-37.9); p.curveTo(27.5,-33.8,37.8,-15.5,32.0,0.0); 179 179 p.lineTo(8.0,0.0); p.curveTo(8.0,-11.0,-8.0,-11.0,-8.0,0.0); p.closePath(); 180 VisitorMooring.add(new Instr( Prim.PGON, p));181 VisitorMooring.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));182 VisitorMooring.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));183 VisitorMooring.add(new Instr( Prim.LINE, new Line2D.Double(-33,0,-10,0)));184 VisitorMooring.add(new Instr( Prim.LINE, new Line2D.Double(10,0,40,0)));185 VisitorMooring.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));186 VisitorMooring.add(new Instr( Prim.ELPS, new Ellipse2D.Double(6.5,-49.5,12,12)));187 VisitorMooring.add(new Instr( Prim.FILL, Color.white));180 VisitorMooring.add(new Instr(Form.PGON, p)); 181 VisitorMooring.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 182 VisitorMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 183 VisitorMooring.add(new Instr(Form.LINE, new Line2D.Double(-33,0,-10,0))); 184 VisitorMooring.add(new Instr(Form.LINE, new Line2D.Double(10,0,40,0))); 185 VisitorMooring.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 186 VisitorMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(6.5,-49.5,12,12))); 187 VisitorMooring.add(new Instr(Form.FILL, Color.white)); 188 188 p = new Path2D.Double(); p.moveTo(8.3,-32.8); p.lineTo(12.5,-32.8); p.lineTo(5.4,-12.9); p.lineTo(1.0,-12.9); p.lineTo(-6.1,-32.8); 189 189 p.lineTo(-1.9,-32.8); p.lineTo(3.2,-18.1); p.closePath(); 190 VisitorMooring.add(new Instr( Prim.PGON, p));190 VisitorMooring.add(new Instr(Form.PGON, p)); 191 191 } 192 192 -
applications/editors/josm/plugins/smed2/src/symbols/Harbours.java
r30150 r30215 20 20 public static final Symbol Anchor = new Symbol(); 21 21 static { 22 Anchor.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-60,-60,120,120)));23 Anchor.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));24 Anchor.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-59,20,20)));22 Anchor.add(new Instr(Form.BBOX, new Rectangle2D.Double(-60,-60,120,120))); 23 Anchor.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 24 Anchor.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-59,20,20))); 25 25 Path2D.Double p = new Path2D.Double(); p.moveTo(23.0,-40.0); p.lineTo(23.0,-30.0); p.lineTo(6.0,-30.0); p.lineTo(7.0,31.0); p.quadTo(21.0,29.0,31.0,22.0); 26 26 p.lineTo(27.0,18.0); p.lineTo(52.0,0.0); p.lineTo(45.0,35.0); p.lineTo(37.0,28.0); p.quadTo(25.0,39.0,7.0,43.0); p.lineTo(6.0,51.0); 27 27 p.lineTo(-6.0,51.0); p.lineTo(-7.0,43.0); p.quadTo(-25.0,39.0,-37.0,28.0); p.lineTo(-45.0,35.0); p.lineTo(-52.0,0.0); p.lineTo(-27.0,18.0); 28 28 p.lineTo(-31.0,22.0); p.quadTo(-21.0,29.0,-7.0,31.0); p.lineTo(-6.0,-30.0); p.lineTo(-23.0,-30.0); p.lineTo(-23.0,-40.0); p.closePath(); 29 Anchor.add(new Instr( Prim.PGON, p));29 Anchor.add(new Instr(Form.PGON, p)); 30 30 } 31 31 public static final Symbol Yacht = new Symbol(); 32 32 static { 33 Yacht.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));33 Yacht.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 34 34 Path2D.Double p = new Path2D.Double(); p.moveTo(-65.0,50.0); p.curveTo(-36.0,97.0,36.0,97.0,65.0,50.0); p.lineTo(3.0,50.0); p.lineTo(3.0,40.0); p.lineTo(55.0,30.0); 35 35 p.curveTo(32.0,4.0,25.0,-15.0,26.0,-52.0); p.lineTo(1.5,-40.0); p.lineTo(1.0,-64.0); p.lineTo(-2.0,-64.0); p.lineTo(-4.0,50.0); p.closePath(); 36 36 p.moveTo(-50.0,45.0); p.curveTo(-55.0,3.0,-37.0,-28.5,-7.0,-46.0); p.curveTo(-28.0,-15.0,-26.0,11.0,-20.5,30.0); p.closePath(); 37 Yacht.add(new Instr( Prim.PGON, p));37 Yacht.add(new Instr(Form.PGON, p)); 38 38 } 39 39 public static final Symbol Anchorage = new Symbol(); 40 40 static { 41 Anchorage.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 1.0, 0, 0, new Scheme(Rules.Msymb), null)));41 Anchorage.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 1.0, 0, 0, new Scheme(Rules.Msymb), null))); 42 42 } 43 43 public static final Symbol Bollard = new Symbol(); 44 44 static { 45 Bollard.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));46 Bollard.add(new Instr( Prim.FILL, Color.white));45 Bollard.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 46 Bollard.add(new Instr(Form.FILL, Color.white)); 47 47 Ellipse2D.Double s = new Ellipse2D.Double(-10,-10,20,20); 48 Bollard.add(new Instr( Prim.RSHP, s));49 Bollard.add(new Instr( Prim.FILL, Color.black));50 Bollard.add(new Instr( Prim.ELPS, s));48 Bollard.add(new Instr(Form.RSHP, s)); 49 Bollard.add(new Instr(Form.FILL, Color.black)); 50 Bollard.add(new Instr(Form.ELPS, s)); 51 51 } 52 52 public static final Symbol ContainerCrane = new Symbol(); 53 53 static { 54 ContainerCrane.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));55 ContainerCrane.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-15,-65,30,100)));56 ContainerCrane.add(new Instr( Prim.RECT, new Rectangle2D.Double(-40,-12.5,80,25)));54 ContainerCrane.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 55 ContainerCrane.add(new Instr(Form.RSHP, new Rectangle2D.Double(-15,-65,30,100))); 56 ContainerCrane.add(new Instr(Form.RECT, new Rectangle2D.Double(-40,-12.5,80,25))); 57 57 } 58 58 public static final Symbol Customs = new Symbol(); 59 59 static { 60 Customs.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));61 Customs.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));62 Customs.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-28,-28,56,56)));63 Customs.add(new Instr( Prim.LINE, new Line2D.Double(-25,5,25,5)));64 Customs.add(new Instr( Prim.LINE, new Line2D.Double(-25,-5,25,-5)));60 Customs.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 61 Customs.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 62 Customs.add(new Instr(Form.ELPS, new Ellipse2D.Double(-28,-28,56,56))); 63 Customs.add(new Instr(Form.LINE, new Line2D.Double(-25,5,25,5))); 64 Customs.add(new Instr(Form.LINE, new Line2D.Double(-25,-5,25,-5))); 65 65 } 66 66 public static final Symbol DeviationDolphin = new Symbol(); 67 67 static { 68 DeviationDolphin.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));68 DeviationDolphin.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 69 69 Path2D.Double p = new Path2D.Double(); p.moveTo(-30.0,0.0); p.lineTo(30.0,0.0); p.moveTo(0.0,0.0); p.lineTo(0.0,-40.0); 70 70 p.moveTo(-20.0,0.0); p.lineTo(-15.0,-32.0); p.lineTo(15.0,-32.0); p.lineTo(20.0,0.0); 71 DeviationDolphin.add(new Instr( Prim.PLIN, p));71 DeviationDolphin.add(new Instr(Form.PLIN, p)); 72 72 } 73 73 public static final Symbol DistanceI = new Symbol(); 74 74 static { 75 DistanceI.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));76 DistanceI.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-11,-11,22,22)));75 DistanceI.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 76 DistanceI.add(new Instr(Form.ELPS, new Ellipse2D.Double(-11,-11,22,22))); 77 77 } 78 78 public static final Symbol DistanceU = new Symbol(); 79 79 static { 80 DistanceU.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));81 DistanceU.add(new Instr( Prim.FILL, Rules.Msymb));82 DistanceU.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-11,-11,22,22)));80 DistanceU.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 81 DistanceU.add(new Instr(Form.FILL, Rules.Msymb)); 82 DistanceU.add(new Instr(Form.ELPS, new Ellipse2D.Double(-11,-11,22,22))); 83 83 } 84 84 public static final Symbol Dolphin = new Symbol(); 85 85 static { 86 Dolphin.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));87 Dolphin.add(new Instr( Prim.FILL, new Color(0xffd400)));86 Dolphin.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 87 Dolphin.add(new Instr(Form.FILL, new Color(0xffd400))); 88 88 Path2D.Double p = new Path2D.Double(); p.moveTo(3.8,-9.2); p.lineTo(9.2,-3.8); p.lineTo(9.2,3.8); p.lineTo(3.8,9.2); 89 89 p.lineTo(-3.8,9.2); p.lineTo(-9.2,3.8); p.lineTo(-9.2,-3.8); p.lineTo(-3.8,-9.2); p.closePath(); 90 Dolphin.add(new Instr( Prim.PGON, p));91 Dolphin.add(new Instr( Prim.FILL, Color.black));92 Dolphin.add(new Instr( Prim.PLIN, p));90 Dolphin.add(new Instr(Form.PGON, p)); 91 Dolphin.add(new Instr(Form.FILL, Color.black)); 92 Dolphin.add(new Instr(Form.PLIN, p)); 93 93 } 94 94 public static final Symbol Explosives = new Symbol(); 95 95 static { 96 Explosives.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));97 Explosives.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-5,25,10,10)));98 Explosives.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));96 Explosives.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 97 Explosives.add(new Instr(Form.RSHP, new Ellipse2D.Double(-5,25,10,10))); 98 Explosives.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 99 99 Path2D.Double p = new Path2D.Double(); p.moveTo(-10,20); p.lineTo(-13,17); p.lineTo(-13,8); 100 100 p.moveTo(0,10); p.lineTo(0,0); p.lineTo(-8,-10); 101 101 p.moveTo(10,17); p.lineTo(18,-10); p.lineTo(10,-20); 102 Explosives.add(new Instr( Prim.PLIN, p));102 Explosives.add(new Instr(Form.PLIN, p)); 103 103 } 104 104 public static final Symbol Fishing = new Symbol(); 105 105 static { 106 Fishing.add(new Instr( Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));107 Fishing.add(new Instr( Prim.FILL, Rules.Msymb));108 Fishing.add(new Instr( Prim.EARC, new Arc2D.Double(-75,-75,150,150,15,140,Arc2D.OPEN)));109 Fishing.add(new Instr( Prim.EARC, new Arc2D.Double(-75,-75,150,150,-15,-140,Arc2D.OPEN)));106 Fishing.add(new Instr(Form.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 107 Fishing.add(new Instr(Form.FILL, Rules.Msymb)); 108 Fishing.add(new Instr(Form.EARC, new Arc2D.Double(-75,-75,150,150,15,140,Arc2D.OPEN))); 109 Fishing.add(new Instr(Form.EARC, new Arc2D.Double(-75,-75,150,150,-15,-140,Arc2D.OPEN))); 110 110 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 111 111 p.moveTo(-40,5); p.curveTo(20,40,50,25,80,0); p.curveTo(50,-25,20,-40,-40,-5); 112 112 p.lineTo(-75,-25); p.quadTo(-80, 0, -75, 25); p.closePath(); 113 113 p.moveTo(42, 0); p.curveTo(42, 10, 56, 10, 56, 0); p.curveTo(56, -10, 42, -10, 42, 0); p.closePath(); 114 Fishing.add(new Instr( Prim.PGON, p));114 Fishing.add(new Instr(Form.PGON, p)); 115 115 } 116 116 public static final Symbol Harbour = new Symbol(); 117 117 static { 118 Harbour.add(new Instr( Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));119 Harbour.add(new Instr( Prim.FILL, Rules.Msymb));120 Harbour.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-75,-75,150,150)));121 Harbour.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 1.0, 0, 0, new Scheme(Rules.Msymb), null)));118 Harbour.add(new Instr(Form.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 119 Harbour.add(new Instr(Form.FILL, Rules.Msymb)); 120 Harbour.add(new Instr(Form.ELPS, new Ellipse2D.Double(-75,-75,150,150))); 121 Harbour.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 1.0, 0, 0, new Scheme(Rules.Msymb), null))); 122 122 } 123 123 public static final Symbol HarbourMaster = new Symbol(); 124 124 static { 125 HarbourMaster.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));126 HarbourMaster.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));127 HarbourMaster.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-24,-28,48,56)));128 HarbourMaster.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, null)));125 HarbourMaster.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 126 HarbourMaster.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 127 HarbourMaster.add(new Instr(Form.ELPS, new Ellipse2D.Double(-24,-28,48,56))); 128 HarbourMaster.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, null))); 129 129 } 130 130 public static final Symbol Hospital = new Symbol(); 131 131 static { 132 Hospital.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));133 Hospital.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));134 Hospital.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-28,-28,56,56)));132 Hospital.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 133 Hospital.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 134 Hospital.add(new Instr(Form.ELPS, new Ellipse2D.Double(-28,-28,56,56))); 135 135 Path2D.Double p = new Path2D.Double(); p.moveTo(-26,-5); p.lineTo(-5,-5); p.lineTo(-5,-25); p.moveTo(5,-25); p.lineTo(5,-5); p.lineTo(25,-5); 136 136 p.moveTo(-25,5); p.lineTo(-5,5); p.lineTo(-5,25); p.moveTo(5,25); p.lineTo(5,5); p.lineTo(25,5); 137 Hospital.add(new Instr( Prim.PLIN, p));137 Hospital.add(new Instr(Form.PLIN, p)); 138 138 } 139 139 public static final Symbol LandingSteps = new Symbol(); 140 140 static { 141 LandingSteps.add(new Instr( Prim.FILL, Rules.Msymb));141 LandingSteps.add(new Instr(Form.FILL, Rules.Msymb)); 142 142 Path2D.Double p = new Path2D.Double(); p.moveTo(-20,-10); p.lineTo(10,20); p.lineTo(20,20); p.lineTo(20,10); 143 143 p.lineTo(10,10); p.lineTo(10,0); p.lineTo(0,0); p.lineTo(0,-10); p.lineTo(-10,-10); p.lineTo(-10,-20); p.lineTo(-20,-20); p.closePath(); 144 LandingSteps.add(new Instr( Prim.PGON, p));144 LandingSteps.add(new Instr(Form.PGON, p)); 145 145 } 146 146 public static final Symbol Lock_Gate = new Symbol(); … … 148 148 public static final Symbol Marina = new Symbol(); 149 149 static { 150 Marina.add(new Instr( Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));151 Marina.add(new Instr( Prim.FILL, Rules.Msymb));152 Marina.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, new Scheme(Rules.Msymb), null)));153 Marina.add(new Instr( Prim.EARC, new Arc2D.Double(-80.0,-80.0,160.0,160.0,215.0,-250.0,Arc2D.OPEN)));150 Marina.add(new Instr(Form.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 151 Marina.add(new Instr(Form.FILL, Rules.Msymb)); 152 Marina.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, new Scheme(Rules.Msymb), null))); 153 Marina.add(new Instr(Form.EARC, new Arc2D.Double(-80.0,-80.0,160.0,160.0,215.0,-250.0,Arc2D.OPEN))); 154 154 } 155 155 public static final Symbol MarinaNF = new Symbol(); 156 156 static { 157 MarinaNF.add(new Instr( Prim.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));158 MarinaNF.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, new Scheme(Rules.Msymb), null)));157 MarinaNF.add(new Instr(Form.STRK, new BasicStroke(15, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 158 MarinaNF.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Yacht, 1.0, 0, 0, new Scheme(Rules.Msymb), null))); 159 159 } 160 160 public static final Symbol Pilot = new Symbol(); 161 161 static{ 162 Pilot.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));163 Pilot.add(new Instr( Prim.FILL, new Color(0xd400d4)));162 Pilot.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 163 Pilot.add(new Instr(Form.FILL, new Color(0xd400d4))); 164 164 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,0); p.lineTo(0,-56); p.lineTo(15,0); p.lineTo(0,56); p.closePath(); 165 Pilot.add(new Instr( Prim.PGON, p));166 Pilot.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-58,-58,116,116)));165 Pilot.add(new Instr(Form.PGON, p)); 166 Pilot.add(new Instr(Form.ELPS, new Ellipse2D.Double(-58,-58,116,116))); 167 167 } 168 168 public static final Symbol PortCrane = new Symbol(); 169 169 static { 170 PortCrane.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));171 PortCrane.add(new Instr( Prim.EARC, new Arc2D.Double(-36.0,-36.0,72.0,72.0,70.0,-320.0,Arc2D.OPEN)));172 PortCrane.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-60)));170 PortCrane.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 171 PortCrane.add(new Instr(Form.EARC, new Arc2D.Double(-36.0,-36.0,72.0,72.0,70.0,-320.0,Arc2D.OPEN))); 172 PortCrane.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-60))); 173 173 } 174 174 public static final Symbol Post = new Symbol(); 175 175 static { 176 Post.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-10,-10,20,20)));176 Post.add(new Instr(Form.RSHP, new Ellipse2D.Double(-10,-10,20,20))); 177 177 } 178 178 public static final Symbol Rescue = new Symbol(); 179 179 static{ 180 Rescue.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));180 Rescue.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 181 181 Path2D.Double p = new Path2D.Double(); p.moveTo(-11,0); p.lineTo(0,-43); p.lineTo(11,0); p.lineTo(0,43); p.closePath(); 182 Rescue.add(new Instr( Prim.PGON, p));183 Rescue.add(new Instr( Prim.LINE, new Line2D.Double(-15,0,15,0)));182 Rescue.add(new Instr(Form.PGON, p)); 183 Rescue.add(new Instr(Form.LINE, new Line2D.Double(-15,0,15,0))); 184 184 } 185 185 public static final Symbol SignalStation = new Symbol(); 186 186 static { 187 SignalStation.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));188 SignalStation.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-25,-25,50,50)));189 SignalStation.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-4,-4,8,8)));187 SignalStation.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 188 SignalStation.add(new Instr(Form.ELPS, new Ellipse2D.Double(-25,-25,50,50))); 189 SignalStation.add(new Instr(Form.RSHP, new Ellipse2D.Double(-4,-4,8,8))); 190 190 } 191 191 public static final Symbol TideGauge = new Symbol(); 192 192 static { 193 TideGauge.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));194 TideGauge.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));195 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(-10,0,-30,0)));196 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(10,0,30,0)));197 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(0,-10,0,-80)));198 TideGauge.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));199 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(-15,-25,15,-25)));200 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(-25,-45,25,-45)));201 TideGauge.add(new Instr( Prim.LINE, new Line2D.Double(-15,-65,15,-65)));193 TideGauge.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 194 TideGauge.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 195 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(-10,0,-30,0))); 196 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(10,0,30,0))); 197 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(0,-10,0,-80))); 198 TideGauge.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 199 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(-15,-25,15,-25))); 200 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(-25,-45,25,-45))); 201 TideGauge.add(new Instr(Form.LINE, new Line2D.Double(-15,-65,15,-65))); 202 202 } 203 203 } -
applications/editors/josm/plugins/smed2/src/symbols/Landmarks.java
r30033 r30215 21 21 private static final Symbol Base = new Symbol(); 22 22 static { 23 Base.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));24 Base.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-10,-10,20,20)));25 Base.add(new Instr( Prim.LINE, new Line2D.Double(-35,0,-10,0)));26 Base.add(new Instr( Prim.LINE, new Line2D.Double(10,0,35,0)));23 Base.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 24 Base.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10,-10,20,20))); 25 Base.add(new Instr(Form.LINE, new Line2D.Double(-35,0,-10,0))); 26 Base.add(new Instr(Form.LINE, new Line2D.Double(10,0,35,0))); 27 27 } 28 28 29 29 public static final Symbol Chimney = new Symbol(); 30 30 static { 31 Chimney.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));32 Chimney.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));31 Chimney.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 32 Chimney.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 33 33 Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(-10.0,-120.0); p.lineTo(10.0,-120.0); p.lineTo(25.0,0.0); 34 34 p.moveTo(-10.0,-128.0); p.curveTo(-13.0,-147.0,15.0,-159.0,20.0,-148.0); 35 35 p.moveTo(16.0,-152.3); p.curveTo(58.0,-194.0,98.0,-87.0,16.0,-132.0); 36 36 p.moveTo(11.0,-128.0); p.curveTo(13.4,-132.0,20.0,-132.0,20.0,-136.0); 37 Chimney.add(new Instr( Prim.PLIN, p));37 Chimney.add(new Instr(Form.PLIN, p)); 38 38 } 39 39 public static final Symbol Church = new Symbol(); … … 44 44 p.lineTo(-50.0,21.0); p.lineTo(-50.0,-21.0); p.lineTo(-48.0,-21.0); p.quadTo(-48.0,-10.0,-37.0,-10.0); p.lineTo(-10.0,-10.0); p.lineTo(-10.0,-37.0); 45 45 p.quadTo(-10.0,-48.0,-21.0,-48.0); p.lineTo(-21.0,-50.0); p.lineTo(21.0,-50.0); p.lineTo(21.0,-48.0); p.quadTo(10.0,-48.0,10.0,-37.0); p.closePath(); 46 Church.add(new Instr( Prim.PGON, p));46 Church.add(new Instr(Form.PGON, p)); 47 47 } 48 48 public static final Symbol ChurchTower = new Symbol(); 49 49 static { 50 ChurchTower.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));51 ChurchTower.add(new Instr( Prim.RECT, new Rectangle2D.Double(-36,-36,72,72)));52 ChurchTower.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-2,-2,4,4)));50 ChurchTower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 51 ChurchTower.add(new Instr(Form.RECT, new Rectangle2D.Double(-36,-36,72,72))); 52 ChurchTower.add(new Instr(Form.ELPS, new Ellipse2D.Double(-2,-2,4,4))); 53 53 } 54 54 public static final Symbol Cross = new Symbol(); 55 55 static { 56 Cross.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));57 Cross.add(new Instr( Prim.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));58 Cross.add(new Instr( Prim.LINE, new Line2D.Double(0,-10,0,-150)));59 Cross.add(new Instr( Prim.LINE, new Line2D.Double(-30,-115,30,-115)));56 Cross.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 57 Cross.add(new Instr(Form.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 58 Cross.add(new Instr(Form.LINE, new Line2D.Double(0,-10,0,-150))); 59 Cross.add(new Instr(Form.LINE, new Line2D.Double(-30,-115,30,-115))); 60 60 } 61 61 public static final Symbol DishAerial = new Symbol(); 62 62 static { 63 DishAerial.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));64 DishAerial.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));63 DishAerial.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 64 DishAerial.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL))); 65 65 Path2D.Double p = new Path2D.Double(); p.moveTo(-7.8,-6.0); p.lineTo(0.0,-62.0); p.lineTo(7.8,-6.0); p.moveTo(18.0,-109.0); p.lineTo(25.0,-113.0); 66 66 p.moveTo(-9.5,-157.0); p.curveTo(-60.7,-125.5,-16.5,-33.9,44.9,-61.7); p.closePath(); 67 DishAerial.add(new Instr( Prim.PLIN, p));67 DishAerial.add(new Instr(Form.PLIN, p)); 68 68 } 69 69 public static final Symbol Dome = new Symbol(); 70 70 static { 71 Dome.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));72 Dome.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-36,-36,72,72)));73 Dome.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-4,-4,8,8)));71 Dome.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 72 Dome.add(new Instr(Form.ELPS, new Ellipse2D.Double(-36,-36,72,72))); 73 Dome.add(new Instr(Form.RSHP, new Ellipse2D.Double(-4,-4,8,8))); 74 74 } 75 75 public static final Symbol Flagstaff = new Symbol(); 76 76 static { 77 Flagstaff.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));78 Flagstaff.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));77 Flagstaff.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 78 Flagstaff.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 79 79 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(0.0,-150.0); p.moveTo(0.0,-140.0); p.lineTo(40.0,-140.0); p.lineTo(40.0,-100.0); p.lineTo(0.0,-100.0); 80 Flagstaff.add(new Instr( Prim.PLIN, p));80 Flagstaff.add(new Instr(Form.PLIN, p)); 81 81 } 82 82 public static final Symbol FlareStack = new Symbol(); 83 83 static { 84 FlareStack.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));85 FlareStack.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));84 FlareStack.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 85 FlareStack.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 86 86 Path2D.Double p = new Path2D.Double(); p.moveTo(-7.8,-6.0); p.lineTo(-7.8,-100.0); p.lineTo(7.8,-100.0); p.lineTo(7.8,-6.0); 87 FlareStack.add(new Instr( Prim.PLIN, p));88 FlareStack.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));87 FlareStack.add(new Instr(Form.PLIN, p)); 88 FlareStack.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 89 89 p = new Path2D.Double(); p.moveTo(21.6,-169.6); p.curveTo(-22.0,-132.4,-27.4,-103.5,3.0,-100.0); p.curveTo(39.0,-118.0,-4.0,-141.0,21.6,-169.6); 90 FlareStack.add(new Instr( Prim.PLIN, p));90 FlareStack.add(new Instr(Form.PLIN, p)); 91 91 } 92 92 public static final Symbol LandTower = new Symbol(); 93 93 static { 94 LandTower.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));95 LandTower.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));96 LandTower.add(new Instr( Prim.LINE, new Line2D.Double(-25,0,-15,-120)));97 LandTower.add(new Instr( Prim.LINE, new Line2D.Double(25,0,15,-120)));98 LandTower.add(new Instr( Prim.RECT, new Rectangle2D.Double(-15,-150,30,30)));94 LandTower.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 95 LandTower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 96 LandTower.add(new Instr(Form.LINE, new Line2D.Double(-25,0,-15,-120))); 97 LandTower.add(new Instr(Form.LINE, new Line2D.Double(25,0,15,-120))); 98 LandTower.add(new Instr(Form.RECT, new Rectangle2D.Double(-15,-150,30,30))); 99 99 } 100 100 public static final Symbol Mast = new Symbol(); 101 101 static { 102 Mast.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));103 Mast.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)));102 Mast.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 103 Mast.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL))); 104 104 Path2D.Double p = new Path2D.Double(); p.moveTo(-25.0,0.0); p.lineTo(0.0,-150.0); p.lineTo(25.0,0.0); 105 Mast.add(new Instr( Prim.PLIN, p));105 Mast.add(new Instr(Form.PLIN, p)); 106 106 } 107 107 public static final Symbol Monument = new Symbol(); 108 108 static { 109 Monument.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));110 Monument.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));111 Monument.add(new Instr( Prim.LINE, new Line2D.Double(-25,0,-15,-105)));112 Monument.add(new Instr( Prim.LINE, new Line2D.Double(25,0,15,-105)));113 Monument.add(new Instr( Prim.EARC, new Arc2D.Double(-25.0,-150.0,50.0,50.0,233.0,-285.0,Arc2D.OPEN)));109 Monument.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 110 Monument.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 111 Monument.add(new Instr(Form.LINE, new Line2D.Double(-25,0,-15,-105))); 112 Monument.add(new Instr(Form.LINE, new Line2D.Double(25,0,15,-105))); 113 Monument.add(new Instr(Form.EARC, new Arc2D.Double(-25.0,-150.0,50.0,50.0,233.0,-285.0,Arc2D.OPEN))); 114 114 } 115 115 public static final Symbol Platform = new Symbol(); 116 116 static { 117 Platform.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));118 Platform.add(new Instr( Prim.RECT, new Rectangle2D.Double(-48,-48,96,96)));119 Platform.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-4,-4,8,8)));117 Platform.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 118 Platform.add(new Instr(Form.RECT, new Rectangle2D.Double(-48,-48,96,96))); 119 Platform.add(new Instr(Form.RSHP, new Ellipse2D.Double(-4,-4,8,8))); 120 120 } 121 121 public static final Symbol RadioTV = new Symbol(); 122 122 static { 123 RadioTV.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)));124 RadioTV.add(new Instr( Prim.EARC, new Arc2D.Double(-30.0,-180.0,60.0,60.0,45.0,-90.0,Arc2D.OPEN)));125 RadioTV.add(new Instr( Prim.EARC, new Arc2D.Double(-45.0,-195.0,90.0,90.0,45.0,-90.0,Arc2D.OPEN)));126 RadioTV.add(new Instr( Prim.EARC, new Arc2D.Double(-30.0,-180.0,60.0,60.0,225.0,-90.0,Arc2D.OPEN)));127 RadioTV.add(new Instr( Prim.EARC, new Arc2D.Double(-45.0,-195.0,90.0,90.0,225.0,-90.0,Arc2D.OPEN)));123 RadioTV.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL))); 124 RadioTV.add(new Instr(Form.EARC, new Arc2D.Double(-30.0,-180.0,60.0,60.0,45.0,-90.0,Arc2D.OPEN))); 125 RadioTV.add(new Instr(Form.EARC, new Arc2D.Double(-45.0,-195.0,90.0,90.0,45.0,-90.0,Arc2D.OPEN))); 126 RadioTV.add(new Instr(Form.EARC, new Arc2D.Double(-30.0,-180.0,60.0,60.0,225.0,-90.0,Arc2D.OPEN))); 127 RadioTV.add(new Instr(Form.EARC, new Arc2D.Double(-45.0,-195.0,90.0,90.0,225.0,-90.0,Arc2D.OPEN))); 128 128 } 129 129 public static final Symbol Spire = new Symbol(); 130 130 static { 131 Spire.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));132 Spire.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-25,-25,50,50)));133 Spire.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-4,-4,8,8)));131 Spire.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 132 Spire.add(new Instr(Form.ELPS, new Ellipse2D.Double(-25,-25,50,50))); 133 Spire.add(new Instr(Form.RSHP, new Ellipse2D.Double(-4,-4,8,8))); 134 134 } 135 135 public static final Symbol Minaret = new Symbol(); 136 136 static { 137 Minaret.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Spire, 1.0, 0, 0, null, null)));138 Minaret.add(new Instr( Prim.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));139 Minaret.add(new Instr( Prim.LINE, new Line2D.Double(0,-25,0,-50)));140 Minaret.add(new Instr( Prim.STRK, new BasicStroke(6, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));141 Minaret.add(new Instr( Prim.EARC, new Arc2D.Double(-40.0,-110.0,80.0,60.0,180.0,180.0,Arc2D.OPEN)));137 Minaret.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Spire, 1.0, 0, 0, null, null))); 138 Minaret.add(new Instr(Form.STRK, new BasicStroke(6, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 139 Minaret.add(new Instr(Form.LINE, new Line2D.Double(0,-25,0,-50))); 140 Minaret.add(new Instr(Form.STRK, new BasicStroke(6, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 141 Minaret.add(new Instr(Form.EARC, new Arc2D.Double(-40.0,-110.0,80.0,60.0,180.0,180.0,Arc2D.OPEN))); 142 142 } 143 143 public static final Symbol Temple = new Symbol(); 144 144 static { 145 Temple.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));146 Temple.add(new Instr( Prim.RECT, new Rectangle2D.Double(-25,-15,50,30)));147 Temple.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));148 Temple.add(new Instr( Prim.LINE, new Line2D.Double(-35,-21,35,21)));149 Temple.add(new Instr( Prim.LINE, new Line2D.Double(-35,21,35,-21)));145 Temple.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 146 Temple.add(new Instr(Form.RECT, new Rectangle2D.Double(-25,-15,50,30))); 147 Temple.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 148 Temple.add(new Instr(Form.LINE, new Line2D.Double(-35,-21,35,21))); 149 Temple.add(new Instr(Form.LINE, new Line2D.Double(-35,21,35,-21))); 150 150 } 151 151 public static final Symbol WaterTower = new Symbol(); 152 152 static { 153 WaterTower.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));154 WaterTower.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));155 WaterTower.add(new Instr( Prim.LINE, new Line2D.Double(-25,0,-15,-120)));156 WaterTower.add(new Instr( Prim.LINE, new Line2D.Double(25,0,15,-120)));157 WaterTower.add(new Instr( Prim.RECT, new Rectangle2D.Double(-25,-150,50,30)));153 WaterTower.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 154 WaterTower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 155 WaterTower.add(new Instr(Form.LINE, new Line2D.Double(-25,0,-15,-120))); 156 WaterTower.add(new Instr(Form.LINE, new Line2D.Double(25,0,15,-120))); 157 WaterTower.add(new Instr(Form.RECT, new Rectangle2D.Double(-25,-150,50,30))); 158 158 } 159 159 public static final Symbol WindMotor = new Symbol(); 160 160 static { 161 WindMotor.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));162 WindMotor.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));163 WindMotor.add(new Instr( Prim.LINE, new Line2D.Double(0,-10,0,-90)));164 WindMotor.add(new Instr( Prim.LINE, new Line2D.Double(0,-90,30,-90)));165 WindMotor.add(new Instr( Prim.LINE, new Line2D.Double(0,-90,-14,-116.6)));166 WindMotor.add(new Instr( Prim.LINE, new Line2D.Double(0,-90,-14.3,-66.7)));161 WindMotor.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 162 WindMotor.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 163 WindMotor.add(new Instr(Form.LINE, new Line2D.Double(0,-10,0,-90))); 164 WindMotor.add(new Instr(Form.LINE, new Line2D.Double(0,-90,30,-90))); 165 WindMotor.add(new Instr(Form.LINE, new Line2D.Double(0,-90,-14,-116.6))); 166 WindMotor.add(new Instr(Form.LINE, new Line2D.Double(0,-90,-14.3,-66.7))); 167 167 } 168 168 public static final Symbol Windmill = new Symbol(); 169 169 static { 170 Windmill.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));171 Windmill.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-12,-12,24,24)));172 Windmill.add(new Instr( Prim.LINE, new Line2D.Double(-30,-42,30,10)));173 Windmill.add(new Instr( Prim.LINE, new Line2D.Double(-30,10,30,-42)));170 Windmill.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 171 Windmill.add(new Instr(Form.ELPS, new Ellipse2D.Double(-12,-12,24,24))); 172 Windmill.add(new Instr(Form.LINE, new Line2D.Double(-30,-42,30,10))); 173 Windmill.add(new Instr(Form.LINE, new Line2D.Double(-30,10,30,-42))); 174 174 } 175 175 public static final Symbol Windsock = new Symbol(); 176 176 static { 177 Windsock.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null)));178 Windsock.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));179 Windsock.add(new Instr( Prim.LINE, new Line2D.Double(0,-10,0,-100)));180 Windsock.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));181 Windsock.add(new Instr( Prim.LINE, new Line2D.Double(0,-100,0,-150)));182 Windsock.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));177 Windsock.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Landmarks.Base, 1.0, 0, 0, null, null))); 178 Windsock.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 179 Windsock.add(new Instr(Form.LINE, new Line2D.Double(0,-10,0,-100))); 180 Windsock.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 181 Windsock.add(new Instr(Form.LINE, new Line2D.Double(0,-100,0,-150))); 182 Windsock.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 183 183 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-100.0); p.lineTo(10.0,-100.0); p.lineTo(10.0,-150.0); p.lineTo(0.0,-150.0); 184 184 p.moveTo(10.0,-150.0); p.lineTo(50.0,-145.0); p.lineTo(120.0,-70.0); p.quadTo(120.0,-55.0,105.0,-55.0); 185 185 p.lineTo(55,-95); p.lineTo(40,-102); p.lineTo(10,-100); p.moveTo(40,-102); p.lineTo(50,-120); p.moveTo(55,-95); p.lineTo(75,-97); 186 Windsock.add(new Instr( Prim.PLIN, p));186 Windsock.add(new Instr(Form.PLIN, p)); 187 187 } 188 188 -
applications/editors/josm/plugins/smed2/src/symbols/Notices.java
r30033 r30215 27 27 p.closePath(); p.moveTo(8.4,-4.3); p.curveTo(9.0,-9.3,9.0,-11.4,11.2,-13.0); p.curveTo(12.8,-15.0,12.8,-16.7,11.0,-18.6); p.curveTo(4.0,-22.2,-4.0,-22.2,-11.0,-18.6); 28 28 p.curveTo(-12.8,-16.7,-12.8,-15.0,-11.2,-13.0); p.curveTo(-9.0,-11.3,-8.7,-9.5,-8.4,-6.5); p.closePath(); 29 Bollard.add(new Instr( Prim.PGON, p));29 Bollard.add(new Instr(Form.PGON, p)); 30 30 } 31 31 private static final Symbol Motor = new Symbol(); … … 35 35 p.curveTo(-5.3,-19.2,-11.6,-18.3,-13.7,-13.7); p.curveTo(-14.3,-12.2,-14.0,-11.2,-12.5,-10.6); p.curveTo(-8.6,-9.6,-5.3,-6.0,-4.0,-3.4); p.curveTo(-5.4,-2.6,-6.2,-2.0,-6.2,0.2); 36 36 p.curveTo(-12.8,-1.0,-17.5,3.7,-17.5,9.3); p.curveTo(-17.5,14.7,-12.6,18.8,-8.0,17.6); p.curveTo(-7.0,17.2,-6.6,16.2,-7.2,14.6); p.curveTo(-7.7,12.4,-7.0,7.7,-5.0,4.3); p.closePath(); 37 Motor.add(new Instr( Prim.PGON, p));37 Motor.add(new Instr(Form.PGON, p)); 38 38 } 39 39 private static final Symbol Rowboat = new Symbol(); 40 40 static { 41 41 Path2D.Double p = new Path2D.Double(); p.moveTo(-17.5,-2.0); p.lineTo(17.5,-2.0); p.lineTo(15.0,6.0); p.lineTo(-11.0,6.0); p.closePath(); 42 Rowboat.add(new Instr( Prim.PGON, p));43 Rowboat.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-6,-17.5,6,6)));44 Rowboat.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));45 Rowboat.add(new Instr( Prim.LINE, new Line2D.Double(-5.5,-9,-8,0)));46 Rowboat.add(new Instr( Prim.LINE, new Line2D.Double(-5.0,10.0,-7.5,14.0)));47 Rowboat.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));48 Rowboat.add(new Instr( Prim.LINE, new Line2D.Double(-5.5,-9,7,-6.5)));49 Rowboat.add(new Instr( Prim.LINE, new Line2D.Double(7.3,-7.8,-5.0,10.0)));42 Rowboat.add(new Instr(Form.PGON, p)); 43 Rowboat.add(new Instr(Form.RSHP, new Ellipse2D.Double(-6,-17.5,6,6))); 44 Rowboat.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 45 Rowboat.add(new Instr(Form.LINE, new Line2D.Double(-5.5,-9,-8,0))); 46 Rowboat.add(new Instr(Form.LINE, new Line2D.Double(-5.0,10.0,-7.5,14.0))); 47 Rowboat.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 48 Rowboat.add(new Instr(Form.LINE, new Line2D.Double(-5.5,-9,7,-6.5))); 49 Rowboat.add(new Instr(Form.LINE, new Line2D.Double(7.3,-7.8,-5.0,10.0))); 50 50 } 51 51 private static final Symbol Sailboard = new Symbol(); 52 52 static { 53 53 Path2D.Double p = new Path2D.Double(); p.moveTo(-6.0,19.0); p.quadTo(-4.0,-5,1.5,-20.0); p.quadTo(14,-7,15.5,6.5); p.quadTo(7,17,-6.0,19.0); p.closePath(); 54 Sailboard.add(new Instr( Prim.PGON, p));55 Sailboard.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));56 Sailboard.add(new Instr( Prim.LINE, new Line2D.Double(-2,20,-10,20)));57 Sailboard.add(new Instr( Prim.LINE, new Line2D.Double(-13,2.5,-3,2.5)));58 Sailboard.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-15,-4,5,5)));59 Sailboard.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));54 Sailboard.add(new Instr(Form.PGON, p)); 55 Sailboard.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 56 Sailboard.add(new Instr(Form.LINE, new Line2D.Double(-2,20,-10,20))); 57 Sailboard.add(new Instr(Form.LINE, new Line2D.Double(-13,2.5,-3,2.5))); 58 Sailboard.add(new Instr(Form.RSHP, new Ellipse2D.Double(-15,-4,5,5))); 59 Sailboard.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 60 60 p = new Path2D.Double(); p.moveTo(-13,2.5); p.lineTo(-12,6.0); p.lineTo(-12,9.5); 61 Sailboard.add(new Instr( Prim.PLIN, p));62 Sailboard.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));61 Sailboard.add(new Instr(Form.PLIN, p)); 62 Sailboard.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 63 63 p = new Path2D.Double(); p.moveTo(-12,9.5); p.lineTo(-7.5,13.0); p.lineTo(-6.0,19.0); 64 Sailboard.add(new Instr( Prim.PLIN, p));64 Sailboard.add(new Instr(Form.PLIN, p)); 65 65 } 66 66 private static final Symbol Sailboat = new Symbol(); 67 67 static { 68 68 Path2D.Double p = new Path2D.Double(); p.moveTo(3.75,-20.5); p.lineTo(3.75,8.5); p.lineTo(-19.5,8.5); p.closePath(); 69 Sailboat.add(new Instr( Prim.PGON, p));69 Sailboat.add(new Instr(Form.PGON, p)); 70 70 p = new Path2D.Double(); p.moveTo(-19.5,12.0); p.lineTo(19.5,12.0); p.lineTo(13.0,20.5); p.lineTo(-16.0,20.5); p.closePath(); 71 Sailboat.add(new Instr( Prim.PGON, p));71 Sailboat.add(new Instr(Form.PGON, p)); 72 72 } 73 73 private static final Symbol Slipway = new Symbol(); … … 75 75 Path2D.Double p = new Path2D.Double(); p.moveTo(-17,-5.5); p.lineTo(-13.5,0); p.lineTo(4,-1.5); p.quadTo(18,-5,20,-13.5); p.closePath(); 76 76 p.moveTo(-14,7); p.lineTo(-14,11); p.lineTo(20,11); p.lineTo(20,2); p.closePath(); 77 Slipway.add(new Instr( Prim.PGON, p));78 Slipway.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));79 Slipway.add(new Instr( Prim.LINE, new Line2D.Double(-14,3,20,-2.5)));80 Slipway.add(new Instr( Prim.STRK, new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));81 Slipway.add(new Instr( Prim.ELPS, new Ellipse2D.Double(1,1.5,3,3)));77 Slipway.add(new Instr(Form.PGON, p)); 78 Slipway.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 79 Slipway.add(new Instr(Form.LINE, new Line2D.Double(-14,3,20,-2.5))); 80 Slipway.add(new Instr(Form.STRK, new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 81 Slipway.add(new Instr(Form.ELPS, new Ellipse2D.Double(1,1.5,3,3))); 82 82 p = new Path2D.Double(); p.moveTo(-21,8.5); p.curveTo(-17.5, 5, -17.5, 12, -13, 7.2); 83 Slipway.add(new Instr( Prim.PLIN, p));83 Slipway.add(new Instr(Form.PLIN, p)); 84 84 } 85 85 private static final Symbol Speedboat = new Symbol(); 86 86 static { 87 Speedboat.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));88 Speedboat.add(new Instr( Prim.LINE, new Line2D.Double(-21,0,-17,-1)));87 Speedboat.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 88 Speedboat.add(new Instr(Form.LINE, new Line2D.Double(-21,0,-17,-1))); 89 89 Path2D.Double p = new Path2D.Double(); p.moveTo(-17.5,8.5); p.curveTo(-10.5,13,-2.5,2,4,6); p.curveTo(12,2,11.5,9.5,20,6); 90 Speedboat.add(new Instr( Prim.PLIN, p));90 Speedboat.add(new Instr(Form.PLIN, p)); 91 91 p = new Path2D.Double(); p.moveTo(-18.5,1.5); p.lineTo(-16,6); p.curveTo(-9, 9.0, -3.5, -2.0, 4.5, 3.5); p.lineTo(14.5,0); p.quadTo(19, -3, 19.5, -9); 92 92 p.lineTo(9.5,-6); p.lineTo(6.5,-8); p.lineTo(2.5,-4); p.closePath(); 93 Speedboat.add(new Instr( Prim.PGON, p));94 Speedboat.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-1.5,-13,5,5)));95 Speedboat.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));96 Speedboat.add(new Instr( Prim.LINE, new Line2D.Double(-2,-7,-5,0)));97 Speedboat.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));98 Speedboat.add(new Instr( Prim.LINE, new Line2D.Double(-2,-7,5,-5)));93 Speedboat.add(new Instr(Form.PGON, p)); 94 Speedboat.add(new Instr(Form.RSHP, new Ellipse2D.Double(-1.5,-13,5,5))); 95 Speedboat.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 96 Speedboat.add(new Instr(Form.LINE, new Line2D.Double(-2,-7,-5,0))); 97 Speedboat.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 98 Speedboat.add(new Instr(Form.LINE, new Line2D.Double(-2,-7,5,-5))); 99 99 } 100 100 private static final Symbol Turn = new Symbol(); 101 101 static { 102 Turn.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));103 Turn.add(new Instr( Prim.EARC, new Arc2D.Double(-9.0,-9.0,18.0,18.0,270.0,230.0,Arc2D.OPEN)));104 Turn.add(new Instr( Prim.EARC, new Arc2D.Double(-20.0,-20.0,40.0,40.0,315.0,-280.0,Arc2D.OPEN)));102 Turn.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 103 Turn.add(new Instr(Form.EARC, new Arc2D.Double(-9.0,-9.0,18.0,18.0,270.0,230.0,Arc2D.OPEN))); 104 Turn.add(new Instr(Form.EARC, new Arc2D.Double(-20.0,-20.0,40.0,40.0,315.0,-280.0,Arc2D.OPEN))); 105 105 Path2D.Double p = new Path2D.Double(); p.moveTo(21.8,-7.0); p.lineTo(18.8,-18.2); p.lineTo(10.5,-10.0); p.closePath(); 106 106 p.moveTo(-12.9,0.7); p.lineTo(-1.7,-2.3); p.lineTo(-9.9,-10.5); p.closePath(); 107 Turn.add(new Instr( Prim.PGON, p));107 Turn.add(new Instr(Form.PGON, p)); 108 108 } 109 109 private static final Symbol Waterbike = new Symbol(); 110 110 static { 111 111 Path2D.Double p = new Path2D.Double(); p.moveTo(-17.5,13); p.curveTo(-10.5,17.5,-2.5,6.5,4,10.5); p.curveTo(12,6.5,11.5,14,20,10.5); 112 Waterbike.add(new Instr( Prim.PLIN, p));112 Waterbike.add(new Instr(Form.PLIN, p)); 113 113 p = new Path2D.Double(); p.moveTo(-16.5,9.5); p.lineTo(-16,10.5); p.curveTo(-9, 13.5, -3.5, 2.5, 4.5, 8); p.quadTo(15, 4, 19.5, -4); p.closePath(); 114 114 p.moveTo(19.5,-5); p.lineTo(1, -5); p.lineTo(-4.5, -10); p.lineTo(-5.5, -10); p.lineTo(2, -2); p.lineTo(-15, 4); p.lineTo(-16, 8); p.closePath(); 115 Waterbike.add(new Instr( Prim.PGON, p));116 Waterbike.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));115 Waterbike.add(new Instr(Form.PGON, p)); 116 Waterbike.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 117 117 p = new Path2D.Double(); p.moveTo(-7,1); p.lineTo(-7.5,-1.5); p.lineTo(-12.5,-3.5); p.lineTo(-11.5,-10.5); 118 Waterbike.add(new Instr( Prim.PLIN, p));119 Waterbike.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));120 Waterbike.add(new Instr( Prim.LINE, new Line2D.Double(-11.5,-10.5,-3,-8.5)));121 Waterbike.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-11.5,-18,5,5)));118 Waterbike.add(new Instr(Form.PLIN, p)); 119 Waterbike.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 120 Waterbike.add(new Instr(Form.LINE, new Line2D.Double(-11.5,-10.5,-3,-8.5))); 121 Waterbike.add(new Instr(Form.RSHP, new Ellipse2D.Double(-11.5,-18,5,5))); 122 122 } 123 123 private static final Symbol Waterski = new Symbol(); 124 124 static { 125 Waterski.add(new Instr( Prim.RSHP, new Ellipse2D.Double(12,-18,6,6)));126 Waterski.add(new Instr( Prim.STRK, new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));127 Waterski.add(new Instr( Prim.LINE, new Line2D.Double(-18,-6,0,-6)));128 Waterski.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));125 Waterski.add(new Instr(Form.RSHP, new Ellipse2D.Double(12,-18,6,6))); 126 Waterski.add(new Instr(Form.STRK, new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 127 Waterski.add(new Instr(Form.LINE, new Line2D.Double(-18,-6,0,-6))); 128 Waterski.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 129 129 Path2D.Double p = new Path2D.Double(); p.moveTo(6.5,17.5); p.lineTo(-13,14.5); p.curveTo(-15,14.25,-16.0,13.6,-17.5,12.0); 130 Waterski.add(new Instr( Prim.PLIN, p));131 Waterski.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));130 Waterski.add(new Instr(Form.PLIN, p)); 131 Waterski.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND))); 132 132 p = new Path2D.Double(); p.moveTo(-1.5,-4.0); p.lineTo(14,-7.5); p.lineTo(9.5,3.5); p.lineTo(2.0,6.0); p.lineTo(-4.4,15.8); 133 Waterski.add(new Instr( Prim.PLIN, p));133 Waterski.add(new Instr(Form.PLIN, p)); 134 134 } 135 135 private static final Symbol NoticeA = new Symbol(); 136 136 static { 137 NoticeA.add(new Instr( Prim.FILL, new Color(0xe80000)));138 NoticeA.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));139 NoticeA.add(new Instr( Prim.FILL, Color.white));140 NoticeA.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-21,-21,42,42)));141 NoticeA.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));142 NoticeA.add(new Instr( Prim.FILL, new Color(0xe80000)));143 NoticeA.add(new Instr( Prim.LINE, new Line2D.Double(-25,-25,25,25)));144 NoticeA.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));145 NoticeA.add(new Instr( Prim.FILL, Color.black));146 NoticeA.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));137 NoticeA.add(new Instr(Form.FILL, new Color(0xe80000))); 138 NoticeA.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 139 NoticeA.add(new Instr(Form.FILL, Color.white)); 140 NoticeA.add(new Instr(Form.RSHP, new Rectangle2D.Double(-21,-21,42,42))); 141 NoticeA.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 142 NoticeA.add(new Instr(Form.FILL, new Color(0xe80000))); 143 NoticeA.add(new Instr(Form.LINE, new Line2D.Double(-25,-25,25,25))); 144 NoticeA.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 145 NoticeA.add(new Instr(Form.FILL, Color.black)); 146 NoticeA.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 147 147 } 148 148 private static final Symbol NoticeB = new Symbol(); 149 149 static { 150 NoticeB.add(new Instr( Prim.FILL, new Color(0xe80000)));151 NoticeB.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));152 NoticeB.add(new Instr( Prim.FILL, Color.white));153 NoticeB.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-21,-21,42,42)));154 NoticeB.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));155 NoticeB.add(new Instr( Prim.FILL, Color.black));156 NoticeB.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));150 NoticeB.add(new Instr(Form.FILL, new Color(0xe80000))); 151 NoticeB.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 152 NoticeB.add(new Instr(Form.FILL, Color.white)); 153 NoticeB.add(new Instr(Form.RSHP, new Rectangle2D.Double(-21,-21,42,42))); 154 NoticeB.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 155 NoticeB.add(new Instr(Form.FILL, Color.black)); 156 NoticeB.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 157 157 } 158 158 private static final Symbol NoticeE = new Symbol(); 159 159 static { 160 NoticeE.add(new Instr( Prim.FILL, new Color(0x0000a0)));161 NoticeE.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));162 NoticeE.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));163 NoticeE.add(new Instr( Prim.FILL, Color.black));164 NoticeE.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));165 NoticeE.add(new Instr( Prim.FILL, Color.white));160 NoticeE.add(new Instr(Form.FILL, new Color(0x0000a0))); 161 NoticeE.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 162 NoticeE.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 163 NoticeE.add(new Instr(Form.FILL, Color.black)); 164 NoticeE.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 165 NoticeE.add(new Instr(Form.FILL, Color.white)); 166 166 } 167 167 public static final Symbol Notice = new Symbol(); 168 168 static { 169 Notice.add(new Instr( Prim.FILL, new Color(0xe80000)));170 Notice.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));171 Notice.add(new Instr( Prim.FILL, new Color(0x0000a0)));172 Notice.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-21,-21,42,42)));173 Notice.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));174 Notice.add(new Instr( Prim.FILL, Color.black));175 Notice.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));169 Notice.add(new Instr(Form.FILL, new Color(0xe80000))); 170 Notice.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 171 Notice.add(new Instr(Form.FILL, new Color(0x0000a0))); 172 Notice.add(new Instr(Form.RSHP, new Rectangle2D.Double(-21,-21,42,42))); 173 Notice.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 174 Notice.add(new Instr(Form.FILL, Color.black)); 175 Notice.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 176 176 } 177 177 public static final Symbol NoticeA1 = new Symbol(); 178 178 static { 179 NoticeA1.add(new Instr( Prim.FILL, new Color(0xe80000)));180 NoticeA1.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));181 NoticeA1.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));182 NoticeA1.add(new Instr( Prim.FILL, Color.white));183 NoticeA1.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-30,-10,60,20)));184 NoticeA1.add(new Instr( Prim.FILL, Color.black));185 NoticeA1.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));179 NoticeA1.add(new Instr(Form.FILL, new Color(0xe80000))); 180 NoticeA1.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 181 NoticeA1.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 182 NoticeA1.add(new Instr(Form.FILL, Color.white)); 183 NoticeA1.add(new Instr(Form.RSHP, new Rectangle2D.Double(-30,-10,60,20))); 184 NoticeA1.add(new Instr(Form.FILL, Color.black)); 185 NoticeA1.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 186 186 } 187 187 public static final Symbol NoticeA1a = new Symbol(); 188 188 static { 189 NoticeA1a.add(new Instr( Prim.FILL, new Color(0xe80000)));190 NoticeA1a.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-30,-30,60,60)));191 NoticeA1a.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));192 NoticeA1a.add(new Instr( Prim.FILL, Color.white));193 NoticeA1a.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-29,-10,58,20)));194 NoticeA1a.add(new Instr( Prim.FILL, Color.black));195 NoticeA1a.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-30,-30,60,60)));189 NoticeA1a.add(new Instr(Form.FILL, new Color(0xe80000))); 190 NoticeA1a.add(new Instr(Form.RSHP, new Ellipse2D.Double(-30,-30,60,60))); 191 NoticeA1a.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 192 NoticeA1a.add(new Instr(Form.FILL, Color.white)); 193 NoticeA1a.add(new Instr(Form.RSHP, new Rectangle2D.Double(-29,-10,58,20))); 194 NoticeA1a.add(new Instr(Form.FILL, Color.black)); 195 NoticeA1a.add(new Instr(Form.ELPS, new Ellipse2D.Double(-30,-30,60,60))); 196 196 } 197 197 public static final Symbol NoticeA2 = new Symbol(); 198 198 static { 199 NoticeA2.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));200 NoticeA2.add(new Instr( Prim.FILL, Color.black));199 NoticeA2.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 200 NoticeA2.add(new Instr(Form.FILL, Color.black)); 201 201 Path2D.Double p = new Path2D.Double(); p.moveTo(-10,23); p.lineTo(-10,0); p.lineTo(-6,0); p.lineTo(-12.5,-8); p.lineTo(-19,0); p.lineTo(-15,0); p.lineTo(-15,23); 202 202 p.closePath(); p.moveTo(10,8); p.lineTo(10,-15); p.lineTo(6,-15); p.lineTo(12.5,-23); p.lineTo(19,-15); p.lineTo(15,-15); p.lineTo(15,8); p.closePath(); 203 NoticeA2.add(new Instr( Prim.PGON, p));203 NoticeA2.add(new Instr(Form.PGON, p)); 204 204 } 205 205 public static final Symbol NoticeA3 = new Symbol(); 206 206 static { 207 NoticeA3.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA2, 1.0, 0, 0, null, null)));207 NoticeA3.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA2, 1.0, 0, 0, null, null))); 208 208 Path2D.Double p = new Path2D.Double(); p.moveTo(-10,12); p.lineTo(-6,12); p.lineTo(-12.5,4); p.lineTo(-19,12); 209 209 p.closePath(); p.moveTo(10,-3); p.lineTo(6,-3); p.lineTo(12.5,-11); p.lineTo(19,-3); p.closePath(); 210 NoticeA3.add(new Instr( Prim.PGON, p));210 NoticeA3.add(new Instr(Form.PGON, p)); 211 211 } 212 212 public static final Symbol NoticeA4 = new Symbol(); 213 213 static { 214 NoticeA4.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));215 NoticeA4.add(new Instr( Prim.FILL, Color.black));214 NoticeA4.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 215 NoticeA4.add(new Instr(Form.FILL, Color.black)); 216 216 Path2D.Double p = new Path2D.Double(); p.moveTo(-10,-15); p.lineTo(-10,8); p.lineTo(-6,8); p.lineTo(-12.5,16); p.lineTo(-19,8); p.lineTo(-15,8); p.lineTo(-15,-15); 217 217 p.closePath(); p.moveTo(10,15); p.lineTo(10,-8); p.lineTo(6,-8); p.lineTo(12.5,-16); p.lineTo(19,-8); p.lineTo(15,-8); p.lineTo(15,15); p.closePath(); 218 NoticeA4.add(new Instr( Prim.PGON, p));218 NoticeA4.add(new Instr(Form.PGON, p)); 219 219 } 220 220 public static final Symbol NoticeA4_1 = new Symbol(); 221 221 static { 222 NoticeA4_1.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA4, 1.0, 0, 0, null, null)));222 NoticeA4_1.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA4, 1.0, 0, 0, null, null))); 223 223 Path2D.Double p = new Path2D.Double(); p.moveTo(-10,-4); p.lineTo(-6,-4); p.lineTo(-12.5,4); p.lineTo(-19,-4); 224 224 p.closePath(); p.moveTo(10,5); p.lineTo(6,5); p.lineTo(12.5,-3); p.lineTo(19,5); p.closePath(); 225 NoticeA4_1.add(new Instr( Prim.PGON, p));225 NoticeA4_1.add(new Instr(Form.PGON, p)); 226 226 } 227 227 public static final Symbol NoticeA5 = new Symbol(); 228 228 static { 229 NoticeA5.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));229 NoticeA5.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 230 230 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); p.moveTo(-5.3,14.6); p.lineTo(-5.3,4.0); p.lineTo(0.0,4.0); p.curveTo(4.2,4.0,7.4,3.5,9.4,0.0); 231 231 p.curveTo(11.4,-2.8,11.4,-7.2,9.4,-10.5); p.curveTo(7.4,-13.6,4.2,-14.0,0.0,-14.0); p.lineTo(-11.0,-14.0); p.lineTo(-11.0,14.6); p.closePath(); 232 232 p.moveTo(-5.3,-1.0); p.lineTo(0.0,-1.0); p.curveTo(6.5,-1.0,6.5,-9.0,0.0,-9.0); p.lineTo(-5.3,-9.0); p.closePath(); 233 NoticeA5.add(new Instr( Prim.PGON, p));233 NoticeA5.add(new Instr(Form.PGON, p)); 234 234 } 235 235 public static final Symbol NoticeA5_1 = new Symbol(); 236 236 static { 237 NoticeA5_1.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));237 NoticeA5_1.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 238 238 } 239 239 public static final Symbol NoticeA6 = new Symbol(); 240 240 static { 241 NoticeA6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));242 NoticeA6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0))))));241 NoticeA6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 242 NoticeA6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0)))))); 243 243 } 244 244 public static final Symbol NoticeA7 = new Symbol(); 245 245 static { 246 NoticeA7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));247 NoticeA7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Bollard, 1.0, 0, 0, null, null)));246 NoticeA7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 247 NoticeA7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Bollard, 1.0, 0, 0, null, null))); 248 248 } 249 249 public static final Symbol NoticeA8 = new Symbol(); 250 250 static { 251 NoticeA8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));252 NoticeA8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Turn, 1.0, 0, 0, null, null)));251 NoticeA8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 252 NoticeA8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Turn, 1.0, 0, 0, null, null))); 253 253 } 254 254 public static final Symbol NoticeA9 = new Symbol(); 255 255 static { 256 NoticeA9.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));257 NoticeA9.add(new Instr( Prim.STRK, new BasicStroke(7, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));258 NoticeA9.add(new Instr( Prim.FILL, Color.black));256 NoticeA9.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 257 NoticeA9.add(new Instr(Form.STRK, new BasicStroke(7, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 258 NoticeA9.add(new Instr(Form.FILL, Color.black)); 259 259 Path2D.Double p = new Path2D.Double(); p.moveTo(-23,10); p.curveTo(-11,10,-12,4,0,4); p.curveTo(12,4,11,10,23,10); 260 260 p.moveTo(-23,-3); p.curveTo(-11,-3,-12,-9,0,-9); p.curveTo(12,-9,11,-3,23,-3); 261 NoticeA9.add(new Instr( Prim.PLIN, p));261 NoticeA9.add(new Instr(Form.PLIN, p)); 262 262 } 263 263 public static final Symbol NoticeA10a = new Symbol(); 264 264 static { 265 NoticeA10a.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));266 NoticeA10a.add(new Instr( Prim.FILL, Color.white));265 NoticeA10a.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 266 NoticeA10a.add(new Instr(Form.FILL, Color.white)); 267 267 Path2D.Double p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(30,0); p.lineTo(0,30); p.closePath(); 268 NoticeA10a.add(new Instr( Prim.PGON, p));269 NoticeA10a.add(new Instr( Prim.FILL, new Color(0xe80000)));268 NoticeA10a.add(new Instr(Form.PGON, p)); 269 NoticeA10a.add(new Instr(Form.FILL, new Color(0xe80000))); 270 270 p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.closePath(); 271 NoticeA10a.add(new Instr( Prim.PGON, p));272 NoticeA10a.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));273 NoticeA10a.add(new Instr( Prim.FILL, Color.black));271 NoticeA10a.add(new Instr(Form.PGON, p)); 272 NoticeA10a.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 273 NoticeA10a.add(new Instr(Form.FILL, Color.black)); 274 274 p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.lineTo(30,0); p.closePath(); 275 NoticeA10a.add(new Instr( Prim.PLIN, p));275 NoticeA10a.add(new Instr(Form.PLIN, p)); 276 276 } 277 277 public static final Symbol NoticeA10b = new Symbol(); 278 278 static { 279 NoticeA10b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA10a, 1.0, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0))))));279 NoticeA10b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA10a, 1.0, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0)))))); 280 280 } 281 281 public static final Symbol NoticeA12 = new Symbol(); 282 282 static { 283 NoticeA12.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));284 NoticeA12.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Motor, 1.0, 0, 0, null, null)));283 NoticeA12.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 284 NoticeA12.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Motor, 1.0, 0, 0, null, null))); 285 285 } 286 286 public static final Symbol NoticeA13 = new Symbol(); 287 287 static { 288 NoticeA13.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));289 NoticeA13.add(new Instr( Prim.TEXT, new Caption("SPORT", new Font("Arial", Font.BOLD, 15), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 5)))));288 NoticeA13.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 289 NoticeA13.add(new Instr(Form.TEXT, new Caption("SPORT", new Font("Arial", Font.BOLD, 15), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 5))))); 290 290 } 291 291 public static final Symbol NoticeA14 = new Symbol(); 292 292 static { 293 NoticeA14.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));294 NoticeA14.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Waterski, 1.0, 0, 0, null, null)));293 NoticeA14.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 294 NoticeA14.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Waterski, 1.0, 0, 0, null, null))); 295 295 } 296 296 public static final Symbol NoticeA15 = new Symbol(); 297 297 static { 298 NoticeA15.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));299 NoticeA15.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Sailboat, 1.0, 0, 0, null, null)));298 NoticeA15.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 299 NoticeA15.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Sailboat, 1.0, 0, 0, null, null))); 300 300 } 301 301 public static final Symbol NoticeA16 = new Symbol(); 302 302 static { 303 NoticeA16.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));304 NoticeA16.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Rowboat, 1.0, 0, 0, null, null)));303 NoticeA16.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 304 NoticeA16.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Rowboat, 1.0, 0, 0, null, null))); 305 305 } 306 306 public static final Symbol NoticeA17 = new Symbol(); 307 307 static { 308 NoticeA17.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));309 NoticeA17.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Sailboard, 1.0, 0, 0, null, null)));308 NoticeA17.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 309 NoticeA17.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Sailboard, 1.0, 0, 0, null, null))); 310 310 } 311 311 public static final Symbol NoticeA18 = new Symbol(); 312 312 static { 313 NoticeA18.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));314 NoticeA18.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Speedboat, 1.0, 0, 0, null, null)));313 NoticeA18.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 314 NoticeA18.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Speedboat, 1.0, 0, 0, null, null))); 315 315 } 316 316 public static final Symbol NoticeA19 = new Symbol(); 317 317 static { 318 NoticeA19.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));319 NoticeA19.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Slipway, 1.0, 0, 0, null, null)));318 NoticeA19.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 319 NoticeA19.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Slipway, 1.0, 0, 0, null, null))); 320 320 } 321 321 public static final Symbol NoticeA20 = new Symbol(); 322 322 static { 323 NoticeA20.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null)));324 NoticeA20.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Waterbike, 1.0, 0, 0, null, null)));323 NoticeA20.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeA, 1.0, 0, 0, null, null))); 324 NoticeA20.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Waterbike, 1.0, 0, 0, null, null))); 325 325 } 326 326 public static final Symbol NoticeB1a = new Symbol(); 327 327 static { 328 NoticeB1a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));328 NoticeB1a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 329 329 Path2D.Double p = new Path2D.Double(); p.moveTo(21,8); p.lineTo(-8,8); p.lineTo(-8,18); p.lineTo(-21,0); 330 330 p.lineTo(-8,-18); p.lineTo(-8,-8); p.lineTo(21,-8); p.closePath(); 331 NoticeB1a.add(new Instr( Prim.PGON, p));331 NoticeB1a.add(new Instr(Form.PGON, p)); 332 332 } 333 333 public static final Symbol NoticeB1b = new Symbol(); 334 334 static { 335 NoticeB1b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));335 NoticeB1b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 336 336 Path2D.Double p = new Path2D.Double(); p.moveTo(-21,8); p.lineTo(8,8); p.lineTo(8,18); p.lineTo(21,0); 337 337 p.lineTo(8,-18); p.lineTo(8,-8); p.lineTo(-21,-8); p.closePath(); 338 NoticeB1b.add(new Instr( Prim.PGON, p));338 NoticeB1b.add(new Instr(Form.PGON, p)); 339 339 } 340 340 public static final Symbol NoticeB2a = new Symbol(); 341 341 static { 342 NoticeB2a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));343 NoticeB2a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));342 NoticeB2a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 343 NoticeB2a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 344 344 Path2D.Double p = new Path2D.Double(); p.moveTo(18,21); p.lineTo(18,10); p.lineTo(-15,-10); p.lineTo(-15,-15); 345 NoticeB2a.add(new Instr( Prim.PLIN, p));345 NoticeB2a.add(new Instr(Form.PLIN, p)); 346 346 p = new Path2D.Double(); p.moveTo(-15,-21); p.lineTo(-21,-15); p.lineTo(-9,-15); p.closePath(); 347 NoticeB2a.add(new Instr( Prim.PGON, p));347 NoticeB2a.add(new Instr(Form.PGON, p)); 348 348 } 349 349 public static final Symbol NoticeB2b = new Symbol(); 350 350 static { 351 NoticeB2b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));352 NoticeB2b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));353 NoticeB2b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));351 NoticeB2b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 352 NoticeB2b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 353 NoticeB2b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 354 354 Path2D.Double p = new Path2D.Double(); p.moveTo(-18,21); p.lineTo(-18,10); p.lineTo(15,-10); p.lineTo(15,-15); 355 NoticeB2b.add(new Instr( Prim.PLIN, p));355 NoticeB2b.add(new Instr(Form.PLIN, p)); 356 356 p = new Path2D.Double(); p.moveTo(15,-21); p.lineTo(21,-15); p.lineTo(9,-15); p.closePath(); 357 NoticeB2b.add(new Instr( Prim.PGON, p));357 NoticeB2b.add(new Instr(Form.PGON, p)); 358 358 } 359 359 public static final Symbol NoticeB3a = new Symbol(); 360 360 static { 361 NoticeB3a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));362 NoticeB3a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));363 NoticeB3a.add(new Instr( Prim.LINE, new Line2D.Double(-15,21,-15,-15)));361 NoticeB3a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 362 NoticeB3a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 363 NoticeB3a.add(new Instr(Form.LINE, new Line2D.Double(-15,21,-15,-15))); 364 364 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,-21); p.lineTo(-21,-15); p.lineTo(-9,-15); p.closePath(); 365 NoticeB3a.add(new Instr( Prim.PGON, p));366 NoticeB3a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f)));367 NoticeB3a.add(new Instr( Prim.LINE, new Line2D.Double(15,-21,15,15)));365 NoticeB3a.add(new Instr(Form.PGON, p)); 366 NoticeB3a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f))); 367 NoticeB3a.add(new Instr(Form.LINE, new Line2D.Double(15,-21,15,15))); 368 368 p = new Path2D.Double(); p.moveTo(15,21); p.lineTo(21,15); p.lineTo(9,15); p.closePath(); 369 NoticeB3a.add(new Instr( Prim.PGON, p));369 NoticeB3a.add(new Instr(Form.PGON, p)); 370 370 } 371 371 public static final Symbol NoticeB3b = new Symbol(); 372 372 static { 373 NoticeB3b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));374 NoticeB3b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));375 NoticeB3b.add(new Instr( Prim.LINE, new Line2D.Double(15,21,15,-15)));373 NoticeB3b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 374 NoticeB3b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 375 NoticeB3b.add(new Instr(Form.LINE, new Line2D.Double(15,21,15,-15))); 376 376 Path2D.Double p = new Path2D.Double(); p.moveTo(15,-21); p.lineTo(21,-15); p.lineTo(9,-15); p.closePath(); 377 NoticeB3b.add(new Instr( Prim.PGON, p));378 NoticeB3b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f)));379 NoticeB3b.add(new Instr( Prim.LINE, new Line2D.Double(-15,-21,-15,15)));377 NoticeB3b.add(new Instr(Form.PGON, p)); 378 NoticeB3b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f))); 379 NoticeB3b.add(new Instr(Form.LINE, new Line2D.Double(-15,-21,-15,15))); 380 380 p = new Path2D.Double(); p.moveTo(-15,21); p.lineTo(-21,15); p.lineTo(-9,15); p.closePath(); 381 NoticeB3b.add(new Instr( Prim.PGON, p));381 NoticeB3b.add(new Instr(Form.PGON, p)); 382 382 } 383 383 public static final Symbol NoticeB4a = new Symbol(); 384 384 static { 385 NoticeB4a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB2a, 1.0, 0, 0, null, null)));386 NoticeB4a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f)));385 NoticeB4a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB2a, 1.0, 0, 0, null, null))); 386 NoticeB4a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f))); 387 387 Path2D.Double p = new Path2D.Double(); p.moveTo(18,-21); p.lineTo(18,-10); p.lineTo(-15,10); p.lineTo(-15,15); 388 NoticeB4a.add(new Instr( Prim.PLIN, p));388 NoticeB4a.add(new Instr(Form.PLIN, p)); 389 389 p = new Path2D.Double(); p.moveTo(-15,21); p.lineTo(-21,15); p.lineTo(-9,15); p.closePath(); 390 NoticeB4a.add(new Instr( Prim.PGON, p));390 NoticeB4a.add(new Instr(Form.PGON, p)); 391 391 } 392 392 public static final Symbol NoticeB4b = new Symbol(); 393 393 static { 394 NoticeB4b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB2b, 1.0, 0, 0, null, null)));395 NoticeB4b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f)));394 NoticeB4b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB2b, 1.0, 0, 0, null, null))); 395 NoticeB4b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 1.0f, new float[] { 5.5f, 2.4f }, 0.0f))); 396 396 Path2D.Double p = new Path2D.Double(); p.moveTo(-18,-21); p.lineTo(-18,-10); p.lineTo(15,10); p.lineTo(15,15); 397 NoticeB4b.add(new Instr( Prim.PLIN, p));397 NoticeB4b.add(new Instr(Form.PLIN, p)); 398 398 p = new Path2D.Double(); p.moveTo(15,21); p.lineTo(21,15); p.lineTo(9,15); p.closePath(); 399 NoticeB4b.add(new Instr( Prim.PGON, p));399 NoticeB4b.add(new Instr(Form.PGON, p)); 400 400 } 401 401 public static final Symbol NoticeB5 = new Symbol(); 402 402 static { 403 NoticeB5.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));404 NoticeB5.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));405 NoticeB5.add(new Instr( Prim.LINE, new Line2D.Double(15,0,-15,0)));403 NoticeB5.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 404 NoticeB5.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 405 NoticeB5.add(new Instr(Form.LINE, new Line2D.Double(15,0,-15,0))); 406 406 } 407 407 public static final Symbol NoticeB6 = new Symbol(); 408 408 static { 409 NoticeB6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));409 NoticeB6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 410 410 } 411 411 public static final Symbol NoticeB7 = new Symbol(); 412 412 static { 413 NoticeB7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));414 NoticeB7.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-10,-10,20,20)));413 NoticeB7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 414 NoticeB7.add(new Instr(Form.RSHP, new Ellipse2D.Double(-10,-10,20,20))); 415 415 } 416 416 public static final Symbol NoticeB8 = new Symbol(); 417 417 static { 418 NoticeB8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));419 NoticeB8.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));420 NoticeB8.add(new Instr( Prim.LINE, new Line2D.Double(0,15,0,-15)));418 NoticeB8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 419 NoticeB8.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER))); 420 NoticeB8.add(new Instr(Form.LINE, new Line2D.Double(0,15,0,-15))); 421 421 } 422 422 public static final Symbol NoticeB9a = new Symbol(); 423 423 static { 424 NoticeB9a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));425 NoticeB9a.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));426 NoticeB9a.add(new Instr( Prim.LINE, new Line2D.Double(-21,0,21,0)));427 NoticeB9a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));428 NoticeB9a.add(new Instr( Prim.LINE, new Line2D.Double(0,21,0,0)));424 NoticeB9a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 425 NoticeB9a.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 426 NoticeB9a.add(new Instr(Form.LINE, new Line2D.Double(-21,0,21,0))); 427 NoticeB9a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 428 NoticeB9a.add(new Instr(Form.LINE, new Line2D.Double(0,21,0,0))); 429 429 } 430 430 public static final Symbol NoticeB9b = new Symbol(); 431 431 static { 432 NoticeB9b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));433 NoticeB9b.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));434 NoticeB9b.add(new Instr( Prim.LINE, new Line2D.Double(-21,0,21,0)));435 NoticeB9b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));436 NoticeB9b.add(new Instr( Prim.LINE, new Line2D.Double(0,21,0,-21)));432 NoticeB9b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 433 NoticeB9b.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 434 NoticeB9b.add(new Instr(Form.LINE, new Line2D.Double(-21,0,21,0))); 435 NoticeB9b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 436 NoticeB9b.add(new Instr(Form.LINE, new Line2D.Double(0,21,0,-21))); 437 437 } 438 438 public static final Symbol NoticeB11 = new Symbol(); 439 439 static { 440 NoticeB11.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));441 NoticeB11.add(new Instr( Prim.TEXT, new Caption("VHF", new Font("Arial", Font.BOLD, 20), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0)))));440 NoticeB11.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 441 NoticeB11.add(new Instr(Form.TEXT, new Caption("VHF", new Font("Arial", Font.BOLD, 20), Color.black, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0))))); 442 442 } 443 443 public static final Symbol NoticeC1 = new Symbol(); 444 444 static { 445 NoticeC1.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));445 NoticeC1.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 446 446 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,21); p.lineTo(0,12); p.lineTo(15,21); p.closePath(); 447 NoticeC1.add(new Instr( Prim.PGON, p));447 NoticeC1.add(new Instr(Form.PGON, p)); 448 448 } 449 449 public static final Symbol NoticeC2 = new Symbol(); 450 450 static { 451 NoticeC2.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));451 NoticeC2.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 452 452 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,-21); p.lineTo(0,-12); p.lineTo(15,-21); p.closePath(); 453 NoticeC2.add(new Instr( Prim.PGON, p));453 NoticeC2.add(new Instr(Form.PGON, p)); 454 454 } 455 455 public static final Symbol NoticeC3 = new Symbol(); 456 456 static { 457 NoticeC3.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));457 NoticeC3.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 458 458 Path2D.Double p = new Path2D.Double(); p.moveTo(21,-15); p.lineTo(12,0); p.lineTo(21,15); p.closePath(); 459 459 p.moveTo(-21,-15); p.lineTo(-12,0); p.lineTo(-21,15); p.closePath(); 460 NoticeC3.add(new Instr( Prim.PGON, p));460 NoticeC3.add(new Instr(Form.PGON, p)); 461 461 } 462 462 public static final Symbol NoticeC4 = new Symbol(); 463 463 static { 464 NoticeC4.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));464 NoticeC4.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 465 465 } 466 466 public static final Symbol NoticeC5a = new Symbol(); 467 467 static { 468 NoticeC5a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));468 NoticeC5a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 469 469 Path2D.Double p = new Path2D.Double(); p.moveTo(-21,-21); p.lineTo(10,-21); p.lineTo(21,0); p.lineTo(10,21); p.lineTo(-21,21); p.closePath(); 470 NoticeC5a.add(new Instr( Prim.PGON, p));470 NoticeC5a.add(new Instr(Form.PGON, p)); 471 471 } 472 472 public static final Symbol NoticeC5b = new Symbol(); 473 473 static { 474 NoticeC5b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null)));474 NoticeC5b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeB, 1.0, 0, 0, null, null))); 475 475 Path2D.Double p = new Path2D.Double(); p.moveTo(21,-21); p.lineTo(-10,-21); p.lineTo(-21,0); p.lineTo(-10,21); p.lineTo(21,21); p.closePath(); 476 NoticeC5b.add(new Instr( Prim.PGON, p));476 NoticeC5b.add(new Instr(Form.PGON, p)); 477 477 } 478 478 public static final Symbol NoticeD1a = new Symbol(); 479 479 static { 480 NoticeD1a.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));481 NoticeD1a.add(new Instr( Prim.FILL, Color.yellow));480 NoticeD1a.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 481 NoticeD1a.add(new Instr(Form.FILL, Color.yellow)); 482 482 Path2D.Double p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.lineTo(30,0); p.closePath(); 483 NoticeD1a.add(new Instr( Prim.PGON, p));484 NoticeD1a.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));485 NoticeD1a.add(new Instr( Prim.FILL, Color.black));486 NoticeD1a.add(new Instr( Prim.PLIN, p));483 NoticeD1a.add(new Instr(Form.PGON, p)); 484 NoticeD1a.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 485 NoticeD1a.add(new Instr(Form.FILL, Color.black)); 486 NoticeD1a.add(new Instr(Form.PLIN, p)); 487 487 } 488 488 public static final Symbol NoticeD1b = new Symbol(); 489 489 static { 490 NoticeD1b.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));491 NoticeD1b.add(new Instr( Prim.FILL, Color.yellow));490 NoticeD1b.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 491 NoticeD1b.add(new Instr(Form.FILL, Color.yellow)); 492 492 Path2D.Double p = new Path2D.Double(); p.moveTo(-30,0); p.lineTo(-15,15); p.lineTo(15,-15); p.lineTo(30,0); p.lineTo(15,15); p.lineTo(-15,-15); p.closePath(); 493 NoticeD1b.add(new Instr( Prim.PGON, p));494 NoticeD1b.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));495 NoticeD1b.add(new Instr( Prim.FILL, Color.black));496 NoticeD1b.add(new Instr( Prim.PLIN, p));493 NoticeD1b.add(new Instr(Form.PGON, p)); 494 NoticeD1b.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 495 NoticeD1b.add(new Instr(Form.FILL, Color.black)); 496 NoticeD1b.add(new Instr(Form.PLIN, p)); 497 497 } 498 498 public static final Symbol NoticeD2a = new Symbol(); 499 499 static { 500 NoticeD2a.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));501 NoticeD2a.add(new Instr( Prim.FILL, Color.white));500 NoticeD2a.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 501 NoticeD2a.add(new Instr(Form.FILL, Color.white)); 502 502 Path2D.Double p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(30,0); p.lineTo(0,30); p.closePath(); 503 NoticeD2a.add(new Instr( Prim.PGON, p));504 NoticeD2a.add(new Instr( Prim.FILL, new Color(0x00e800)));503 NoticeD2a.add(new Instr(Form.PGON, p)); 504 NoticeD2a.add(new Instr(Form.FILL, new Color(0x00e800))); 505 505 p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(30,0); p.lineTo(0,30); p.closePath(); 506 NoticeD2a.add(new Instr( Prim.PGON, p));507 NoticeD2a.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));508 NoticeD2a.add(new Instr( Prim.FILL, Color.black));506 NoticeD2a.add(new Instr(Form.PGON, p)); 507 NoticeD2a.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 508 NoticeD2a.add(new Instr(Form.FILL, Color.black)); 509 509 p = new Path2D.Double(); p.moveTo(0,-30); p.lineTo(-30,0); p.lineTo(0,30); p.lineTo(30,0); p.closePath(); 510 NoticeD2a.add(new Instr( Prim.PLIN, p));510 NoticeD2a.add(new Instr(Form.PLIN, p)); 511 511 } 512 512 public static final Symbol NoticeD2b = new Symbol(); 513 513 static { 514 NoticeD2b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeD2a, 1.0, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0))))));514 NoticeD2b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeD2a, 1.0, 0, 0, null, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(180.0)))))); 515 515 } 516 516 public static final Symbol NoticeD3a = new Symbol(); 517 517 static { 518 NoticeD3a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));518 NoticeD3a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 519 519 Path2D.Double p = new Path2D.Double(); p.moveTo(28,10); p.lineTo(-10,10); p.lineTo(-10,20); p.lineTo(-28,0); 520 520 p.lineTo(-10,-20); p.lineTo(-10,-10); p.lineTo(28,-10); p.closePath(); 521 NoticeD3a.add(new Instr( Prim.PGON, p));521 NoticeD3a.add(new Instr(Form.PGON, p)); 522 522 } 523 523 public static final Symbol NoticeD3b = new Symbol(); 524 524 static { 525 NoticeD3b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));525 NoticeD3b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 526 526 Path2D.Double p = new Path2D.Double(); p.moveTo(-28,10); p.lineTo(10,10); p.lineTo(10,20); p.lineTo(28,0); 527 527 p.lineTo(10,-20); p.lineTo(10,-10); p.lineTo(-28,-10); p.closePath(); 528 NoticeD3b.add(new Instr( Prim.PGON, p));528 NoticeD3b.add(new Instr(Form.PGON, p)); 529 529 } 530 530 public static final Symbol NoticeE1 = new Symbol(); 531 531 static { 532 NoticeE1.add(new Instr( Prim.FILL, new Color(0x00e800)));533 NoticeE1.add(new Instr( Prim.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));534 NoticeE1.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));535 NoticeE1.add(new Instr( Prim.FILL, Color.white));536 NoticeE1.add(new Instr( Prim.RSHP, new Rectangle2D.Double(-10,-30,20,60)));537 NoticeE1.add(new Instr( Prim.FILL, Color.black));538 NoticeE1.add(new Instr( Prim.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4)));532 NoticeE1.add(new Instr(Form.FILL, new Color(0x00e800))); 533 NoticeE1.add(new Instr(Form.RSHP, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 534 NoticeE1.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 535 NoticeE1.add(new Instr(Form.FILL, Color.white)); 536 NoticeE1.add(new Instr(Form.RSHP, new Rectangle2D.Double(-10,-30,20,60))); 537 NoticeE1.add(new Instr(Form.FILL, Color.black)); 538 NoticeE1.add(new Instr(Form.RRCT, new RoundRectangle2D.Double(-30,-30,60,60,4,4))); 539 539 } 540 540 public static final Symbol NoticeE2 = new Symbol(); 541 541 static { 542 NoticeE2.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));542 NoticeE2.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 543 543 Path2D.Double p = new Path2D.Double(); p.moveTo(5,-25); p.lineTo(-10,-1); p.lineTo(10,-1); p.lineTo(-10,20); 544 544 p.lineTo(-7,20); p.lineTo(-12,25); p.lineTo(-16,20); p.lineTo(-13,20); p.lineTo(4,1); p.lineTo(-14,1); 545 545 p.lineTo(2,-25); p.closePath(); 546 NoticeE2.add(new Instr( Prim.PGON, p));546 NoticeE2.add(new Instr(Form.PGON, p)); 547 547 } 548 548 public static final Symbol NoticeE3 = new Symbol(); 549 549 static { 550 NoticeE3.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));551 NoticeE3.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));552 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(25,-20,25,20)));553 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(-25,-20,-25,20)));554 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(-15,-15,-15,20)));555 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(-5,-15,-5,20)));556 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(5,-15,5,20)));557 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(15,-15,15,20)));558 NoticeE3.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));559 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(-26,18.5,26,18.5)));560 NoticeE3.add(new Instr( Prim.LINE, new Line2D.Double(-26,-15,26,-15)));550 NoticeE3.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 551 NoticeE3.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 552 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(25,-20,25,20))); 553 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(-25,-20,-25,20))); 554 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(-15,-15,-15,20))); 555 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(-5,-15,-5,20))); 556 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(5,-15,5,20))); 557 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(15,-15,15,20))); 558 NoticeE3.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 559 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(-26,18.5,26,18.5))); 560 NoticeE3.add(new Instr(Form.LINE, new Line2D.Double(-26,-15,26,-15))); 561 561 } 562 562 public static final Symbol NoticeE4a = new Symbol(); 563 563 static { 564 NoticeE4a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));564 NoticeE4a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 565 565 Path2D.Double p = new Path2D.Double(); p.moveTo(-20,-10); p.lineTo(-5,-10); p.lineTo(-5,-20); p.lineTo(5,-20); p.lineTo(5,-10); 566 566 p.lineTo(20,-10); p.lineTo(15,0); p.lineTo(-15,0); p.closePath(); 567 567 p.moveTo(-25,5); p.lineTo(25,5); p.lineTo(25,10); p.lineTo(-25,10); p.closePath(); 568 NoticeE4a.add(new Instr( Prim.PGON, p));568 NoticeE4a.add(new Instr(Form.PGON, p)); 569 569 } 570 570 public static final Symbol NoticeE4b = new Symbol(); 571 571 static { 572 NoticeE4b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));572 NoticeE4b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 573 573 Path2D.Double p = new Path2D.Double(); p.moveTo(-20,0); p.lineTo(-5,0); p.lineTo(-5,-10); p.lineTo(5,-10); p.lineTo(5,0); 574 574 p.lineTo(20,0); p.lineTo(15,10); p.lineTo(-15,10); p.closePath(); 575 NoticeE4b.add(new Instr( Prim.PGON, p));575 NoticeE4b.add(new Instr(Form.PGON, p)); 576 576 } 577 577 public static final Symbol NoticeE5 = new Symbol(); 578 578 static { 579 NoticeE5.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));579 NoticeE5.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 580 580 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); p.moveTo(-5.3,14.6); p.lineTo(-5.3,4.0); p.lineTo(0.0,4.0); p.curveTo(4.2,4.0,7.4,3.5,9.4,0.0); 581 581 p.curveTo(11.4,-2.8,11.4,-7.2,9.4,-10.5); p.curveTo(7.4,-13.6,4.2,-14.0,0.0,-14.0); p.lineTo(-11.0,-14.0); p.lineTo(-11.0,14.6); p.closePath(); 582 582 p.moveTo(-5.3,-1.0); p.lineTo(0.0,-1.0); p.curveTo(6.5,-1.0,6.5,-9.0,0.0,-9.0); p.lineTo(-5.3,-9.0); p.closePath(); 583 NoticeE5.add(new Instr( Prim.PGON, p));583 NoticeE5.add(new Instr(Form.PGON, p)); 584 584 } 585 585 public static final Symbol NoticeE5_1 = new Symbol(); 586 586 static { 587 NoticeE5_1.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));587 NoticeE5_1.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 588 588 } 589 589 public static final Symbol NoticeE5_2 = new Symbol(); 590 590 static { 591 NoticeE5_2.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));591 NoticeE5_2.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 592 592 } 593 593 public static final Symbol NoticeE5_3 = new Symbol(); 594 594 static { 595 NoticeE5_3.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));595 NoticeE5_3.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 596 596 } 597 597 public static final Symbol NoticeE5_4 = new Symbol(); 598 598 static { 599 NoticeE5_4.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));599 NoticeE5_4.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 600 600 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 601 601 p.moveTo(-28,25); p.lineTo(0,-28); p.lineTo(28,25); p.closePath(); 602 NoticeE5_4.add(new Instr( Prim.PGON, p));602 NoticeE5_4.add(new Instr(Form.PGON, p)); 603 603 } 604 604 public static final Symbol NoticeE5_5 = new Symbol(); 605 605 static { 606 NoticeE5_5.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));606 NoticeE5_5.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 607 607 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 608 608 p.moveTo(-28,25); p.lineTo(0,-28); p.lineTo(28,25); p.closePath(); 609 609 p.moveTo(0,24); p.lineTo(-15,2); p.lineTo(15,2); p.closePath(); 610 NoticeE5_5.add(new Instr( Prim.PGON, p));610 NoticeE5_5.add(new Instr(Form.PGON, p)); 611 611 } 612 612 public static final Symbol NoticeE5_6 = new Symbol(); 613 613 static { 614 NoticeE5_6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));614 NoticeE5_6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 615 615 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 616 616 p.moveTo(-28,25); p.lineTo(0,-28); p.lineTo(28,25); p.closePath(); 617 617 p.moveTo(0,7); p.lineTo(-10,-8); p.lineTo(10,-8); p.closePath(); 618 618 p.moveTo(0,24); p.lineTo(-10,9); p.lineTo(10,9); p.closePath(); 619 NoticeE5_6.add(new Instr( Prim.PGON, p));619 NoticeE5_6.add(new Instr(Form.PGON, p)); 620 620 } 621 621 public static final Symbol NoticeE5_7 = new Symbol(); 622 622 static { 623 NoticeE5_7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));623 NoticeE5_7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 624 624 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 625 625 p.moveTo(-28,25); p.lineTo(0,-28); p.lineTo(28,25); p.closePath(); … … 627 627 p.moveTo(0,11); p.lineTo(-8,1); p.lineTo(8,1); p.closePath(); 628 628 p.moveTo(0,23); p.lineTo(-8,13); p.lineTo(8,13); p.closePath(); 629 NoticeE5_7.add(new Instr( Prim.PGON, p));629 NoticeE5_7.add(new Instr(Form.PGON, p)); 630 630 } 631 631 public static final Symbol NoticeE5_8 = new Symbol(); 632 632 static { 633 NoticeE5_8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));633 NoticeE5_8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 634 634 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 635 635 p.moveTo(-28,-25); p.lineTo(0,28); p.lineTo(28,-25); p.closePath(); 636 NoticeE5_8.add(new Instr( Prim.PGON, p));636 NoticeE5_8.add(new Instr(Form.PGON, p)); 637 637 } 638 638 public static final Symbol NoticeE5_9 = new Symbol(); 639 639 static { 640 NoticeE5_9.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));640 NoticeE5_9.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 641 641 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 642 642 p.moveTo(-28,-25); p.lineTo(0,28); p.lineTo(28,-25); p.closePath(); 643 643 p.moveTo(0,8); p.lineTo(-15,-14); p.lineTo(15,-14); p.closePath(); 644 NoticeE5_9.add(new Instr( Prim.PGON, p));644 NoticeE5_9.add(new Instr(Form.PGON, p)); 645 645 } 646 646 public static final Symbol NoticeE5_10 = new Symbol(); 647 647 static { 648 NoticeE5_10.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));648 NoticeE5_10.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 649 649 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 650 650 p.moveTo(-28,-25); p.lineTo(0,28); p.lineTo(28,-25); p.closePath(); 651 651 p.moveTo(0,-5); p.lineTo(-10,-20); p.lineTo(10,-20); p.closePath(); 652 652 p.moveTo(0,15); p.lineTo(-10,0); p.lineTo(10,0); p.closePath(); 653 NoticeE5_10.add(new Instr( Prim.PGON, p));653 NoticeE5_10.add(new Instr(Form.PGON, p)); 654 654 } 655 655 public static final Symbol NoticeE5_11 = new Symbol(); 656 656 static { 657 NoticeE5_11.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));657 NoticeE5_11.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 658 658 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 659 659 p.moveTo(-28,-25); p.lineTo(0,28); p.lineTo(28,-25); p.closePath(); … … 661 661 p.moveTo(0,3); p.lineTo(-8,-7); p.lineTo(8,-7); p.closePath(); 662 662 p.moveTo(0,18); p.lineTo(-8,8); p.lineTo(8,8); p.closePath(); 663 NoticeE5_11.add(new Instr( Prim.PGON, p));663 NoticeE5_11.add(new Instr(Form.PGON, p)); 664 664 } 665 665 public static final Symbol NoticeE5_12 = new Symbol(); 666 666 static { 667 NoticeE5_12.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));667 NoticeE5_12.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 668 668 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 669 669 p.moveTo(-28,0); p.lineTo(0,28); p.lineTo(28,0); p.lineTo(0,-28); p.closePath(); 670 NoticeE5_12.add(new Instr( Prim.PGON, p));670 NoticeE5_12.add(new Instr(Form.PGON, p)); 671 671 } 672 672 public static final Symbol NoticeE5_13 = new Symbol(); 673 673 static { 674 NoticeE5_13.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));674 NoticeE5_13.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 675 675 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 676 676 p.moveTo(-28,0); p.lineTo(0,28); p.lineTo(28,0); p.lineTo(0,-28); p.closePath(); 677 677 p.moveTo(0,15); p.lineTo(-15,-7); p.lineTo(15,-7); p.closePath(); 678 NoticeE5_13.add(new Instr( Prim.PGON, p));678 NoticeE5_13.add(new Instr(Form.PGON, p)); 679 679 } 680 680 public static final Symbol NoticeE5_14 = new Symbol(); 681 681 static { 682 NoticeE5_14.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));682 NoticeE5_14.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 683 683 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 684 684 p.moveTo(-28,0); p.lineTo(0,28); p.lineTo(28,0); p.lineTo(0,-28); p.closePath(); 685 685 p.moveTo(0,0); p.lineTo(-10,-15); p.lineTo(10,-15); p.closePath(); 686 686 p.moveTo(0,20); p.lineTo(-10,5); p.lineTo(10,5); p.closePath(); 687 NoticeE5_14.add(new Instr( Prim.PGON, p));687 NoticeE5_14.add(new Instr(Form.PGON, p)); 688 688 } 689 689 public static final Symbol NoticeE5_15 = new Symbol(); 690 690 static { 691 NoticeE5_15.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));691 NoticeE5_15.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 692 692 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 693 693 p.moveTo(-28,0); p.lineTo(0,28); p.lineTo(28,0); p.lineTo(0,-28); p.closePath(); … … 695 695 p.moveTo(0,8); p.lineTo(-8,-2); p.lineTo(8,-2); p.closePath(); 696 696 p.moveTo(0,23); p.lineTo(-8,13); p.lineTo(8,13); p.closePath(); 697 NoticeE5_15.add(new Instr( Prim.PGON, p));697 NoticeE5_15.add(new Instr(Form.PGON, p)); 698 698 } 699 699 public static final Symbol NoticeE6 = new Symbol(); 700 700 static { 701 NoticeE6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));702 NoticeE6.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, null)));701 NoticeE6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 702 NoticeE6.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Harbours.Anchor, 0.4, 0, 0, null, null))); 703 703 } 704 704 public static final Symbol NoticeE7 = new Symbol(); 705 705 static { 706 NoticeE7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));707 NoticeE7.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Bollard, 1.0, 0, 0, null, null)));706 NoticeE7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 707 NoticeE7.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Bollard, 1.0, 0, 0, null, null))); 708 708 } 709 709 public static final Symbol NoticeE7_1 = new Symbol(); 710 710 static { 711 NoticeE7_1.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));712 NoticeE7_1.add(new Instr( Prim.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));713 NoticeE7_1.add(new Instr( Prim.LINE, new Line2D.Double(20,25,20,-10)));714 NoticeE7_1.add(new Instr( Prim.LINE, new Line2D.Double(22,-8,-15,-20)));715 NoticeE7_1.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));716 NoticeE7_1.add(new Instr( Prim.LINE, new Line2D.Double(20,8,0,-15)));711 NoticeE7_1.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 712 NoticeE7_1.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 713 NoticeE7_1.add(new Instr(Form.LINE, new Line2D.Double(20,25,20,-10))); 714 NoticeE7_1.add(new Instr(Form.LINE, new Line2D.Double(22,-8,-15,-20))); 715 NoticeE7_1.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 716 NoticeE7_1.add(new Instr(Form.LINE, new Line2D.Double(20,8,0,-15))); 717 717 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD); 718 718 p.moveTo(-17,2); p.quadTo(-5,0,7,2); p.lineTo(9,12); p.lineTo(7,20); p.lineTo(6,20); p.lineTo(6,23); p.lineTo(3,23); p.lineTo(3,20); 719 719 p.quadTo(-5,22,-13,20); p.lineTo(-13,23); p.lineTo(-16,23); p.lineTo(-16,20); p.lineTo(-17,20); p.lineTo(-19,12); p.closePath(); 720 720 p.moveTo(-15,4); p.quadTo(-3,2,5,4); p.lineTo(6,11); p.quadTo(-5,9,-16,11); p.closePath(); 721 NoticeE7_1.add(new Instr( Prim.PGON, p));722 NoticeE7_1.add(new Instr( Prim.FILL, new Color(0x0000a0)));723 NoticeE7_1.add(new Instr( Prim.RSHP, new Ellipse2D.Double(-16,13,4,4)));724 NoticeE7_1.add(new Instr( Prim.RSHP, new Ellipse2D.Double(2,13,4,4)));721 NoticeE7_1.add(new Instr(Form.PGON, p)); 722 NoticeE7_1.add(new Instr(Form.FILL, new Color(0x0000a0))); 723 NoticeE7_1.add(new Instr(Form.RSHP, new Ellipse2D.Double(-16,13,4,4))); 724 NoticeE7_1.add(new Instr(Form.RSHP, new Ellipse2D.Double(2,13,4,4))); 725 725 } 726 726 public static final Symbol NoticeE8 = new Symbol(); 727 727 static { 728 NoticeE8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));729 NoticeE8.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Turn, 1.0, 0, 0, null, null)));728 NoticeE8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 729 NoticeE8.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Turn, 1.0, 0, 0, null, null))); 730 730 } 731 731 public static final Symbol NoticeE9a = new Symbol(); 732 732 static { 733 NoticeE9a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));734 NoticeE9a.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));735 NoticeE9a.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-29)));736 NoticeE9a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));737 NoticeE9a.add(new Instr( Prim.LINE, new Line2D.Double(-29,0,29,0)));733 NoticeE9a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 734 NoticeE9a.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 735 NoticeE9a.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-29))); 736 NoticeE9a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 737 NoticeE9a.add(new Instr(Form.LINE, new Line2D.Double(-29,0,29,0))); 738 738 } 739 739 public static final Symbol NoticeE9b = new Symbol(); 740 740 static { 741 NoticeE9b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));742 NoticeE9b.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));743 NoticeE9b.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-29)));744 NoticeE9b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));745 NoticeE9b.add(new Instr( Prim.LINE, new Line2D.Double(-2,0,29,0)));741 NoticeE9b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 742 NoticeE9b.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 743 NoticeE9b.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-29))); 744 NoticeE9b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 745 NoticeE9b.add(new Instr(Form.LINE, new Line2D.Double(-2,0,29,0))); 746 746 } 747 747 public static final Symbol NoticeE9c = new Symbol(); 748 748 static { 749 NoticeE9c.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));750 NoticeE9c.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));751 NoticeE9c.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-29)));752 NoticeE9c.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));753 NoticeE9c.add(new Instr( Prim.LINE, new Line2D.Double(2,0,-29,0)));749 NoticeE9c.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 750 NoticeE9c.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 751 NoticeE9c.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-29))); 752 NoticeE9c.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 753 NoticeE9c.add(new Instr(Form.LINE, new Line2D.Double(2,0,-29,0))); 754 754 } 755 755 public static final Symbol NoticeE9d = new Symbol(); 756 756 static { 757 NoticeE9d.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));758 NoticeE9d.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));759 NoticeE9d.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));760 NoticeE9d.add(new Instr( Prim.LINE, new Line2D.Double(-4,0,29,0)));761 NoticeE9d.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));762 NoticeE9d.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,2)));757 NoticeE9d.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 758 NoticeE9d.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 759 NoticeE9d.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 760 NoticeE9d.add(new Instr(Form.LINE, new Line2D.Double(-4,0,29,0))); 761 NoticeE9d.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 762 NoticeE9d.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,2))); 763 763 } 764 764 public static final Symbol NoticeE9e = new Symbol(); 765 765 static { 766 NoticeE9e.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));767 NoticeE9e.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));768 NoticeE9e.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));769 NoticeE9e.add(new Instr( Prim.LINE, new Line2D.Double(4,0,-29,0)));770 NoticeE9e.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));771 NoticeE9e.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,2)));766 NoticeE9e.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 767 NoticeE9e.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 768 NoticeE9e.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 769 NoticeE9e.add(new Instr(Form.LINE, new Line2D.Double(4,0,-29,0))); 770 NoticeE9e.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 771 NoticeE9e.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,2))); 772 772 } 773 773 public static final Symbol NoticeE9f = new Symbol(); 774 774 static { 775 NoticeE9f.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));776 NoticeE9f.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));777 NoticeE9f.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));778 NoticeE9f.add(new Instr( Prim.LINE, new Line2D.Double(-4,0,29,0)));779 NoticeE9f.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));780 NoticeE9f.add(new Instr( Prim.LINE, new Line2D.Double(2,0,-29,0)));775 NoticeE9f.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 776 NoticeE9f.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 777 NoticeE9f.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 778 NoticeE9f.add(new Instr(Form.LINE, new Line2D.Double(-4,0,29,0))); 779 NoticeE9f.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 780 NoticeE9f.add(new Instr(Form.LINE, new Line2D.Double(2,0,-29,0))); 781 781 } 782 782 public static final Symbol NoticeE9g = new Symbol(); 783 783 static { 784 NoticeE9g.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));785 NoticeE9g.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));786 NoticeE9g.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));787 NoticeE9g.add(new Instr( Prim.LINE, new Line2D.Double(4,0,-29,0)));788 NoticeE9g.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));789 NoticeE9g.add(new Instr( Prim.LINE, new Line2D.Double(-2,0,29,0)));784 NoticeE9g.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 785 NoticeE9g.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 786 NoticeE9g.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 787 NoticeE9g.add(new Instr(Form.LINE, new Line2D.Double(4,0,-29,0))); 788 NoticeE9g.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 789 NoticeE9g.add(new Instr(Form.LINE, new Line2D.Double(-2,0,29,0))); 790 790 } 791 791 public static final Symbol NoticeE9h = new Symbol(); 792 792 static { 793 NoticeE9h.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));794 NoticeE9h.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));795 NoticeE9h.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));796 NoticeE9h.add(new Instr( Prim.LINE, new Line2D.Double(-4,0,29,0)));797 NoticeE9h.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));798 NoticeE9h.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,2)));799 NoticeE9h.add(new Instr( Prim.LINE, new Line2D.Double(2,0,-29,0)));793 NoticeE9h.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 794 NoticeE9h.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 795 NoticeE9h.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 796 NoticeE9h.add(new Instr(Form.LINE, new Line2D.Double(-4,0,29,0))); 797 NoticeE9h.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 798 NoticeE9h.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,2))); 799 NoticeE9h.add(new Instr(Form.LINE, new Line2D.Double(2,0,-29,0))); 800 800 } 801 801 public static final Symbol NoticeE9i = new Symbol(); 802 802 static { 803 NoticeE9i.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));804 NoticeE9i.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));805 NoticeE9i.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-4)));806 NoticeE9i.add(new Instr( Prim.LINE, new Line2D.Double(4,0,-29,0)));807 NoticeE9i.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));808 NoticeE9i.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,2)));809 NoticeE9i.add(new Instr( Prim.LINE, new Line2D.Double(-2,0,29,0)));803 NoticeE9i.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 804 NoticeE9i.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 805 NoticeE9i.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-4))); 806 NoticeE9i.add(new Instr(Form.LINE, new Line2D.Double(4,0,-29,0))); 807 NoticeE9i.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 808 NoticeE9i.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,2))); 809 NoticeE9i.add(new Instr(Form.LINE, new Line2D.Double(-2,0,29,0))); 810 810 } 811 811 public static final Symbol NoticeE10a = new Symbol(); 812 812 static { 813 NoticeE10a.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));814 NoticeE10a.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));815 NoticeE10a.add(new Instr( Prim.LINE, new Line2D.Double(-29,0,29,0)));816 NoticeE10a.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));817 NoticeE10a.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-29)));813 NoticeE10a.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 814 NoticeE10a.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 815 NoticeE10a.add(new Instr(Form.LINE, new Line2D.Double(-29,0,29,0))); 816 NoticeE10a.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 817 NoticeE10a.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-29))); 818 818 } 819 819 public static final Symbol NoticeE10b = new Symbol(); 820 820 static { 821 NoticeE10b.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));822 NoticeE10b.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));823 NoticeE10b.add(new Instr( Prim.LINE, new Line2D.Double(-29,0,29,0)));824 NoticeE10b.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));825 NoticeE10b.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-2)));821 NoticeE10b.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 822 NoticeE10b.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 823 NoticeE10b.add(new Instr(Form.LINE, new Line2D.Double(-29,0,29,0))); 824 NoticeE10b.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 825 NoticeE10b.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-2))); 826 826 } 827 827 public static final Symbol NoticeE10c = new Symbol(); 828 828 static { 829 NoticeE10c.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));830 NoticeE10c.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));831 NoticeE10c.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,4)));832 NoticeE10c.add(new Instr( Prim.LINE, new Line2D.Double(-4,0,29,0)));833 NoticeE10c.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));834 NoticeE10c.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-2)));829 NoticeE10c.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 830 NoticeE10c.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 831 NoticeE10c.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,4))); 832 NoticeE10c.add(new Instr(Form.LINE, new Line2D.Double(-4,0,29,0))); 833 NoticeE10c.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 834 NoticeE10c.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-2))); 835 835 } 836 836 public static final Symbol NoticeE10d = new Symbol(); 837 837 static { 838 NoticeE10d.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));839 NoticeE10d.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));840 NoticeE10d.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,4)));841 NoticeE10d.add(new Instr( Prim.LINE, new Line2D.Double(4,0,-29,0)));842 NoticeE10d.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));843 NoticeE10d.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-2)));838 NoticeE10d.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 839 NoticeE10d.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 840 NoticeE10d.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,4))); 841 NoticeE10d.add(new Instr(Form.LINE, new Line2D.Double(4,0,-29,0))); 842 NoticeE10d.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 843 NoticeE10d.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-2))); 844 844 } 845 845 public static final Symbol NoticeE10e = new Symbol(); 846 846 static { 847 NoticeE10e.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));848 NoticeE10e.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));849 NoticeE10e.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,4)));850 NoticeE10e.add(new Instr( Prim.LINE, new Line2D.Double(-4,0,29,0)));851 NoticeE10e.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));852 NoticeE10e.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-2)));853 NoticeE10e.add(new Instr( Prim.LINE, new Line2D.Double(2,0,-29,0)));847 NoticeE10e.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 848 NoticeE10e.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 849 NoticeE10e.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,4))); 850 NoticeE10e.add(new Instr(Form.LINE, new Line2D.Double(-4,0,29,0))); 851 NoticeE10e.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 852 NoticeE10e.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-2))); 853 NoticeE10e.add(new Instr(Form.LINE, new Line2D.Double(2,0,-29,0))); 854 854 } 855 855 public static final Symbol NoticeE10f = new Symbol(); 856 856 static { 857 NoticeE10f.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));858 NoticeE10f.add(new Instr( Prim.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));859 NoticeE10f.add(new Instr( Prim.LINE, new Line2D.Double(0,-29,0,4)));860 NoticeE10f.add(new Instr( Prim.LINE, new Line2D.Double(4,0,-29,0)));861 NoticeE10f.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));862 NoticeE10f.add(new Instr( Prim.LINE, new Line2D.Double(0,29,0,-2)));863 NoticeE10f.add(new Instr( Prim.LINE, new Line2D.Double(-2,0,29,0)));857 NoticeE10f.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 858 NoticeE10f.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 859 NoticeE10f.add(new Instr(Form.LINE, new Line2D.Double(0,-29,0,4))); 860 NoticeE10f.add(new Instr(Form.LINE, new Line2D.Double(4,0,-29,0))); 861 NoticeE10f.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 862 NoticeE10f.add(new Instr(Form.LINE, new Line2D.Double(0,29,0,-2))); 863 NoticeE10f.add(new Instr(Form.LINE, new Line2D.Double(-2,0,29,0))); 864 864 } 865 865 public static final Symbol NoticeE11 = new Symbol(); 866 866 static { 867 NoticeE11.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));868 NoticeE11.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));869 NoticeE11.add(new Instr( Prim.LINE, new Line2D.Double(-27,-27,27,27)));867 NoticeE11.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 868 NoticeE11.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND))); 869 NoticeE11.add(new Instr(Form.LINE, new Line2D.Double(-27,-27,27,27))); 870 870 } 871 871 public static final Symbol NoticeE13 = new Symbol(); 872 872 static { 873 NoticeE13.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));873 NoticeE13.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 874 874 Path2D.Double p = new Path2D.Double(); p.moveTo(-4,-16); p.lineTo(9,-16); p.lineTo(9,-14); p.lineTo(3.5,-14); p.lineTo(3.5,-7); p.lineTo(5,-7); 875 875 p.lineTo(5,1); p.lineTo(6.5,1); p.lineTo(6.5,5); p.lineTo(17.5,5); p.lineTo(17.5,1); p.lineTo(19,1); p.lineTo(19,15); p.lineTo(17.5,15); … … 877 877 p.quadTo(-13.5,10,-13.5,16); p.lineTo(-19,16); p.quadTo(-19,5,-9,5); p.lineTo(-2,5); p.lineTo(-2,1); p.lineTo(0,1); p.lineTo(0,-7); 878 878 p.lineTo(1.5,-7); p.lineTo(1.5,-14); p.lineTo(-4,-14); p.closePath(); 879 NoticeE13.add(new Instr( Prim.PGON, p));879 NoticeE13.add(new Instr(Form.PGON, p)); 880 880 } 881 881 public static final Symbol NoticeE14 = new Symbol(); 882 882 static { 883 NoticeE14.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));883 NoticeE14.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 884 884 Path2D.Double p = new Path2D.Double(); p.moveTo(-18,-18); p.lineTo(-11,-7); p.lineTo(-9,-10); p.lineTo(-14,-18); p.closePath(); 885 885 p.moveTo(9.5,7); p.lineTo(22.5,9); p.lineTo(21.5,5.5); p.lineTo(12,4); p.closePath(); 886 886 p.moveTo(-19,-16.5); p.lineTo(-13,-6.5); p.quadTo(-15.5,-2,-12.5,0); p.lineTo(4,11); p.quadTo(7,13,10,9); p.lineTo(21.5,11); 887 887 p.curveTo(15.5,23,1,18.5,-9,12); p.curveTo(-18,6,-28.5,-7,-19,-16.5); p.closePath(); 888 NoticeE14.add(new Instr( Prim.PGON, p));888 NoticeE14.add(new Instr(Form.PGON, p)); 889 889 } 890 890 public static final Symbol NoticeE15 = new Symbol(); 891 891 static { 892 NoticeE15.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));893 NoticeE15.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Motor, 1.0, 0, 0, null, null)));892 NoticeE15.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 893 NoticeE15.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Motor, 1.0, 0, 0, null, null))); 894 894 } 895 895 public static final Symbol NoticeE16 = new Symbol(); 896 896 static { 897 NoticeE16.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));898 NoticeE16.add(new Instr( Prim.TEXT, new Caption("SPORT", new Font("Arial", Font.BOLD, 15), Color.white, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 5)))));897 NoticeE16.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 898 NoticeE16.add(new Instr(Form.TEXT, new Caption("SPORT", new Font("Arial", Font.BOLD, 15), Color.white, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 5))))); 899 899 } 900 900 public static final Symbol NoticeE17 = new Symbol(); 901 901 static { 902 NoticeE17.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));903 NoticeE17.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Waterski, 1.0, 0, 0, null, null)));902 NoticeE17.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 903 NoticeE17.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Waterski, 1.0, 0, 0, null, null))); 904 904 } 905 905 public static final Symbol NoticeE18 = new Symbol(); 906 906 static { 907 NoticeE18.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));908 NoticeE18.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Sailboat, 1.0, 0, 0, null, null)));907 NoticeE18.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 908 NoticeE18.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Sailboat, 1.0, 0, 0, null, null))); 909 909 } 910 910 public static final Symbol NoticeE19 = new Symbol(); 911 911 static { 912 NoticeE19.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));913 NoticeE19.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Rowboat, 1.0, 0, 0, null, null)));912 NoticeE19.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 913 NoticeE19.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Rowboat, 1.0, 0, 0, null, null))); 914 914 } 915 915 public static final Symbol NoticeE20 = new Symbol(); 916 916 static { 917 NoticeE20.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));918 NoticeE20.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Sailboard, 1.0, 0, 0, null, null)));917 NoticeE20.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 918 NoticeE20.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Sailboard, 1.0, 0, 0, null, null))); 919 919 } 920 920 public static final Symbol NoticeE21 = new Symbol(); 921 921 static { 922 NoticeE21.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));923 NoticeE21.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Speedboat, 1.0, 0, 0, null, null)));922 NoticeE21.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 923 NoticeE21.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Speedboat, 1.0, 0, 0, null, null))); 924 924 } 925 925 public static final Symbol NoticeE22 = new Symbol(); 926 926 static { 927 NoticeE22.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));928 NoticeE22.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Slipway, 1.0, 0, 0, null, null)));927 NoticeE22.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 928 NoticeE22.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Slipway, 1.0, 0, 0, null, null))); 929 929 } 930 930 public static final Symbol NoticeE23 = new Symbol(); 931 931 static { 932 NoticeE23.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));933 NoticeE23.add(new Instr( Prim.TEXT, new Caption("VHF", new Font("Arial", Font.BOLD, 20), Color.white, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0)))));932 NoticeE23.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 933 NoticeE23.add(new Instr(Form.TEXT, new Caption("VHF", new Font("Arial", Font.BOLD, 20), Color.white, new Delta(Handle.BC, AffineTransform.getTranslateInstance(0, 0))))); 934 934 } 935 935 public static final Symbol NoticeE24 = new Symbol(); 936 936 static { 937 NoticeE24.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null)));938 NoticeE24.add(new Instr( Prim.SYMB, new Symbols.SubSymbol(Notices.Waterbike, 1.0, 0, 0, null, null)));937 NoticeE24.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.NoticeE, 1.0, 0, 0, null, null))); 938 NoticeE24.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Notices.Waterbike, 1.0, 0, 0, null, null))); 939 939 } 940 940 … … 973 973 public static final Symbol NoticeBnank = new Symbol(); 974 974 static { 975 NoticeBnank.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-30,60,60)));975 NoticeBnank.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-30,60,60))); 976 976 Symbol colours = new Symbol(); 977 977 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-80.0); p.lineTo(-15.0,-47.0); p.lineTo(15.0,-47.0); p.closePath(); 978 colours.add(new Instr( Prim.P1, p));978 colours.add(new Instr(Form.P1, p)); 979 979 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 980 colours.add(new Instr( Prim.P2, p));981 NoticeBnank.add(new Instr( Prim.COLR, colours));980 colours.add(new Instr(Form.P2, p)); 981 NoticeBnank.add(new Instr(Form.COLR, colours)); 982 982 } 983 983 public static final Symbol NoticeBlmhr = new Symbol(); -
applications/editors/josm/plugins/smed2/src/symbols/Symbols.java
r30037 r30215 20 20 public class Symbols { 21 21 22 public enum Prim {22 public enum Form { 23 23 BBOX, STRK, COLR, FILL, LINE, RECT, RRCT, ELPS, EARC, PLIN, PGON, RSHP, TEXT, SYMB, P1, P2, H2, H3, H4, H5, V2, D2, D3, D4, B2, S2, S3, S4, C2, X2 24 24 } … … 33 33 34 34 public static class Instr { 35 public Prim type;35 public Form type; 36 36 public Object params; 37 37 38 public Instr( Prim itype, Object iparams) {38 public Instr(Form itype, Object iparams) { 39 39 type = itype; 40 40 params = iparams; -
applications/editors/josm/plugins/smed2/src/symbols/Topmarks.java
r30036 r30215 22 22 public static final Symbol TopBoard = new Symbol(); 23 23 static { 24 TopBoard.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-80,40,80)));24 TopBoard.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-80,40,80))); 25 25 Symbol colours = new Symbol(); 26 26 Path2D.Double p = new Path2D.Double(); p.moveTo(-19.0,-2.0); p.lineTo(-19.0,-39.0); p.lineTo(19.0,-39.0); p.lineTo(19.0,-2.0); p.closePath(); 27 colours.add(new Instr( Prim.P1, p));28 TopBoard.add(new Instr( Prim.COLR, colours));29 TopBoard.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));30 TopBoard.add(new Instr( Prim.FILL, Color.black));27 colours.add(new Instr(Form.P1, p)); 28 TopBoard.add(new Instr(Form.COLR, colours)); 29 TopBoard.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 30 TopBoard.add(new Instr(Form.FILL, Color.black)); 31 31 p = new Path2D.Double(); p.moveTo(-19.0,-2.0); p.lineTo(-19.0,-39.0); p.lineTo(19.0,-39.0); p.lineTo(19.0,-2.0); p.closePath(); 32 TopBoard.add(new Instr( Prim.PLIN, p));32 TopBoard.add(new Instr(Form.PLIN, p)); 33 33 } 34 34 public static final Symbol TopCan = new Symbol(); 35 35 static { 36 TopCan.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-80,40,80)));36 TopCan.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-80,40,80))); 37 37 Symbol colours = new Symbol(); 38 38 Path2D.Double p = new Path2D.Double(); p.moveTo(-12.0,-15.0); p.lineTo(-12.0,-48.0); p.lineTo(12.0,-48.0); p.lineTo(12.0,-15.0); p.closePath(); 39 colours.add(new Instr( Prim.P1, p));40 TopCan.add(new Instr( Prim.COLR, colours));41 TopCan.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));42 TopCan.add(new Instr( Prim.FILL, Color.black));43 TopCan.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-15)));39 colours.add(new Instr(Form.P1, p)); 40 TopCan.add(new Instr(Form.COLR, colours)); 41 TopCan.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 42 TopCan.add(new Instr(Form.FILL, Color.black)); 43 TopCan.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-15))); 44 44 p = new Path2D.Double(); p.moveTo(-12.0,-15.0); p.lineTo(-12.0,-48.0); p.lineTo(12.0,-48.0); p.lineTo(12.0,-15.0); p.closePath(); 45 TopCan.add(new Instr( Prim.PLIN, p));45 TopCan.add(new Instr(Form.PLIN, p)); 46 46 } 47 47 public static final Symbol TopCone = new Symbol(); 48 48 static { 49 TopCone.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-80,40,80)));49 TopCone.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-80,40,80))); 50 50 Symbol colours = new Symbol(); 51 51 Path2D.Double p = new Path2D.Double(); p.moveTo(-15.0,-15.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-15.0); p.closePath(); 52 colours.add(new Instr( Prim.P1, p));53 TopCone.add(new Instr( Prim.COLR, colours));54 TopCone.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));55 TopCone.add(new Instr( Prim.FILL, Color.black));56 TopCone.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-15)));52 colours.add(new Instr(Form.P1, p)); 53 TopCone.add(new Instr(Form.COLR, colours)); 54 TopCone.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 55 TopCone.add(new Instr(Form.FILL, Color.black)); 56 TopCone.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-15))); 57 57 p = new Path2D.Double(); p.moveTo(-15.0,-15.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-15.0); p.closePath(); 58 TopCone.add(new Instr( Prim.PLIN, p));58 TopCone.add(new Instr(Form.PLIN, p)); 59 59 } 60 60 public static final Symbol TopCross = new Symbol(); 61 61 static { 62 TopCross.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));62 TopCross.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 63 63 Symbol colours = new Symbol(); 64 64 Path2D.Double p = new Path2D.Double(); p.moveTo(-5.0,-15.0); p.lineTo(-5.0,-32.5); p.lineTo(-22.5,-32.5); p.lineTo(-22.5,-42.5); p.lineTo(-5.0,-42.5); 65 65 p.lineTo(-5.0,-60.0); p.lineTo(5.0,-60.0); p.lineTo(5.0,-42.5); p.lineTo(22.5,-42.5); p.lineTo(22.5,-32.5); p.lineTo(5.0,-32.5); p.lineTo(5.0,-15.0); p.closePath(); 66 colours.add(new Instr( Prim.P1, p));67 TopCross.add(new Instr( Prim.COLR, colours));68 TopCross.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));69 TopCross.add(new Instr( Prim.FILL, Color.black));70 TopCross.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-15)));71 TopCross.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));66 colours.add(new Instr(Form.P1, p)); 67 TopCross.add(new Instr(Form.COLR, colours)); 68 TopCross.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 69 TopCross.add(new Instr(Form.FILL, Color.black)); 70 TopCross.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-15))); 71 TopCross.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 72 72 p = new Path2D.Double(); p.moveTo(-5.0,-15.0); p.lineTo(-5.0,-32.5); p.lineTo(-22.5,-32.5); p.lineTo(-22.5,-42.5); p.lineTo(-5.0,-42.5); p.lineTo(-5.0,-60.0); 73 73 p.lineTo(5.0,-60.0); p.lineTo(5.0,-42.5); p.lineTo(22.5,-42.5); p.lineTo(22.5,-32.5); p.lineTo(5.0,-32.5); p.lineTo(5.0,-15.0); p.closePath(); 74 TopCross.add(new Instr( Prim.PLIN, p));74 TopCross.add(new Instr(Form.PLIN, p)); 75 75 } 76 76 public static final Symbol TopEast = new Symbol(); 77 77 static { 78 TopEast.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));78 TopEast.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 79 79 Symbol colours = new Symbol(); 80 80 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-80.0); p.lineTo(-15.0,-47.0); p.lineTo(15.0,-47.0); p.closePath(); 81 colours.add(new Instr( Prim.P1, p));82 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 83 colours.add(new Instr( Prim.P2, p));84 TopEast.add(new Instr( Prim.COLR, colours));85 TopEast.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));86 TopEast.add(new Instr( Prim.FILL, Color.black));87 TopEast.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-10)));88 TopEast.add(new Instr( Prim.LINE, new Line2D.Double(0,-43,0,-47)));89 TopEast.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));81 colours.add(new Instr(Form.P1, p)); 82 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 83 colours.add(new Instr(Form.P2, p)); 84 TopEast.add(new Instr(Form.COLR, colours)); 85 TopEast.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 86 TopEast.add(new Instr(Form.FILL, Color.black)); 87 TopEast.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-10))); 88 TopEast.add(new Instr(Form.LINE, new Line2D.Double(0,-43,0,-47))); 89 TopEast.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 90 90 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 91 91 p.moveTo(0.0,-80.0); p.lineTo(-15.0,-47.0); p.lineTo(15.0,-47.0); p.closePath(); 92 TopEast.add(new Instr( Prim.PLIN, p));92 TopEast.add(new Instr(Form.PLIN, p)); 93 93 } 94 94 public static final Symbol TopIsol = new Symbol(); 95 95 static { 96 TopIsol.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));96 TopIsol.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 97 97 Symbol colours = new Symbol(); 98 98 Path2D.Double p = new Path2D.Double(); p.moveTo(-13.0,-55.0); p.curveTo(-13.0, -72.3, 13.0, -72.3, 13.0,-55.0); p.curveTo(13.0, -37.7, -13.0, -37.7, -13.0,-55.0); p.closePath(); 99 colours.add(new Instr( Prim.P1, p));99 colours.add(new Instr(Form.P1, p)); 100 100 p = new Path2D.Double(); p.moveTo(-13.0,-28.0); p.curveTo(-13.0, -45.3, 13.0, -45.3, 13.0,-28.0); p.curveTo(13.0, -10.7, -13.0, -10.7, -13.0,-28.0); p.closePath(); 101 colours.add(new Instr( Prim.P2, p));102 TopIsol.add(new Instr( Prim.COLR, colours));103 TopIsol.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));104 TopIsol.add(new Instr( Prim.FILL, Color.black));105 TopIsol.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-15)));106 TopIsol.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));107 TopIsol.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-13,-41,26,26)));108 TopIsol.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-13,-68,26,26)));101 colours.add(new Instr(Form.P2, p)); 102 TopIsol.add(new Instr(Form.COLR, colours)); 103 TopIsol.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 104 TopIsol.add(new Instr(Form.FILL, Color.black)); 105 TopIsol.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-15))); 106 TopIsol.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 107 TopIsol.add(new Instr(Form.ELPS, new Ellipse2D.Double(-13,-41,26,26))); 108 TopIsol.add(new Instr(Form.ELPS, new Ellipse2D.Double(-13,-68,26,26))); 109 109 } 110 110 public static final Symbol TopMooring = new Symbol(); 111 111 static { 112 TopMooring.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));113 TopMooring.add(new Instr( Prim.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));114 TopMooring.add(new Instr( Prim.FILL, Color.black));115 TopMooring.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-1.5,-6,3,3)));116 TopMooring.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-8.5,-25,17,17)));112 TopMooring.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 113 TopMooring.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 114 TopMooring.add(new Instr(Form.FILL, Color.black)); 115 TopMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(-1.5,-6,3,3))); 116 TopMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(-8.5,-25,17,17))); 117 117 } 118 118 public static final Symbol TopNorth = new Symbol(); 119 119 static { 120 TopNorth.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));120 TopNorth.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 121 121 Symbol colours = new Symbol(); 122 122 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-78.0); p.lineTo(-15.0,-45.0); p.lineTo(15.0,-45.0); p.closePath(); 123 colours.add(new Instr( Prim.P1, p));124 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 125 colours.add(new Instr( Prim.P2, p));126 TopNorth.add(new Instr( Prim.COLR, colours));127 TopNorth.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));128 TopNorth.add(new Instr( Prim.FILL, Color.black));129 TopNorth.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-10)));130 TopNorth.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));123 colours.add(new Instr(Form.P1, p)); 124 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 125 colours.add(new Instr(Form.P2, p)); 126 TopNorth.add(new Instr(Form.COLR, colours)); 127 TopNorth.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 128 TopNorth.add(new Instr(Form.FILL, Color.black)); 129 TopNorth.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-10))); 130 TopNorth.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 131 131 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 132 132 p.moveTo(0.0,-78.0); p.lineTo(-15.0,-45.0); p.lineTo(15.0,-45.0); p.closePath(); 133 TopNorth.add(new Instr( Prim.PLIN, p));133 TopNorth.add(new Instr(Form.PLIN, p)); 134 134 } 135 135 public static final Symbol TopSouth = new Symbol(); 136 136 static { 137 TopSouth.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));137 TopSouth.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 138 138 Symbol colours = new Symbol(); 139 139 Path2D.Double p = new Path2D.Double(); p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-78.0); p.closePath(); 140 colours.add(new Instr( Prim.P1, p));141 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 142 colours.add(new Instr( Prim.P2, p));143 TopSouth.add(new Instr( Prim.COLR, colours));144 TopSouth.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));145 TopSouth.add(new Instr( Prim.FILL, Color.black));146 TopSouth.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-10)));147 TopSouth.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));140 colours.add(new Instr(Form.P1, p)); 141 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 142 colours.add(new Instr(Form.P2, p)); 143 TopSouth.add(new Instr(Form.COLR, colours)); 144 TopSouth.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 145 TopSouth.add(new Instr(Form.FILL, Color.black)); 146 TopSouth.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-10))); 147 TopSouth.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 148 148 p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath(); 149 149 p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-78.0); p.closePath(); 150 TopSouth.add(new Instr( Prim.PLIN, p));150 TopSouth.add(new Instr(Form.PLIN, p)); 151 151 } 152 152 public static final Symbol TopSphere = new Symbol(); 153 153 static { 154 TopSphere.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));154 TopSphere.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 155 155 Symbol colours = new Symbol(); 156 156 Path2D.Double p = new Path2D.Double(); p.moveTo(-14.0,-28.0); p.curveTo(-14.0,-46.7,14.0,-46.7,14.0,-28.0); p.curveTo(14.0,-9.3,-14.0,-9.3,-14.0,-28.0); p.closePath(); 157 colours.add(new Instr( Prim.P1, p));158 TopSphere.add(new Instr( Prim.COLR, colours));159 TopSphere.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));160 TopSphere.add(new Instr( Prim.FILL, Color.black));161 TopSphere.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-15)));162 TopSphere.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));163 TopSphere.add(new Instr( Prim.ELPS, new Ellipse2D.Double(-14,-42,28,28)));157 colours.add(new Instr(Form.P1, p)); 158 TopSphere.add(new Instr(Form.COLR, colours)); 159 TopSphere.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 160 TopSphere.add(new Instr(Form.FILL, Color.black)); 161 TopSphere.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-15))); 162 TopSphere.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 163 TopSphere.add(new Instr(Form.ELPS, new Ellipse2D.Double(-14,-42,28,28))); 164 164 } 165 165 public static final Symbol TopSquare = new Symbol(); 166 166 static { 167 TopSquare.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-80,40,80)));167 TopSquare.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-80,40,80))); 168 168 Symbol colours = new Symbol(); 169 169 Path2D.Double p = new Path2D.Double(); p.moveTo(-13.0,-1.0); p.lineTo(-13.0,-27.0); p.lineTo(13.0,-27.0); p.lineTo(13.0,-1.0); p.closePath(); 170 colours.add(new Instr( Prim.P1, p));171 TopSquare.add(new Instr( Prim.COLR, colours));172 TopSquare.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));173 TopSquare.add(new Instr( Prim.FILL, Color.black));170 colours.add(new Instr(Form.P1, p)); 171 TopSquare.add(new Instr(Form.COLR, colours)); 172 TopSquare.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 173 TopSquare.add(new Instr(Form.FILL, Color.black)); 174 174 p = new Path2D.Double(); p.moveTo(-13.0,-1.0); p.lineTo(-13.0,-27.0); p.lineTo(13.0,-27.0); p.lineTo(13.0,-1.0); p.closePath(); 175 TopSquare.add(new Instr( Prim.PLIN, p));175 TopSquare.add(new Instr(Form.PLIN, p)); 176 176 } 177 177 public static final Symbol TopTriangle = new Symbol(); 178 178 static { 179 TopTriangle.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-20,-80,40,80)));179 TopTriangle.add(new Instr(Form.BBOX, new Rectangle2D.Double(-20,-80,40,80))); 180 180 Symbol colours = new Symbol(); 181 181 Path2D.Double p = new Path2D.Double(); p.moveTo(-15.0,-1.0); p.lineTo(0.0,-29.0); p.lineTo(15.0,-1.0); p.closePath(); 182 colours.add(new Instr( Prim.P1, p));183 TopTriangle.add(new Instr( Prim.COLR, colours));184 TopTriangle.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));185 TopTriangle.add(new Instr( Prim.FILL, Color.black));182 colours.add(new Instr(Form.P1, p)); 183 TopTriangle.add(new Instr(Form.COLR, colours)); 184 TopTriangle.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 185 TopTriangle.add(new Instr(Form.FILL, Color.black)); 186 186 p = new Path2D.Double(); p.moveTo(-15.0,-1.0); p.lineTo(0.0,-29.0); p.lineTo(15.0,-1.0); p.closePath(); 187 TopTriangle.add(new Instr( Prim.PLIN, p));187 TopTriangle.add(new Instr(Form.PLIN, p)); 188 188 } 189 189 public static final Symbol TopWest = new Symbol(); 190 190 static { 191 TopWest.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));191 TopWest.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 192 192 Symbol colours = new Symbol(); 193 193 Path2D.Double p = new Path2D.Double(); p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-78.0); p.closePath(); 194 colours.add(new Instr( Prim.P1, p));195 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 196 colours.add(new Instr( Prim.P2, p));197 TopWest.add(new Instr( Prim.COLR, colours));198 TopWest.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));199 TopWest.add(new Instr( Prim.FILL, Color.black));200 TopWest.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-10)));201 TopWest.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));194 colours.add(new Instr(Form.P1, p)); 195 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 196 colours.add(new Instr(Form.P2, p)); 197 TopWest.add(new Instr(Form.COLR, colours)); 198 TopWest.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 199 TopWest.add(new Instr(Form.FILL, Color.black)); 200 TopWest.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-10))); 201 TopWest.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 202 202 p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath(); 203 203 p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-78.0); p.closePath(); 204 TopWest.add(new Instr( Prim.PLIN, p));204 TopWest.add(new Instr(Form.PLIN, p)); 205 205 } 206 206 public static final Symbol TopX = new Symbol(); 207 207 static { 208 TopX.add(new Instr( Prim.BBOX, new Rectangle2D.Double(-30,-80,60,80)));208 TopX.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30,-80,60,80))); 209 209 Symbol colours = new Symbol(); 210 210 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,-27.7); p.lineTo(-12.4,-15.7); p.lineTo(-19.3,-22.6); p.lineTo(-7.3,-35.0); p.lineTo(-19.3,-47.3); 211 211 p.lineTo(-12.4,-54.2); p.lineTo(0.0,-42.4); p.lineTo(12.4,-54.2); p.lineTo(19.3,-47.3); p.lineTo(7.3,-35.0); p.lineTo(19.3,-22.6); p.lineTo(12.4,-15.7); p.closePath(); 212 colours.add(new Instr( Prim.P1, p));213 TopX.add(new Instr( Prim.COLR, colours));214 TopX.add(new Instr( Prim.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));215 TopX.add(new Instr( Prim.FILL, Color.black));216 TopX.add(new Instr( Prim.LINE, new Line2D.Double(0,0,0,-27)));217 TopX.add(new Instr( Prim.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));212 colours.add(new Instr(Form.P1, p)); 213 TopX.add(new Instr(Form.COLR, colours)); 214 TopX.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 215 TopX.add(new Instr(Form.FILL, Color.black)); 216 TopX.add(new Instr(Form.LINE, new Line2D.Double(0,0,0,-27))); 217 TopX.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER))); 218 218 p = new Path2D.Double(); p.moveTo(0.0,-27.7); p.lineTo(-12.4,-15.7); p.lineTo(-19.3,-22.6); p.lineTo(-7.3,-35.0); p.lineTo(-19.3,-47.3); p.lineTo(-12.4,-54.2); p.lineTo(0.0,-42.4); 219 219 p.lineTo(12.4,-54.2); p.lineTo(19.3,-47.3); p.lineTo(7.3,-35.0); p.lineTo(19.3,-22.6); p.lineTo(12.4,-15.7); p.closePath(); 220 TopX.add(new Instr( Prim.PLIN, p));220 TopX.add(new Instr(Form.PLIN, p)); 221 221 } 222 222
Note:
See TracChangeset
for help on using the changeset viewer.