Ignore:
Timestamp:
2012-12-16T22:26:04+01:00 (13 years ago)
Author:
malcolmh
Message:

save

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/symbols/Topmarks.java

    r29074 r29082  
    1313import java.awt.Color;
    1414import java.awt.Rectangle;
     15import java.awt.geom.Ellipse2D;
     16import java.awt.geom.Line2D;
    1517import java.awt.geom.Path2D;
    1618import java.util.ArrayList;
     
    2123public class Topmarks {
    2224
     25        public static final ArrayList<Instr> TopBoard = new ArrayList<Instr>();
     26        static {
     27                TopBoard.add(new Instr(Prim.BBOX, new Rectangle(-20,80,40,80)));
     28                ArrayList<Instr> colours = new ArrayList<Instr>();
     29                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();
     30                colours.add(new Instr(Prim.P1, p));
     31                TopBoard.add(new Instr(Prim.COLR, colours));
     32                TopBoard.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     33                TopBoard.add(new Instr(Prim.FILL, Color.black));
     34                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();
     35                TopBoard.add(new Instr(Prim.PLIN, p));
     36        }
     37
     38        public static final ArrayList<Instr> TopCan = new ArrayList<Instr>();
     39        static {
     40                TopCan.add(new Instr(Prim.BBOX, new Rectangle(-20,80,40,80)));
     41                ArrayList<Instr> colours = new ArrayList<Instr>();
     42                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();
     43                colours.add(new Instr(Prim.P1, p));
     44                TopCan.add(new Instr(Prim.COLR, colours));
     45                TopCan.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     46                TopCan.add(new Instr(Prim.FILL, Color.black));
     47                TopCan.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     48                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();
     49                TopCan.add(new Instr(Prim.PLIN, p));
     50        }
     51
    2352        public static final ArrayList<Instr> TopCone = new ArrayList<Instr>();
    2453        static {
    2554                TopCone.add(new Instr(Prim.BBOX, new Rectangle(-20,80,40,80)));
    2655                ArrayList<Instr> colours = new ArrayList<Instr>();
    27                 Path2D.Double p = new Path2D.Double(); p.moveTo(0.0,0.0); p.lineTo(0.0,-15.0); p.moveTo(-15.0,-15.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-15.0); p.closePath();
     56                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();
    2857                colours.add(new Instr(Prim.P1, p));
    2958                TopCone.add(new Instr(Prim.COLR, colours));
    3059                TopCone.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
    3160                TopCone.add(new Instr(Prim.FILL, Color.black));
    32                 p = new Path2D.Double(); p.moveTo(0.0,0.0); p.lineTo(0.0,-15.0); p.moveTo(-15.0,-15.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-15.0); p.closePath();
     61                TopCone.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     62                p = new Path2D.Double(); p.moveTo(-15.0,-15.0); p.lineTo(0.0,-45.0); p.lineTo(15.0,-15.0); p.closePath();
    3363                TopCone.add(new Instr(Prim.PLIN, p));
    3464        }
    3565
     66        public static final ArrayList<Instr> TopCross = new ArrayList<Instr>();
     67        static {
     68                TopCross.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     69                ArrayList<Instr> colours = new ArrayList<Instr>();
     70                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);
     71                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();
     72                colours.add(new Instr(Prim.P1, p));
     73                TopCross.add(new Instr(Prim.COLR, colours));
     74                TopCross.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     75                TopCross.add(new Instr(Prim.FILL, Color.black));
     76                TopCross.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     77                TopCross.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     78                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);
     79                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();
     80                TopCross.add(new Instr(Prim.PLIN, p));
     81        }
     82
     83        public static final ArrayList<Instr> TopEast = new ArrayList<Instr>();
     84        static {
     85                TopEast.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     86                ArrayList<Instr> colours = new ArrayList<Instr>();
     87                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();
     88                colours.add(new Instr(Prim.P1, p));
     89                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
     90                colours.add(new Instr(Prim.P2, p));
     91                TopEast.add(new Instr(Prim.COLR, colours));
     92                TopEast.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     93                TopEast.add(new Instr(Prim.FILL, Color.black));
     94                TopEast.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
     95                TopEast.add(new Instr(Prim.LINE, new Line2D.Double(0,-43,0,-47)));
     96                TopEast.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     97                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
     98                p.moveTo(0.0,-80.0); p.lineTo(-15.0,-47.0);  p.lineTo(15.0,-47.0); p.closePath();
     99                TopEast.add(new Instr(Prim.PLIN, p));
     100        }
     101
     102        public static final ArrayList<Instr> TopIsol = new ArrayList<Instr>();
     103        static {
     104                TopIsol.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     105                ArrayList<Instr> colours = new ArrayList<Instr>();
     106                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();
     107                colours.add(new Instr(Prim.P1, p));
     108                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();
     109                colours.add(new Instr(Prim.P2, p));
     110                TopIsol.add(new Instr(Prim.COLR, colours));
     111                TopIsol.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     112                TopIsol.add(new Instr(Prim.FILL, Color.black));
     113                TopIsol.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     114                TopIsol.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     115                TopIsol.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-13,-41,26,26)));
     116                TopIsol.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-13,-68,26,26)));
     117        }
     118
     119        public static final ArrayList<Instr> TopMooring = new ArrayList<Instr>();
     120        static {
     121                TopMooring.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     122                TopMooring.add(new Instr(Prim.STRK, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     123                TopMooring.add(new Instr(Prim.FILL, Color.black));
     124                TopMooring.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-1.5,-6,3,3)));
     125                TopMooring.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-8.5,-25,17,17)));
     126        }
     127
     128        public static final ArrayList<Instr> TopNorth = new ArrayList<Instr>();
     129        static {
     130                TopNorth.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     131                ArrayList<Instr> colours = new ArrayList<Instr>();
     132                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();
     133                colours.add(new Instr(Prim.P1, p));
     134                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
     135                colours.add(new Instr(Prim.P2, p));
     136                TopNorth.add(new Instr(Prim.COLR, colours));
     137                TopNorth.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     138                TopNorth.add(new Instr(Prim.FILL, Color.black));
     139                TopNorth.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
     140                TopNorth.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     141                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
     142                p.moveTo(0.0,-78.0); p.lineTo(-15.0,-45.0);  p.lineTo(15.0,-45.0); p.closePath();
     143                TopNorth.add(new Instr(Prim.PLIN, p));
     144        }
     145
     146        public static final ArrayList<Instr> TopSouth = new ArrayList<Instr>();
     147        static {
     148                TopSouth.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     149                ArrayList<Instr> colours = new ArrayList<Instr>();
     150                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();
     151                colours.add(new Instr(Prim.P1, p));
     152                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
     153                colours.add(new Instr(Prim.P2, p));
     154                TopSouth.add(new Instr(Prim.COLR, colours));
     155                TopSouth.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     156                TopSouth.add(new Instr(Prim.FILL, Color.black));
     157                TopSouth.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
     158                TopSouth.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     159                p = new Path2D.Double(); p.moveTo(0.0,-10.0); p.lineTo(-15.0,-43.0); p.lineTo(15.0,-43.0); p.closePath();
     160                p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0);  p.lineTo(15.0,-78.0); p.closePath();
     161                TopSouth.add(new Instr(Prim.PLIN, p));
     162        }
     163
     164        public static final ArrayList<Instr> TopSphere = new ArrayList<Instr>();
     165        static {
     166                TopSphere.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     167                ArrayList<Instr> colours = new ArrayList<Instr>();
     168                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();
     169                colours.add(new Instr(Prim.P1, p));
     170                TopSphere.add(new Instr(Prim.COLR, colours));
     171                TopSphere.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     172                TopSphere.add(new Instr(Prim.FILL, Color.black));
     173                TopSphere.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-15)));
     174                TopSphere.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     175                TopSphere.add(new Instr(Prim.ELPS, new Ellipse2D.Double(-14,-42,28,28)));
     176        }
     177
     178        public static final ArrayList<Instr> TopSquare = new ArrayList<Instr>();
     179        static {
     180                TopSquare.add(new Instr(Prim.BBOX, new Rectangle(-20,80,40,80)));
     181                ArrayList<Instr> colours = new ArrayList<Instr>();
     182                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();
     183                colours.add(new Instr(Prim.P1, p));
     184                TopSquare.add(new Instr(Prim.COLR, colours));
     185                TopSquare.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     186                TopSquare.add(new Instr(Prim.FILL, Color.black));
     187                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();
     188                TopSquare.add(new Instr(Prim.PLIN, p));
     189        }
     190
     191        public static final ArrayList<Instr> TopTriangle = new ArrayList<Instr>();
     192        static {
     193                TopTriangle.add(new Instr(Prim.BBOX, new Rectangle(-20,80,40,80)));
     194                ArrayList<Instr> colours = new ArrayList<Instr>();
     195                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();
     196                colours.add(new Instr(Prim.P1, p));
     197                TopTriangle.add(new Instr(Prim.COLR, colours));
     198                TopTriangle.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     199                TopTriangle.add(new Instr(Prim.FILL, Color.black));
     200                p = new Path2D.Double(); p.moveTo(-15.0,-1.0); p.lineTo(0.0,-29.0); p.lineTo(15.0,-1.0); p.closePath();
     201                TopTriangle.add(new Instr(Prim.PLIN, p));
     202        }
     203
     204        public static final ArrayList<Instr> TopWest = new ArrayList<Instr>();
     205        static {
     206                TopWest.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     207                ArrayList<Instr> colours = new ArrayList<Instr>();
     208                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();
     209                colours.add(new Instr(Prim.P1, p));
     210                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
     211                colours.add(new Instr(Prim.P2, p));
     212                TopWest.add(new Instr(Prim.COLR, colours));
     213                TopWest.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     214                TopWest.add(new Instr(Prim.FILL, Color.black));
     215                TopWest.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-10)));
     216                TopWest.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     217                p = new Path2D.Double(); p.moveTo(-15.0,-10.0); p.lineTo(0.0,-43.0); p.lineTo(15.0,-10.0); p.closePath();
     218                p.moveTo(-15.0,-78.0); p.lineTo(0.0,-45.0);  p.lineTo(15.0,-78.0); p.closePath();
     219                TopWest.add(new Instr(Prim.PLIN, p));
     220        }
     221
     222        public static final ArrayList<Instr> TopX = new ArrayList<Instr>();
     223        static {
     224                TopX.add(new Instr(Prim.BBOX, new Rectangle(-30,80,60,80)));
     225                ArrayList<Instr> colours = new ArrayList<Instr>();
     226                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);
     227                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();
     228                colours.add(new Instr(Prim.P1, p));
     229                TopX.add(new Instr(Prim.COLR, colours));
     230                TopX.add(new Instr(Prim.STRK, new BasicStroke(4.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     231                TopX.add(new Instr(Prim.FILL, Color.black));
     232                TopX.add(new Instr(Prim.LINE, new Line2D.Double(0,0,0,-27)));
     233                TopX.add(new Instr(Prim.STRK, new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER)));
     234                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);
     235                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();
     236                TopX.add(new Instr(Prim.PLIN, p));
     237        }
    36238}
Note: See TracChangeset for help on using the changeset viewer.