Ignore:
Timestamp:
2015-01-07T18:35:53+01:00 (9 years ago)
Author:
malcolmh
Message:

Add RDOCAL rendering

Location:
applications/editors/josm/plugins/seachart/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/seachart/src/render/Rules.java

    r30894 r30899  
    194194                if ((objects = Renderer.map.features.get(Obj.BRIDGE)) != null) for (Feature feature : objects) if (feature.reln == Rflag.MASTER) bridges(feature);
    195195                if ((objects = Renderer.map.features.get(Obj.PILPNT)) != null) for (Feature feature : objects) if (feature.reln == Rflag.MASTER) lights(feature);
     196                if ((objects = Renderer.map.features.get(Obj.RDOCAL)) != null) for (Feature feature : objects) if (feature.reln == Rflag.MASTER) callpoint(feature);
    196197                if ((objects = Renderer.map.features.get(Obj.LITMIN)) != null) for (Feature feature : objects) if (feature.reln == Rflag.MASTER) lights(feature);
    197198                if ((objects = Renderer.map.features.get(Obj.LITMAJ)) != null) for (Feature feature : objects) if (feature.reln == Rflag.MASTER) lights(feature);
     
    470471        }
    471472       
     473        private static void callpoint(Feature feature) {
     474                if (Renderer.zoom >= 14) {
     475                        Symbol symb = Harbours.CallPoint2;
     476                        TrfTRF trf;
     477                        if ((trf = (TrfTRF) getAttVal(feature, feature.type, 0, Att.TRAFIC)) != null) {
     478                                if (trf != TrfTRF.TRF_TWOW) {
     479                                        symb = Harbours.CallPoint1;
     480                                }
     481                        }
     482                        Double orient = 0.0;
     483                        if ((orient = (Double) getAttVal(feature, feature.type, 0, Att.ORIENT)) == null) {
     484                                orient = 0.0;
     485                        }
     486                        Renderer.symbol(feature, symb, new Delta(Handle.CC, AffineTransform.getRotateInstance(Math.toRadians(orient))));
     487                }
     488        }
     489       
    472490        private static void distances(Feature feature) {
    473491                if (Renderer.zoom >= 14) {
  • applications/editors/josm/plugins/seachart/src/symbols/Harbours.java

    r30894 r30899  
    4949                Bollard.add(new Instr(Form.FILL, Color.black));
    5050                Bollard.add(new Instr(Form.ELPS, s));
     51        }
     52        public static final Symbol CallPoint1 = new Symbol();
     53        static {
     54                CallPoint1.add(new Instr(Form.BBOX, new Rectangle2D.Double(-50,-50,100,100)));
     55                CallPoint1.add(new Instr(Form.STRK, new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER)));
     56                CallPoint1.add(new Instr(Form.FILL, Rules.Msymb));
     57                CallPoint1.add(new Instr(Form.ELPS, new Ellipse2D.Double(-25,-25,50,50)));
     58                Path2D.Double p = new Path2D.Double(); p.moveTo(-16.0,-20.0); p.lineTo(0.0,-50.0); p.lineTo(16.0,-20.0);
     59                CallPoint1.add(new Instr(Form.PLIN, p));
     60        }
     61        public static final Symbol CallPoint2 = new Symbol();
     62        static {
     63                CallPoint2.add(new Instr(Form.BBOX, new Rectangle2D.Double(-50,-50,100,100)));
     64                CallPoint2.add(new Instr(Form.SYMB, new Symbols.SubSymbol(CallPoint1, 1.0, 0, 0, null, null)));
     65                Path2D.Double p = new Path2D.Double(); p.moveTo(-16.0,20.0); p.lineTo(0.0,50.0); p.lineTo(16.0,20.0);
     66                CallPoint2.add(new Instr(Form.PLIN, p));
    5167        }
    5268        public static final Symbol ContainerCrane = new Symbol();
Note: See TracChangeset for help on using the changeset viewer.