Changeset 29286 in osm for applications/editors/josm/plugins/smed2/src/seamap/Rules.java
- Timestamp:
- 2013-02-26T15:13:39+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed2/src/seamap/Rules.java
r29275 r29286 101 101 } 102 102 103 private static void shoreline(Feature feature) {104 if (zoom >= 12) {105 switch ((CatSLC) Renderer.getAttVal(feature, feature.type, 0, Att.CATSLC)) {106 case SLC_TWAL:107 WatLEV lev = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV);108 if (lev == WatLEV.LEV_CVRS) {109 Renderer.lineVector(feature, new LineStyle(Color.black, 10, new float[] { 40, 40 }, null));110 if (zoom >= 15)111 Renderer.lineText(feature, "(covers)", new Font("Arial", Font.PLAIN, 80), 0.5, 20);112 } else {113 Renderer.lineVector(feature, new LineStyle(Color.black, 10, null, null));114 }115 if (zoom >= 15)116 Renderer.lineText(feature, "Training Wall", new Font("Arial", Font.PLAIN, 80), 0.5, -20);117 }118 }119 }120 private static void pipelines(Feature feature) {121 if (zoom >= 14) {122 if (feature.type == Obj.PIPSOL) {123 Renderer.lineSymbols(feature, Areas.Pipeline, 1.0, null, 0);124 } else if (feature.type == Obj.PIPOHD) {125 126 }127 }128 }129 private static void cables(Feature feature) {130 if (zoom >= 14) {131 if (feature.type == Obj.CBLSUB) {132 Renderer.lineSymbols(feature, Areas.Cable, 0.0, null, 0);133 } else if (feature.type == Obj.CBLOHD) {134 135 }136 }137 }138 private static void separation(Feature feature) {139 switch (feature.type) {140 case TSEZNE:141 case TSSCRS:142 case TSSRON:143 if (zoom <= 15)144 Renderer.lineVector(feature, new LineStyle(null, 0, null, new Color(0x80c480ff, true)));145 else146 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, null, null));147 AttItem name = feature.atts.get(Att.OBJNAM);148 if ((zoom >= 10) && (name != null))149 Renderer.labelText(feature, (String) name.val, new Font("Arial", Font.BOLD, 150), new Color(0x80c480ff), null);150 break;151 case TSELNE:152 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, null, null));153 break;154 case TSSLPT:155 Renderer.lineSymbols(feature, Areas.LaneArrow, 0.5, null, 0);156 break;157 case TSSBND:158 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, new float[] { 40, 40 }, null));159 break;160 }161 }162 103 private static void areas(Feature feature) { 163 104 AttItem name = feature.atts.get(Att.OBJNAM); … … 264 205 */ 265 206 } 266 267 private static void obstructions(Feature feature) { 268 if ((zoom >= 14) && (feature.type == Obj.UWTROC)) { 269 WatLEV lvl = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV); 270 switch (lvl) { 271 case LEV_CVRS: 272 Renderer.symbol(feature, Areas.RockC, null, null); 273 break; 274 case LEV_AWSH: 275 Renderer.symbol(feature, Areas.RockA, null, null); 207 private static void beacons(Feature feature) { 208 BcnSHP shape = (BcnSHP) Renderer.getAttVal(feature, feature.type, 0, Att.BCNSHP); 209 if (((shape == BcnSHP.BCN_PRCH) || (shape == BcnSHP.BCN_WTHY)) && (feature.type == Obj.BCNLAT)) { 210 CatLAM cat = (CatLAM) Renderer.getAttVal(feature, feature.type, 0, Att.CATLAM); 211 switch (cat) { 212 case LAM_PORT: 213 if (shape == BcnSHP.BCN_PRCH) 214 Renderer.symbol(feature, Beacons.PerchPort, null, null); 215 else 216 Renderer.symbol(feature, Beacons.WithyPort, null, null); 217 break; 218 case LAM_STBD: 219 if (shape == BcnSHP.BCN_PRCH) 220 Renderer.symbol(feature, Beacons.PerchStarboard, null, null); 221 else 222 Renderer.symbol(feature, Beacons.WithyStarboard, null, null); 276 223 break; 277 224 default: 278 Renderer.symbol(feature, Areas.Rock, null, null);225 Renderer.symbol(feature, Beacons.Stake, feature.type, null); 279 226 } 280 227 } else { 281 Renderer.symbol(feature, Areas.Rock, null, null); 282 } 283 } 284 private static void waterways(Feature feature) { 285 if ((zoom >= 14) && (feature.atts.get(Att.OBJNAM) != null)) { 286 // lineText(item_attribute("name"), "font-family:Arial;font-weight:bold;font-size:80;text-anchor:middle", 0.5, 15, line("stroke:none;fill:none")); 287 } 288 } 289 private static void transits(Feature feature) { 228 Renderer.symbol(feature, Beacons.Shapes.get(shape), feature.type, null); 229 if (feature.objs.get(Obj.TOPMAR) != null) 230 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Beacons); 231 } 232 } 233 private static void buoys(Feature feature) { 234 BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP); 235 Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null); 236 if (feature.objs.get(Obj.TOPMAR) != null) { 237 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Buoys.get(shape)); 238 } 239 } 240 private static void bridges(Feature feature) { 241 if (zoom >= 16) { 242 243 } 244 /* Att_t *attv = getAtt(getObj(item, BRIDGE, 0), VERCLR); 245 if (attv == NULL) attv = getAtt(getObj(item, BRIDGE, 0), VERCSA); 246 Att_t *attc = getAtt(getObj(item, BRIDGE, 0), VERCCL); 247 Att_t *atto = getAtt(getObj(item, BRIDGE, 0), VERCOP); 248 if (attv != NULL) { 249 renderSymbol(item, obja, "clear_v", "", "", CC, 0, 0, 0); 250 drawText(item, stringValue(attv->val), "font-family:Arial; font-weight:normal; font-size:70; text-anchor:middle", 0, 12); 251 } 252 else if ((attc != NULL) && (atto == NULL)) { 253 renderSymbol(item, obja, "clear_v", "", "", CC, 0, 0, 0); 254 drawText(item, stringValue(attc->val), "font-family:Arial; font-weight:normal; font-size:70; text-anchor:middle", 0, 12); 255 } 256 else if ((attc != NULL) && (atto != NULL)) { 257 renderSymbol(item, obja, "clear_v", "", "", RC, 5, 0, 0); 258 drawText(item, stringValue(attc->val), "font-family:Arial; font-weight:normal; font-size:70; text-anchor:middle", -35, 12); 259 renderSymbol(item, obja, "clear_v", "", "", LC, -5, 0, 0); 260 drawText(item, stringValue(atto->val), "font-family:Arial; font-weight:normal; font-size:70; text-anchor:middle", 35, 12); 261 } 262 } 263 */ 264 } 265 private static void cables(Feature feature) { 266 if (zoom >= 14) { 267 if (feature.type == Obj.CBLSUB) { 268 Renderer.lineSymbols(feature, Areas.Cable, 0.0, null, 0); 269 } else if (feature.type == Obj.CBLOHD) { 270 271 } 272 } 273 } 274 private static void distances(Feature feature) { 275 /*object_rules(distances) { 276 if ((zoom>=16) && (has_attribute("category"))) { 277 attribute_switch("category") 278 attribute_case("installed") symbol("distance_i"); 279 attribute_default symbol("distance_u"); 280 end_switch 281 } 282 } 283 */ 284 } 285 private static void floats(Feature feature) { 286 switch (feature.type) { 287 case LITVES: 288 Renderer.symbol(feature, Buoys.Super, feature.type, null); 289 break; 290 case LITFLT: 291 Renderer.symbol(feature, Buoys.Float, feature.type, null); 292 break; 293 case BOYINB: 294 Renderer.symbol(feature, Buoys.Storage, feature.type, null); 295 break; 296 } 297 if (feature.objs.get(Obj.TOPMAR) != null) 298 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Floats); 299 } 300 private static void gauges(Feature feature) { 301 /*object_rules(gauge) { 302 if (zoom >= 14) symbol("tide_gauge"); 303 } 304 */ 290 305 } 291 306 private static void harbours(Feature feature) { … … 304 319 } 305 320 } 306 321 /* 307 322 * if ((zoom >= 12) && is_type("anchorage")) { 308 323 symbol("anchorage"); … … 323 338 text(item_attribute("name"), "font-family:Arial; font-weight:bold; font-size:80; text-anchor:middle", 0, -90); 324 339 } 325 326 */ 327 private static void locks(Feature feature) { 328 } 329 private static void distances(Feature feature) { 330 } 331 private static void ports(Feature feature) { 332 } 340 */ 333 341 private static void landmarks(Feature feature) { 334 342 ArrayList<CatLMK> cats = (ArrayList<CatLMK>) Renderer.getAttVal(feature, feature.type, 0, Att.CATLMK); … … 344 352 Renderer.symbol(feature, catSym, null, null); 345 353 Renderer.symbol(feature, fncSym, null, null); 354 /* if (!has_attribute("function") && !has_attribute("category") && has_object("light")) { 355 symbol("lighthouse"); 356 if ((zoom >= 15) && has_item_attribute("name")) 357 text(item_attribute("name"), "font-family:Arial; font-weight:bold; font-size:80; text-anchor:middle", 0, -70); 358 } else { 359 if ((zoom >= 15) && has_item_attribute("name")) 360 text(item_attribute("name"), "font-family:Arial; font-weight:bold; font-size:80; text-anchor:start", 60, -50); 361 } 362 if (has_object("fog_signal")) object(fogs); 363 if (has_object("radar_transponder")) object(rtbs); 364 if (has_object("radar_station") && (zoom >= 12)) symbol("radar_station"); 365 if (has_object("light")) object(lights); 366 } 367 */ 368 } 369 private static void lights(Feature feature) { 370 switch (feature.type) { 371 case LITMAJ: 372 Renderer.symbol(feature, Beacons.LightMajor, null, null); 373 break; 374 case LITMIN: 375 case LIGHTS: 376 Renderer.symbol(feature, Beacons.LightMinor, null, null); 377 break; 378 } 379 } 380 private static void locks(Feature feature) { 381 /*object_rules(locks) { 382 if ((zoom>=13) && is_type("lock_basin|lock_basin_part")) symbol("lock"); 383 if ((zoom>=15) && is_type("gate")) symbol("lock_gate"); 384 } 385 */ 386 } 387 private static void marinas(Feature feature) { 388 if (zoom >= 16) { 389 390 } 391 /* int n = countObjects(item, type); 392 Atta_t atta = enumAttribute("category", obja); 393 char **map = cluster_map(obja); 394 if (map == NULL) return; 395 switch (n) { 396 case 0: { 397 Obj_t *obj = getObj(item, obja, 0); 398 int n = countValues(getAtt(obj, atta)); 399 switch (n) { 400 case 1: 401 renderSymbol(item, obja, map[getAttEnum(obj, atta, 0)], "", "", CC, 0, 0, 0); 402 break; 403 case 2: 404 renderSymbol(item, obja, map[getAttEnum(obj, atta, 0)], "", "", RC, 0, 0, 0); 405 renderSymbol(item, obja, map[getAttEnum(obj, atta, 1)], "", "", LC, 0, 0, 0); 406 break; 407 case 3: 408 renderSymbol(item, obja, map[getAttEnum(obj, atta, 0)], "", "", BC, 0, 0, 0); 409 renderSymbol(item, obja, map[getAttEnum(obj, atta, 1)], "", "", TR, 0, 0, 0); 410 renderSymbol(item, obja, map[getAttEnum(obj, atta, 2)], "", "", TL, 0, 0, 0); 411 break; 412 case 4: 413 renderSymbol(item, obja, map[getAttEnum(obj, atta, 0)], "", "", BR, 0, 0, 0); 414 renderSymbol(item, obja, map[getAttEnum(obj, atta, 1)], "", "", BL, 0, 0, 0); 415 renderSymbol(item, obja, map[getAttEnum(obj, atta, 2)], "", "", TR, 0, 0, 0); 416 renderSymbol(item, obja, map[getAttEnum(obj, atta, 3)], "", "", TL, 0, 0, 0); 417 break; 418 } 419 } 420 break; 421 case 1: 422 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 1), atta, 0)], "", "", CC, 0, 0, 0); 423 break; 424 case 2: 425 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 1), atta, 0)], "", "", RC, 0, 0, 0); 426 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 2), atta, 0)], "", "", LC, 0, 0, 0); 427 break; 428 case 3: 429 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 1), atta, 0)], "", "", BC, 0, 0, 0); 430 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 2), atta, 0)], "", "", TR, 0, 0, 0); 431 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 3), atta, 0)], "", "", TL, 0, 0, 0); 432 break; 433 case 4: 434 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 1), atta, 0)], "", "", BR, 0, 0, 0); 435 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 2), atta, 0)], "", "", BL, 0, 0, 0); 436 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 3), atta, 0)], "", "", TR, 0, 0, 0); 437 renderSymbol(item, obja, map[getAttEnum(getObj(item, obja, 4), atta, 0)], "", "", TL, 0, 0, 0); 438 break; 439 } 440 */ 346 441 } 347 442 private static void moorings(Feature feature) { … … 365 460 break; 366 461 } 462 /* if (has_object("fog_signal")) object(fogs); 463 if (has_object("radar_transponder")) object(rtbs); 464 if (has_object("light")) object(lights); 465 } 466 */ 367 467 } 368 468 private static void notices(Feature feature) { 369 } 370 private static void marinas(Feature feature) { 371 } 372 private static void bridges(Feature feature) { 469 if (zoom >= 14) { 470 } 471 } 472 private static void obstructions(Feature feature) { 473 if ((zoom >= 14) && (feature.type == Obj.UWTROC)) { 474 WatLEV lvl = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV); 475 switch (lvl) { 476 case LEV_CVRS: 477 Renderer.symbol(feature, Areas.RockC, null, null); 478 break; 479 case LEV_AWSH: 480 Renderer.symbol(feature, Areas.RockA, null, null); 481 break; 482 default: 483 Renderer.symbol(feature, Areas.Rock, null, null); 484 } 485 } else { 486 Renderer.symbol(feature, Areas.Rock, null, null); 487 } 488 } 489 private static void pipelines(Feature feature) { 490 if (zoom >= 14) { 491 if (feature.type == Obj.PIPSOL) { 492 Renderer.lineSymbols(feature, Areas.Pipeline, 1.0, null, 0); 493 } else if (feature.type == Obj.PIPOHD) { 494 495 } 496 } 497 } 498 private static void platforms(Feature feature) { 499 Renderer.symbol(feature, Landmarks.Platform, null, null); 500 /*object_rules(platforms) { 501 if (has_attribute("category")) { 502 attribute_switch("category") 503 attribute_case("fpso") symbol("storage"); 504 attribute_default symbol("platform"); 505 end_switch 506 } else { 507 symbol("platform"); 508 } 509 if ((zoom >= 15) && has_item_attribute("name")) 510 text(item_attribute("name"), "font-family:Arial; font-weight:bold; font-size:80; text-anchor:start", 60, -50); 511 if (has_object("fog_signal")) object(fogs); 512 if (has_object("radar_transponder")) object(rtbs); 513 if (has_object("light")) object(lights); 514 } 515 */ 516 } 517 private static void ports(Feature feature) { 518 /*object_rules(ports) { 519 if (zoom>=14) { 520 if (is_type("crane")) { 521 if (attribute_test("category", "container_crane")) symbol("container_crane"); 522 else symbol("port_crane"); 523 } 524 if (is_type("hulk")) { 525 area("fill:#ffe000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"); 526 if ((zoom >= 15) && (has_item_attribute("name"))) 527 text(item_attribute("name"), "font-family:Arial; font-weight:bold; font-size:70; text-anchor:middle", 0, 0); 528 } 529 } 530 } 531 */ 532 } 533 private static void separation(Feature feature) { 534 switch (feature.type) { 535 case TSEZNE: 536 case TSSCRS: 537 case TSSRON: 538 if (zoom <= 15) 539 Renderer.lineVector(feature, new LineStyle(null, 0, null, new Color(0x80c480ff, true))); 540 else 541 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, null, null)); 542 AttItem name = feature.atts.get(Att.OBJNAM); 543 if ((zoom >= 10) && (name != null)) 544 Renderer.labelText(feature, (String) name.val, new Font("Arial", Font.BOLD, 150), new Color(0x80c480ff), null); 545 break; 546 case TSELNE: 547 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, null, null)); 548 break; 549 case TSSLPT: 550 Renderer.lineSymbols(feature, Areas.LaneArrow, 0.5, null, 0); 551 break; 552 case TSSBND: 553 Renderer.lineVector(feature, new LineStyle(new Color(0x80c480ff, true), 20, new float[] { 40, 40 }, null)); 554 break; 555 } 556 } 557 private static void shoreline(Feature feature) { 558 if (zoom >= 12) { 559 switch ((CatSLC) Renderer.getAttVal(feature, feature.type, 0, Att.CATSLC)) { 560 case SLC_TWAL: 561 WatLEV lev = (WatLEV) Renderer.getAttVal(feature, feature.type, 0, Att.WATLEV); 562 if (lev == WatLEV.LEV_CVRS) { 563 Renderer.lineVector(feature, new LineStyle(Color.black, 10, new float[] { 40, 40 }, null)); 564 if (zoom >= 15) 565 Renderer.lineText(feature, "(covers)", new Font("Arial", Font.PLAIN, 80), 0.5, 20); 566 } else { 567 Renderer.lineVector(feature, new LineStyle(Color.black, 10, null, null)); 568 } 569 if (zoom >= 15) 570 Renderer.lineText(feature, "Training Wall", new Font("Arial", Font.PLAIN, 80), 0.5, -20); 571 } 572 } 573 } 574 private static void signals(Feature feature) { 575 switch (feature.type) { 576 case SISTAT: 577 case SISTAW: 578 Renderer.symbol(feature, Harbours.SignalStation, null, null); 579 break; 580 case RDOSTA: 581 Renderer.symbol(feature, Harbours.SignalStation, null, null); 582 break; 583 case RADSTA: 584 Renderer.symbol(feature, Harbours.SignalStation, null, null); 585 Renderer.symbol(feature, Beacons.RadarStation, null, null); 586 break; 587 case PILBOP: 588 Renderer.symbol(feature, Harbours.Pilot, null, null); 589 break; 590 case CGUSTA: 591 Renderer.symbol(feature, Harbours.SignalStation, null, null); 592 break; 593 case RSCSTA: 594 Renderer.symbol(feature, Harbours.Rescue, null, null); 595 break; 596 } 597 /* if (has_object("fog_signal")) object(fogs); 598 if (has_object("radar_transponder")) object(rtbs); 599 if (has_object("light")) object(lights); 600 } 601 */ 602 } 603 private static void transits(Feature feature) { 604 /*object_rules(transits) { 605 int ref; 606 if (zoom >= 12) { 607 if (is_type("recommended_track")) ref = line("stroke-width:8; stroke:#000000; stroke-linecap:butt; fill:none"); 608 else if (is_type("navigation_line")) ref = line("stroke-width:8; stroke-dasharray:20,20; stroke:#000000; stroke-linecap:butt; fill:none"); 609 } 610 if (zoom >= 15) { 611 make_string(""); 612 if (has_object("name")) { 613 add_string(item_attribute("name")); 614 add_string(" "); 615 } 616 if (has_attribute("orientation")) { 617 add_string(attribute("orientation")); 618 add_string("¡"); 619 } 620 if (has_attribute("category")) { 621 add_string(" ("); 622 add_string(attribute("category")); 623 add_string(")"); 624 } 625 line_text(string, "font-family:Arial; font-weight:normal; font-size:80; text-anchor:middle", 0.5, -20, ref); 626 free_string 627 } 628 } 629 */ 630 } 631 private static void waterways(Feature feature) { 632 if ((zoom >= 14) && (feature.atts.get(Att.OBJNAM) != null)) { 633 // lineText(item_attribute("name"), "font-family:Arial;font-weight:bold;font-size:80;text-anchor:middle", 0.5, 15, line("stroke:none;fill:none")); 634 } 373 635 } 374 636 private static void wrecks(Feature feature) { … … 390 652 } 391 653 } 392 private static void gauges(Feature feature) { 393 } 394 private static void lights(Feature feature) { 395 switch (feature.type) { 396 case LITMAJ: 397 Renderer.symbol(feature, Beacons.LightMajor, null, null); 398 break; 399 case LITMIN: 400 case LIGHTS: 401 Renderer.symbol(feature, Beacons.LightMinor, null, null); 402 break; 403 } 404 } 405 private static void signals(Feature feature) { 406 switch (feature.type) { 407 case SISTAT: 408 case SISTAW: 409 Renderer.symbol(feature, Harbours.SignalStation, null, null); 410 break; 411 case RDOSTA: 412 Renderer.symbol(feature, Harbours.SignalStation, null, null); 413 break; 414 case RADSTA: 415 Renderer.symbol(feature, Harbours.SignalStation, null, null); 416 Renderer.symbol(feature, Beacons.RadarStation, null, null); 417 break; 418 case PILBOP: 419 Renderer.symbol(feature, Harbours.Pilot, null, null); 420 break; 421 case CGUSTA: 422 Renderer.symbol(feature, Harbours.SignalStation, null, null); 423 break; 424 case RSCSTA: 425 Renderer.symbol(feature, Harbours.Rescue, null, null); 426 break; 427 } 428 } 429 private static void floats(Feature feature) { 430 switch (feature.type) { 431 case LITVES: 432 Renderer.symbol(feature, Buoys.Super, feature.type, null); 433 break; 434 case LITFLT: 435 Renderer.symbol(feature, Buoys.Float, feature.type, null); 436 break; 437 case BOYINB: 438 Renderer.symbol(feature, Buoys.Storage, feature.type, null); 439 break; 440 } 441 if (feature.objs.get(Obj.TOPMAR) != null) 442 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Floats); 443 } 444 private static void platforms(Feature feature) { 445 Renderer.symbol(feature, Landmarks.Platform, null, null); 446 } 447 private static void buoys(Feature feature) { 448 BoySHP shape = (BoySHP) Renderer.getAttVal(feature, feature.type, 0, Att.BOYSHP); 449 Renderer.symbol(feature, Buoys.Shapes.get(shape), feature.type, null); 450 if (feature.objs.get(Obj.TOPMAR) != null) { 451 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Buoys.get(shape)); 452 } 453 } 454 private static void beacons(Feature feature) { 455 BcnSHP shape = (BcnSHP) Renderer.getAttVal(feature, feature.type, 0, Att.BCNSHP); 456 if (((shape == BcnSHP.BCN_PRCH) || (shape == BcnSHP.BCN_WTHY)) && (feature.type == Obj.BCNLAT)) { 457 CatLAM cat = (CatLAM) Renderer.getAttVal(feature, feature.type, 0, Att.CATLAM); 458 switch (cat) { 459 case LAM_PORT: 460 if (shape == BcnSHP.BCN_PRCH) 461 Renderer.symbol(feature, Beacons.PerchPort, null, null); 462 else 463 Renderer.symbol(feature, Beacons.WithyPort, null, null); 464 break; 465 case LAM_STBD: 466 if (shape == BcnSHP.BCN_PRCH) 467 Renderer.symbol(feature, Beacons.PerchStarboard, null, null); 468 else 469 Renderer.symbol(feature, Beacons.WithyStarboard, null, null); 470 break; 471 default: 472 Renderer.symbol(feature, Beacons.Stake, feature.type, null); 473 } 474 } else { 475 Renderer.symbol(feature, Beacons.Shapes.get(shape), feature.type, null); 476 if (feature.objs.get(Obj.TOPMAR) != null) 477 Renderer.symbol(feature, Topmarks.Shapes.get(feature.objs.get(Obj.TOPMAR).get(0).get(Att.TOPSHP).val), Obj.TOPMAR, Topmarks.Beacons); 478 } 479 } 480 } 654 }
Note:
See TracChangeset
for help on using the changeset viewer.