Ignore:
Timestamp:
2016-06-24T03:48:12+02:00 (9 years ago)
Author:
donvip
Message:

checkstyle

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/seachart/src/symbols/Facilities.java

    r32393 r32394  
    1212import java.awt.BasicStroke;
    1313import java.awt.Color;
    14 import java.awt.geom.*;
     14import java.awt.geom.Arc2D;
     15import java.awt.geom.Ellipse2D;
     16import java.awt.geom.GeneralPath;
     17import java.awt.geom.Line2D;
     18import java.awt.geom.Path2D;
     19import java.awt.geom.Rectangle2D;
     20import java.awt.geom.RoundRectangle2D;
    1521import java.util.EnumMap;
    1622
    17 import s57.S57val.*;
    18 import symbols.Symbols.*;
     23import s57.S57val.CatSCF;
     24import symbols.Symbols.Form;
     25import symbols.Symbols.Instr;
     26import symbols.Symbols.Symbol;
    1927
    2028public class Facilities {
    21         private static final Symbol Facility = new Symbol();
    22         static {
    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                 RoundRectangle2D.Double s = new RoundRectangle2D.Double(-29,-29,58,58,15,15);
    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         }
    30         public static final Symbol Boatlift = new Symbol();//was Crane
    31         static {
    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         }
    39         public static final Symbol Boatyard = new Symbol();
    40         static {
    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                 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                 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(Form.PGON, p));
    48         }
    49         public static final Symbol Chandler = new Symbol();
    50         static {
    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         }
    60         public static final Symbol Fuel = new Symbol();
    61         static {
    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                 Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD);
    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                 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                 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(Form.PGON, p));
    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                 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(Form.PLIN, p));
    74         }
    75         public static final Symbol Laundrette = new Symbol();
    76         static {
    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                 Path2D.Double p = new Path2D.Double(); p.moveTo(-15,-15); p.lineTo(-15,-20); p.lineTo(15,-20); p.lineTo(15,-15);
    84                 p.moveTo(-10,15); p.lineTo(-10,20); p.lineTo(10,20); p.lineTo(10,15);
    85                 Laundrette.add(new Instr(Form.PLIN, p));
    86         }
    87         public static final Symbol PumpOut = new Symbol();
    88         static {
    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                 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                 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(Form.PLIN, p));
    96                 PumpOut.add(new Instr(Form.STRK, new BasicStroke(3.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
    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(Form.PLIN, p));
    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(Form.PGON, p));
    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(Form.PGON, p));
    103         }
    104         public static final Symbol SailingClub = new Symbol();
    105         static {
    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                 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(Form.PGON, p));
    113         }
    114         public static final Symbol Shower = new Symbol();
    115         static {
    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                 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(Form.PLIN, p));
    128         }
    129         public static final Symbol Slipway = new Symbol();
    130         static {
    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                 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                 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                 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(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                 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                 p.lineTo(-17.1,-18.9); p.quadTo(-16.8,-11.4,-7.7,-7.7); p.closePath();
    145                 Slipway.add(new Instr(Form.PGON, p));
    146         }
    147         public static final Symbol Toilet = new Symbol();
    148         static {
    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                 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                 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                 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(Form.PGON, p));
    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                 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                 p.lineTo(6.8,-10.1); p.lineTo(9.4,-12.2); p.closePath();
    163                 Toilet.add(new Instr(Form.PGON, p));
    164         }
    165         public static final Symbol VisitorBerth = new Symbol();
    166         static {
    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                 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                 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(Form.PGON, p));
    174         }
    175         public static final Symbol VisitorMooring = new Symbol();
    176         static {
    177                 VisitorMooring.add(new Instr(Form.FILL, new Color(0xa30075)));
    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                 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(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                 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                 p.lineTo(-1.9,-32.8); p.lineTo(3.2,-18.1); p.closePath();
    190                 VisitorMooring.add(new Instr(Form.PGON, p));
    191         }
    192 
    193         public static final EnumMap<CatSCF, Symbol> Cats = new EnumMap<>(CatSCF.class);
    194         static {
    195                 Cats.put(CatSCF.SCF_BHST, Boatlift); Cats.put(CatSCF.SCF_BTYD, Boatyard); Cats.put(CatSCF.SCF_CHDR, Chandler); Cats.put(CatSCF.SCF_FUEL, Fuel); Cats.put(CatSCF.SCF_LAUN, Laundrette);
    196                 Cats.put(CatSCF.SCF_PMPO, PumpOut); Cats.put(CatSCF.SCF_CLUB, SailingClub); Cats.put(CatSCF.SCF_SHWR, Shower); Cats.put(CatSCF.SCF_SLPW, Slipway); Cats.put(CatSCF.SCF_WC, Toilet);
    197                 Cats.put(CatSCF.SCF_VBTH, VisitorBerth); Cats.put(CatSCF.SCF_VMOR, VisitorMooring);
    198         }
     29    // CHECKSTYLE.OFF: LineLength
     30    private static final Symbol Facility = new Symbol();
     31    static {
     32        Facility.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     33        Facility.add(new Instr(Form.FILL, new Color(0x80ffffff, true)));
     34        RoundRectangle2D.Double s = new RoundRectangle2D.Double(-29, -29, 58, 58, 15, 15);
     35        Facility.add(new Instr(Form.RSHP, s));
     36        Facility.add(new Instr(Form.FILL, new Color(0xa30075)));
     37        Facility.add(new Instr(Form.RRCT, s));
     38    }
     39
     40    public static final Symbol Boatlift = new Symbol(); //was Crane
     41    static {
     42        Boatlift.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     43        Boatlift.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     44        Boatlift.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
     45        Boatlift.add(new Instr(Form.ELPS, new Ellipse2D.Double(-3.7, -19.7, 12, 12)));
     46        Boatlift.add(new Instr(Form.LINE, new Line2D.Double(2.3, -7.7, 2.3, -2.0)));
     47        Boatlift.add(new Instr(Form.EARC, new Arc2D.Double(-10.0, -1.5, 20, 20, 75.0, -260.0, Arc2D.OPEN)));
     48    }
     49
     50    public static final Symbol Boatyard = new Symbol();
     51    static {
     52        Boatyard.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     53        Boatyard.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     54        Boatyard.add(new Instr(Form.STRK, new BasicStroke(8, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     55        Boatyard.add(new Instr(Form.LINE, new Line2D.Double(19, 19, -8, -8)));
     56        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);
     57        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();
     58        Boatyard.add(new Instr(Form.PGON, p));
     59    }
     60
     61    public static final Symbol Chandler = new Symbol();
     62    static {
     63        Chandler.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     64        Chandler.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     65        Chandler.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     66        Chandler.add(new Instr(Form.ELPS, new Ellipse2D.Double(14, 7, 10, 10)));
     67        Chandler.add(new Instr(Form.LINE, new Line2D.Double(-23.0, 12.0, 14.0, 12.0)));
     68        Chandler.add(new Instr(Form.LINE, new Line2D.Double(8.0, 21.0, 8.0, -8.6)));
     69        Chandler.add(new Instr(Form.LINE, new Line2D.Double(-16.0, 21.0, -16.0, -8.6)));
     70        Chandler.add(new Instr(Form.EARC, new Arc2D.Double(-16.0, -20.5, 24, 24, 0.0, 180.0, Arc2D.OPEN)));
     71    }
     72
     73    public static final Symbol Fuel = new Symbol();
     74    static {
     75        Fuel.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     76        Fuel.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     77        Fuel.add(new Instr(Form.STRK, new BasicStroke(2.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     78        Fuel.add(new Instr(Form.FILL, new Color(0xa30075)));
     79        Path2D.Double p = new Path2D.Double(); p.setWindingRule(GeneralPath.WIND_EVEN_ODD);
     80        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();
     81        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);
     82        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();
     83        Fuel.add(new Instr(Form.PGON, p));
     84        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);
     85        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);
     86        Fuel.add(new Instr(Form.PLIN, p));
     87    }
     88
     89    public static final Symbol Laundrette = new Symbol();
     90    static {
     91        Laundrette.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     92        Laundrette.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     93        Laundrette.add(new Instr(Form.STRK, new BasicStroke(1.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     94        Laundrette.add(new Instr(Form.FILL, new Color(0xa30075)));
     95        Laundrette.add(new Instr(Form.RECT, new Rectangle2D.Double(-15, -15, 30, 30)));
     96        Laundrette.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10, -10, 20, 20)));
     97        Path2D.Double p = new Path2D.Double(); p.moveTo(-15, -15); p.lineTo(-15, -20); p.lineTo(15, -20); p.lineTo(15, -15);
     98        p.moveTo(-10, 15); p.lineTo(-10, 20); p.lineTo(10, 20); p.lineTo(10, 15);
     99        Laundrette.add(new Instr(Form.PLIN, p));
     100    }
     101
     102    public static final Symbol PumpOut = new Symbol();
     103    static {
     104        PumpOut.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     105        PumpOut.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     106        PumpOut.add(new Instr(Form.STRK, new BasicStroke(2.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     107        PumpOut.add(new Instr(Form.FILL, new Color(0xa30075)));
     108        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);
     109        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);
     110        PumpOut.add(new Instr(Form.PLIN, p));
     111        PumpOut.add(new Instr(Form.STRK, new BasicStroke(3.5f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)));
     112        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);
     113        PumpOut.add(new Instr(Form.PLIN, p));
     114        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();
     115        PumpOut.add(new Instr(Form.PGON, p));
     116        p = new Path2D.Double(); p.moveTo(14.1, -10.6); p.lineTo(23.1, -6.7); p.lineTo(14.1, -2.8); p.closePath();
     117        PumpOut.add(new Instr(Form.PGON, p));
     118    }
     119
     120    public static final Symbol SailingClub = new Symbol();
     121    static {
     122        SailingClub.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     123        SailingClub.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     124        SailingClub.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     125        SailingClub.add(new Instr(Form.FILL, new Color(0xa30075)));
     126        SailingClub.add(new Instr(Form.LINE, new Line2D.Double(-5, 20, -5, -20)));
     127        Path2D.Double p = new Path2D.Double(); p.moveTo(-5, 0); p.lineTo(20, -10); p.lineTo(-5, -20); p.closePath();
     128        SailingClub.add(new Instr(Form.PGON, p));
     129    }
     130
     131    public static final Symbol Shower = new Symbol();
     132    static {
     133        Shower.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     134        Shower.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     135        Shower.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     136        Shower.add(new Instr(Form.FILL, new Color(0xa30075)));
     137        Shower.add(new Instr(Form.LINE, new Line2D.Double(-4.8, -24.5, 6.2, -13.5)));
     138        Shower.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     139        Shower.add(new Instr(Form.LINE, new Line2D.Double(-18.1, -17.9, -6.1, -21.3)));
     140        Shower.add(new Instr(Form.LINE, new Line2D.Double(-13.9, -10.2, -3.9, -17.7)));
     141        Shower.add(new Instr(Form.LINE, new Line2D.Double(-7.8, -4.4, -0.5, -14.3)));
     142        Shower.add(new Instr(Form.LINE, new Line2D.Double(-0.2, -0.2, 3.1, -12.1)));
     143        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);
     144        Shower.add(new Instr(Form.PLIN, p));
     145    }
     146
     147    public static final Symbol Slipway = new Symbol();
     148    static {
     149        Slipway.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     150        Slipway.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     151        Slipway.add(new Instr(Form.STRK, new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     152        Slipway.add(new Instr(Form.FILL, new Color(0xa30075)));
     153        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);
     154        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);
     155        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();
     156        Slipway.add(new Instr(Form.PGON, p));
     157        Slipway.add(new Instr(Form.ELPS, new Ellipse2D.Double(-1.65, -1.9, 8, 8)));
     158        Slipway.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     159        Slipway.add(new Instr(Form.LINE, new Line2D.Double(-24.5, -8.3, -3.1, -2.4)));
     160        Slipway.add(new Instr(Form.LINE, new Line2D.Double(9.3, 1.1, 22.2, 4.6)));
     161        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);
     162        p.lineTo(-17.1, -18.9); p.quadTo(-16.8, -11.4, -7.7, -7.7); p.closePath();
     163        Slipway.add(new Instr(Form.PGON, p));
     164    }
     165
     166    public static final Symbol Toilet = new Symbol();
     167    static {
     168        Toilet.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     169        Toilet.add(new Instr(Form.SYMB, new Symbols.SubSymbol(Facilities.Facility, 1.0, 0, 0, null, null)));
     170        Toilet.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     171        Toilet.add(new Instr(Form.FILL, new Color(0xa30075)));
     172        Toilet.add(new Instr(Form.LINE, new Line2D.Double(0, 20, 0, -20)));
     173        Toilet.add(new Instr(Form.RSHP, new Ellipse2D.Double(-18.5, -22.5, 7.4, 7.4)));
     174        Toilet.add(new Instr(Form.RSHP, new Ellipse2D.Double(11, -22.5, 7.4, 7.4)));
     175        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);
     176        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);
     177        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();
     178        Toilet.add(new Instr(Form.PGON, p));
     179        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);
     180        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);
     181        p.lineTo(6.8, -10.1); p.lineTo(9.4, -12.2); p.closePath();
     182        Toilet.add(new Instr(Form.PGON, p));
     183    }
     184
     185    public static final Symbol VisitorBerth = new Symbol();
     186    static {
     187        VisitorBerth.add(new Instr(Form.BBOX, new Rectangle2D.Double(-30, -30, 60, 60)));
     188        VisitorBerth.add(new Instr(Form.FILL, new Color(0xa30075)));
     189        VisitorBerth.add(new Instr(Form.RSHP, new Ellipse2D.Double(-25, -25, 50, 50)));
     190        VisitorBerth.add(new Instr(Form.FILL, Color.white));
     191        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);
     192        p.lineTo(-14.0, -13.6); p.lineTo(-7.9, -13.6); p.lineTo(0.0, 8.7); p.closePath();
     193        VisitorBerth.add(new Instr(Form.PGON, p));
     194    }
     195
     196    public static final Symbol VisitorMooring = new Symbol();
     197    static {
     198        VisitorMooring.add(new Instr(Form.FILL, new Color(0xa30075)));
     199        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);
     200        p.lineTo(8.0, 0.0); p.curveTo(8.0, -11.0, -8.0, -11.0, -8.0, 0.0); p.closePath();
     201        VisitorMooring.add(new Instr(Form.PGON, p));
     202        VisitorMooring.add(new Instr(Form.STRK, new BasicStroke(4, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     203        VisitorMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(-10, -10, 20, 20)));
     204        VisitorMooring.add(new Instr(Form.LINE, new Line2D.Double(-33, 0, -10, 0)));
     205        VisitorMooring.add(new Instr(Form.LINE, new Line2D.Double(10, 0, 40, 0)));
     206        VisitorMooring.add(new Instr(Form.STRK, new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)));
     207        VisitorMooring.add(new Instr(Form.ELPS, new Ellipse2D.Double(6.5, -49.5, 12, 12)));
     208        VisitorMooring.add(new Instr(Form.FILL, Color.white));
     209        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);
     210        p.lineTo(-1.9, -32.8); p.lineTo(3.2, -18.1); p.closePath();
     211        VisitorMooring.add(new Instr(Form.PGON, p));
     212    }
     213
     214    public static final EnumMap<CatSCF, Symbol> Cats = new EnumMap<>(CatSCF.class);
     215    static {
     216        Cats.put(CatSCF.SCF_BHST, Boatlift); Cats.put(CatSCF.SCF_BTYD, Boatyard); Cats.put(CatSCF.SCF_CHDR, Chandler); Cats.put(CatSCF.SCF_FUEL, Fuel); Cats.put(CatSCF.SCF_LAUN, Laundrette);
     217        Cats.put(CatSCF.SCF_PMPO, PumpOut); Cats.put(CatSCF.SCF_CLUB, SailingClub); Cats.put(CatSCF.SCF_SHWR, Shower); Cats.put(CatSCF.SCF_SLPW, Slipway); Cats.put(CatSCF.SCF_WC, Toilet);
     218        Cats.put(CatSCF.SCF_VBTH, VisitorBerth); Cats.put(CatSCF.SCF_VMOR, VisitorMooring);
     219    }
    199220}
Note: See TracChangeset for help on using the changeset viewer.