Changeset 33054 in osm for applications/editors/josm/plugins/smed/src/seamarks
- Timestamp:
- 2016-11-12T04:42:33+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/smed/src/seamarks/SeaMark.java
r32911 r33054 1 // License: GPL. For details, see LICENSE file. 1 2 package seamarks; 2 3 … … 234 235 NTC_B1a, NTC_B1b, NTC_B2a, NTC_B2b, NTC_B3a, NTC_B3b, NTC_B4a, NTC_B4b, NTC_B5, NTC_B6, NTC_B7, NTC_B8, NTC_B9a, NTC_B9b, NTC_B11, 235 236 NTC_C1, NTC_C2, NTC_C3, NTC_C4, NTC_C5a, NTC_C5b, NTC_D1a, NTC_D1b, NTC_D2a, NTC_D2b, NTC_D3a, NTC_D3b, 236 NOROS, ROS_UNKN, ROS_OMNI, ROS_DIRL, ROS_ROTP, ROS_CNSL, ROS_RDF, ROS_QTG, ROS_AERO, ROS_DECA, ROS_LORN, ROS_DGPS, ROS_TORN, ROS_OMGA, ROS_SYLD, ROS_CHKA, 237 ROS_PCOM, ROS_COMB, ROS_FACS, ROS_TIME, ROS_PAIS, ROS_SAIS, ROS_VAIS, ROS_VANC, ROS_VASC, ROS_VAEC, ROS_VAWC, ROS_VAPL, ROS_VASL, ROS_VAID, ROS_VASW, ROS_VASP, ROS_VAWK 237 NOROS, ROS_UNKN, ROS_OMNI, ROS_DIRL, ROS_ROTP, ROS_CNSL, ROS_RDF, ROS_QTG, ROS_AERO, ROS_DECA, ROS_LORN, 238 ROS_DGPS, ROS_TORN, ROS_OMGA, ROS_SYLD, ROS_CHKA, 239 ROS_PCOM, ROS_COMB, ROS_FACS, ROS_TIME, ROS_PAIS, ROS_SAIS, ROS_VAIS, ROS_VANC, ROS_VASC, ROS_VAEC, ROS_VAWC, 240 ROS_VAPL, ROS_VASL, ROS_VAID, ROS_VASW, ROS_VASP, ROS_VAWK 238 241 } 239 242 … … 322 325 CatSTR.put(Cat.LMK_MNRT, "minaret"); 323 326 CatSTR.put(Cat.OFP_OIL, "oil"); 324 CatSTR.put(Cat.OFP_PRD, 327 CatSTR.put(Cat.OFP_PRD, "production"); 325 328 CatSTR.put(Cat.OFP_OBS, "observation"); 326 329 CatSTR.put(Cat.OFP_ALP, "alp"); … … 441 444 442 445 public enum Shp { 443 UNKSHP, PILLAR, SPAR, CAN, CONI, SPHERI, BARREL, FLOAT, SUPER, BUOYANT, CAIRN, PILE, LATTICE, TOWER, STAKE, POLE, POST, PERCH, BUOY, BEACON 446 UNKSHP, PILLAR, SPAR, CAN, CONI, SPHERI, BARREL, FLOAT, SUPER, BUOYANT, 447 CAIRN, PILE, LATTICE, TOWER, STAKE, POLE, POST, PERCH, BUOY, BEACON 444 448 } 445 449 … … 729 733 } 730 734 731 public Object[] sector = { 735 public Object[] sector = {Col.UNKCOL, "", "", "", "", Lit.UNKLIT, "", "", 732 736 "", "", "", Vis.UNKVIS, Exh.UNKEXH, "", "", Col.UNKCOL }; 733 737 … … 767 771 case 9: 768 772 case 10: 769 sectors.get(i)[att] = validDecimal((String) obj);773 sectors.get(i)[att] = validDecimal((String) obj); 770 774 break; 771 775 case 6: 772 776 case 7: 773 777 case 13: 774 sectors.get(i)[att] = validDecimal((String) obj, 360);778 sectors.get(i)[att] = validDecimal((String) obj, 360); 775 779 break; 776 780 default: … … 1778 1782 str = keys.get("seamark:light" + secStr + ":colour"); 1779 1783 if (str.contains(";")) { 1780 String strs[]= str.split(";");1781 for (Col col : ColSTR.keySet()) 1784 String[] strs = str.split(";"); 1785 for (Col col : ColSTR.keySet()) { 1782 1786 if ((strs.length > 1) && ColSTR.get(col).equals(strs[1])) { 1783 1787 setLightAtt(Att.ALT, i, col); 1784 1788 } 1789 } 1785 1790 str = strs[0]; 1786 1791 } 1787 for (Col col : ColSTR.keySet()) 1792 for (Col col : ColSTR.keySet()) { 1788 1793 if (ColSTR.get(col).equals(str)) { 1789 1794 setLightAtt(Att.COL, i, col); 1790 1795 } 1796 } 1791 1797 } 1792 1798 if (keys.containsKey("seamark:light" + secStr + ":character")) { … … 1817 1823 str = "horizontal"; 1818 1824 } 1819 for (Lit lit : LitSTR.keySet()) 1825 for (Lit lit : LitSTR.keySet()) { 1820 1826 if (LitSTR.get(lit).equals(str)) { 1821 1827 setLightAtt(Att.LIT, i, lit); 1822 1828 } 1829 } 1823 1830 } 1824 1831 if (keys.containsKey("seamark:light" + secStr + ":sector_start")) { … … 1839 1846 if (keys.containsKey("seamark:light" + secStr + ":visibility")) { 1840 1847 str = keys.get("seamark:light" + secStr + ":visibility"); 1841 for (Vis vis : VisSTR.keySet()) 1848 for (Vis vis : VisSTR.keySet()) { 1842 1849 if (VisSTR.get(vis).equals(str)) { 1843 1850 setLightAtt(Att.VIS, i, vis); 1844 1851 } 1852 } 1845 1853 } 1846 1854 if (keys.containsKey("seamark:light" + secStr + ":exhibition")) { 1847 1855 str = keys.get("seamark:light" + secStr + ":exhibition"); 1848 for (Exh exh : ExhSTR.keySet()) 1856 for (Exh exh : ExhSTR.keySet()) { 1849 1857 if (ExhSTR.get(exh).equals(str)) { 1850 1858 setLightAtt(Att.EXH, i, exh); 1851 1859 } 1860 } 1852 1861 } 1853 1862 if (keys.containsKey("seamark:light" + secStr + ":orientation")) { … … 2450 2459 g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); 2451 2460 g2.setStroke(new BasicStroke(6.0f)); 2452 if (!((String) getLightAtt(Att.BEG, i)).isEmpty() && !((String)getLightAtt(Att.END, i)).isEmpty()) {2461 if (!((String) getLightAtt(Att.BEG, i)).isEmpty() && !((String) getLightAtt(Att.END, i)).isEmpty()) { 2453 2462 if (getLightAtt(Att.COL, i) != Col.UNKCOL) { 2454 2463 g2.setPaint(ColMAP.get(getLightAtt(Att.COL, i))); 2455 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i));2456 Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0;2464 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i)); 2465 Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0; 2457 2466 da -= da > 0 ? 360 : 0; 2458 2467 g2.draw(new Arc2D.Double(12, 15, 140, 140, a0, da, Arc2D.OPEN)); … … 2460 2469 if (getLightAtt(Att.ALT, i) != Col.UNKCOL) { 2461 2470 g2.setPaint(ColMAP.get(getLightAtt(Att.ALT, i))); 2462 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i));2463 Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0;2471 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.BEG, i)); 2472 Double da = 270 - Double.parseDouble((String) getLightAtt(Att.END, i)) - a0; 2464 2473 da -= da > 0 ? 360 : 0; 2465 2474 g2.draw(new Arc2D.Double(17, 20, 130, 130, a0, da, Arc2D.OPEN)); 2466 2475 } 2467 } else if ((getLightAtt(Att.LIT, i) == Lit.DIR) && !((String) getLightAtt(Att.ORT, i)).isEmpty()) {2476 } else if ((getLightAtt(Att.LIT, i) == Lit.DIR) && !((String) getLightAtt(Att.ORT, i)).isEmpty()) { 2468 2477 if (getLightAtt(Att.COL, i) != Col.UNKCOL) { 2469 2478 g2.setPaint(ColMAP.get(getLightAtt(Att.COL, i))); 2470 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.ORT, i)) + 2.0;2479 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.ORT, i)) + 2.0; 2471 2480 Double da = -4.0; 2472 2481 g2.draw(new Arc2D.Double(12, 15, 140, 140, a0, da, Arc2D.OPEN)); … … 2474 2483 if (getLightAtt(Att.ALT, i) != Col.UNKCOL) { 2475 2484 g2.setPaint(ColMAP.get(getLightAtt(Att.ALT, i))); 2476 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.ORT, i)) + 2.0;2485 Double a0 = 270 - Double.parseDouble((String) getLightAtt(Att.ORT, i)) + 2.0; 2477 2486 Double da = -4.0; 2478 2487 g2.draw(new Arc2D.Double(17, 20, 130, 130, a0, da, Arc2D.OPEN)); … … 2481 2490 } 2482 2491 g2.setPaint(Color.BLACK); 2483 if ((getLightAtt(Att.COL, 0) != Col.UNKCOL) || !(((String) getLightAtt(Att.CHR, 0)).isEmpty())) {2492 if ((getLightAtt(Att.COL, 0) != Col.UNKCOL) || !(((String) getLightAtt(Att.CHR, 0)).isEmpty())) { 2484 2493 if (sectors.size() == 1) { 2485 2494 if (((String) getLightAtt(Att.CHR, 0)).contains("Al")) { … … 2574 2583 } 2575 2584 if (getLightAtt(Att.LIT, 0) != Lit.UNKLIT) { 2576 switch ((Lit) getLightAtt(Att.LIT, 0)) {2585 switch ((Lit) getLightAtt(Att.LIT, 0)) { 2577 2586 case VERT: 2578 2587 c += "(Vert)"; … … 2697 2706 2698 2707 if (getObjPattern() != Pat.NOPAT) { 2699 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":colour_pattern", PatSTR.get(getObjPattern()))); 2708 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:" + objStr + ":colour_pattern", 2709 PatSTR.get(getObjPattern()))); 2700 2710 } 2701 2711 … … 2745 2755 String secStr = (i == 0) ? "" : (":" + Integer.toString(i)); 2746 2756 if (sectors.get(i)[0] != Col.UNKCOL) 2747 if ((sectors.get(i)[15] != Col.UNKCOL) && ((String)sectors.get(i)[1]).contains("Al")) { 2748 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":colour", (ColSTR.get(sectors.get(i)[0])) + ";" + ColSTR.get(sectors.get(i)[15]))); 2757 if ((sectors.get(i)[15] != Col.UNKCOL) && ((String) sectors.get(i)[1]).contains("Al")) { 2758 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":colour", 2759 (ColSTR.get(sectors.get(i)[0])) + ";" + ColSTR.get(sectors.get(i)[15]))); 2749 2760 } else { 2750 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":colour", ColSTR.get(sectors.get(i)[0]))); 2761 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":colour", 2762 ColSTR.get(sectors.get(i)[0]))); 2751 2763 } 2752 2764 if (!((String) sectors.get(i)[1]).isEmpty()) { … … 2771 2783 } 2772 2784 if (sectors.get(i)[5] != Lit.UNKLIT) { 2773 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":category", LitSTR.get(sectors.get(i)[5]))); 2785 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":category", 2786 LitSTR.get(sectors.get(i)[5]))); 2774 2787 } else if (sectors.get(0)[5] != Lit.UNKLIT) { 2775 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":category", LitSTR.get(sectors.get(0)[5]))); 2788 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":category", 2789 LitSTR.get(sectors.get(0)[5]))); 2776 2790 } 2777 2791 if (!((String) sectors.get(i)[6]).isEmpty()) { 2778 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":sector_start", (String) sectors.get(i)[6])); 2792 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":sector_start", 2793 (String) sectors.get(i)[6])); 2779 2794 } 2780 2795 if (!((String) sectors.get(i)[7]).isEmpty()) { 2781 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":sector_end", (String) sectors.get(i)[7])); 2796 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":sector_end", 2797 (String) sectors.get(i)[7])); 2782 2798 } 2783 2799 if (!((String) sectors.get(i)[8]).isEmpty()) { … … 2797 2813 } 2798 2814 if (sectors.get(i)[11] != Vis.UNKVIS) { 2799 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":visibility", VisSTR.get(sectors.get(i)[11]))); 2815 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":visibility", 2816 VisSTR.get(sectors.get(i)[11]))); 2800 2817 } else if (sectors.get(0)[11] != Vis.UNKVIS) { 2801 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":visibility", VisSTR.get(sectors.get(0)[11]))); 2818 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":visibility", 2819 VisSTR.get(sectors.get(0)[11]))); 2802 2820 } 2803 2821 if (sectors.get(i)[12] != Exh.UNKEXH) { 2804 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":exhibition", ExhSTR.get(sectors.get(i)[12]))); 2822 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":exhibition", 2823 ExhSTR.get(sectors.get(i)[12]))); 2805 2824 } else if (sectors.get(0)[12] != Exh.UNKEXH) { 2806 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":exhibition", ExhSTR.get(sectors.get(0)[12]))); 2825 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":exhibition", 2826 ExhSTR.get(sectors.get(0)[12]))); 2807 2827 } 2808 2828 if (!((String) sectors.get(i)[13]).isEmpty()) { 2809 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":orientation", (String) sectors.get(i)[13])); 2829 Main.main.undoRedo.add(new ChangePropertyCommand(node, "seamark:light" + secStr + ":orientation", 2830 (String) sectors.get(i)[13])); 2810 2831 } 2811 2832 if (!((String) sectors.get(i)[14]).isEmpty()) {
Note:
See TracChangeset
for help on using the changeset viewer.