Ignore:
Timestamp:
2015-08-29T16:55:46+02:00 (9 years ago)
Author:
malcolmh
Message:

update

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

Legend:

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

    r31343 r31532  
    1616
    1717public interface ChartContext {
     18        public enum RuleSet { ALL, BASE, SEAMARK }
     19
    1820        Point2D getPoint(Snode coord);
    1921        double mile(Feature feature);
    2022        boolean clip();
    2123        Color background();
     24        RuleSet ruleset();
    2225}
  • applications/editors/josm/plugins/seachart/src/render/Renderer.java

    r31343 r31532  
    1616import java.util.*;
    1717
    18 import render.Rules.*;
    1918import s57.S57val.*;
    2019import s57.S57map;
     
    3635        static int zoom;
    3736
    38         public static void reRender(Graphics2D g, RuleSet set, Rectangle rect, int z, double factor, S57map m, ChartContext c) {
     37        public static void reRender(Graphics2D g, Rectangle rect, int z, double factor, S57map m, ChartContext c) {
    3938                g2 = g;
    4039                zoom = z;
     
    5352                        g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
    5453                        g2.setStroke(new BasicStroke(0, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER));
    55                         Rules.rules(set);
     54                        Rules.rules();
    5655                }
    5756        }
  • applications/editors/josm/plugins/seachart/src/render/Rules.java

    r31344 r31532  
    2222import s57.S57obj.*;
    2323import s57.S57map.*;
     24import render.ChartContext.RuleSet;
    2425import render.Renderer.*;
    2526import symbols.*;
     
    2829public class Rules {
    2930       
    30         public enum RuleSet { ALL, BASE, SEAMARK }
    31 
    3231        static final EnumMap<ColCOL, Color> bodyColours = new EnumMap<ColCOL, Color>(ColCOL.class);
    3332        static {
     
    173172        static Feature feature;
    174173        static ArrayList<Feature> objects;
    175         static RuleSet ruleset;
    176174       
    177175        static boolean testObject(Obj obj) {
     
    183181        }
    184182       
    185         public static void rules (RuleSet set) {
    186                 ruleset = set;
    187                 if ((set == RuleSet.ALL) || (set == RuleSet.BASE)) {
     183        public static void rules () {
     184                if ((Renderer.context.ruleset() == RuleSet.ALL) || (Renderer.context.ruleset() == RuleSet.BASE)) {
    188185                        if (testObject(Obj.LNDARE)) for (Feature f : objects) if (testFeature(f)) areas();
    189186                        if (testObject(Obj.BUAARE)) for (Feature f : objects) if (testFeature(f)) areas();
     
    202199                }
    203200                if (testObject(Obj.SLCONS)) for (Feature f : objects) if (testFeature(f)) shoreline();
    204                 if ((set == RuleSet.ALL) || (set == RuleSet.SEAMARK)) {
     201                if ((Renderer.context.ruleset() == RuleSet.ALL) || (Renderer.context.ruleset() == RuleSet.SEAMARK)) {
    205202                        if (testObject(Obj.PIPSOL)) for (Feature f : objects) if (testFeature(f)) pipelines();
    206203                        if (testObject(Obj.CBLSUB)) for (Feature f : objects) if (testFeature(f)) cables();
     
    443440                                        AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
    444441                                        if (topmap.containsKey(Att.TOPSHP)) {
    445                                                 Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
    446                                                 if (topmark != null)
    447                                                         Renderer.symbol(feature, topmark, getScheme(feature, Obj.TOPMAR), Topmarks.BeaconDelta);
     442                                                Renderer.symbol(feature, Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0)), getScheme(feature, Obj.TOPMAR), Topmarks.BeaconDelta);
    448443                                        }
    449444                                } else if (feature.objs.containsKey(Obj.DAYMAR)) {
    450445                                        AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
    451446                                        if (topmap.containsKey(Att.TOPSHP)) {
    452                                                 Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
    453                                                 if (topmark != null)
    454                                                         Renderer.symbol(feature, topmark, getScheme(feature, Obj.DAYMAR), Topmarks.BeaconDelta);
     447                                                Renderer.symbol(feature, Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0)), getScheme(feature, Obj.DAYMAR), Topmarks.BeaconDelta);
    455448                                        }
    456449                                }
     
    468461                                AttMap topmap = feature.objs.get(Obj.TOPMAR).get(0);
    469462                                if (topmap.containsKey(Att.TOPSHP)) {
    470                                         Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
    471                                         if (topmark != null)
    472                                                 Renderer.symbol(feature, topmark, getScheme(feature, Obj.TOPMAR), Topmarks.BuoyDeltas.get(shape));
     463                                        Renderer.symbol(feature, Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0)), getScheme(feature, Obj.TOPMAR), Topmarks.BuoyDeltas.get(shape));
    473464                                }
    474465                        } else if (feature.objs.containsKey(Obj.DAYMAR)) {
    475466                                AttMap topmap = feature.objs.get(Obj.DAYMAR).get(0);
    476467                                if (topmap.containsKey(Att.TOPSHP)) {
    477                                         Symbol topmark = Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0));
    478                                         if (topmark != null)
    479                                                 Renderer.symbol(feature, topmark, getScheme(feature, Obj.DAYMAR), Topmarks.BuoyDeltas.get(shape));
     468                                        Renderer.symbol(feature, Topmarks.Shapes.get(((ArrayList<TopSHP>)(topmap.get(Att.TOPSHP).val)).get(0)), getScheme(feature, Obj.DAYMAR), Topmarks.BuoyDeltas.get(shape));
    480469                                }
    481470                        }
     
    10351024        private static void shoreline() {
    10361025                CatSLC cat = (CatSLC) getAttEnum(feature, feature.type, 0, Att.CATSLC);
    1037                 if ((ruleset == RuleSet.ALL) || (ruleset == RuleSet.BASE)) {
     1026                if ((Renderer.context.ruleset() == RuleSet.ALL) || (Renderer.context.ruleset() == RuleSet.BASE)) {
    10381027                        if ((cat != CatSLC.SLC_SWAY) && (cat != CatSLC.SLC_TWAL)) {
    10391028                                Renderer.lineVector(feature, new LineStyle(Color.black, 10, Symbols.Yland));
    10401029                        }
    10411030                }
    1042                 if ((ruleset == RuleSet.ALL) || (ruleset == RuleSet.SEAMARK)) {
     1031                if ((Renderer.context.ruleset() == RuleSet.ALL) || (Renderer.context.ruleset() == RuleSet.SEAMARK)) {
    10431032                        if (Renderer.zoom >= 12) {
    10441033                                switch (cat) {
  • applications/editors/josm/plugins/seachart/src/s57/S57osm.java

    r31044 r31532  
    3737                OSMtags.put("waterway=riverbank", new KeyVal<>(Obj.RIVBNK, Att.UNKATT, null, null)); OSMtags.put("waterway=river", new KeyVal<>(Obj.RIVERS, Att.UNKATT, null, null));
    3838                OSMtags.put("waterway=canal", new KeyVal<>(Obj.CANALS, Att.UNKATT, null, null)); OSMtags.put("waterway=dock", new KeyVal<>(Obj.HRBBSN, Att.UNKATT, null, null));
    39                 OSMtags.put("waterway=lock", new KeyVal<>(Obj.HRBBSN, Att.UNKATT, null, null));
     39                OSMtags.put("waterway=lock", new KeyVal<>(Obj.HRBBSN, Att.UNKATT, null, null)); OSMtags.put("landuse=basin", new KeyVal<>(Obj.LAKARE, Att.UNKATT, null, null));
    4040                OSMtags.put("wetland=tidalflat", new KeyVal<Double>(Obj.DEPARE, Att.DRVAL2, Conv.F, (Double)0.0)); OSMtags.put("tidal=yes", new KeyVal<Double>(Obj.DEPARE, Att.DRVAL2, Conv.F, (Double)0.0));
    4141                OSMtags.put("natural=mud", new KeyVal<>(Obj.DEPARE, Att.UNKATT, null, null)); OSMtags.put("natural=sand", new KeyVal<>(Obj.DEPARE, Att.UNKATT, null, null));
  • applications/editors/josm/plugins/seachart/src/seachart/ChartImage.java

    r31343 r31532  
    3030import render.ChartContext;
    3131import render.Renderer;
    32 import render.Rules.RuleSet;
    3332import s57.S57map.*;
    3433import symbols.Symbols;
     
    6766        public void paint(Graphics2D g2, MapView mv, Bounds bb) {
    6867                Rectangle rect = Main.map.mapView.getBounds();
    69                 Renderer.reRender(g2, RuleSet.ALL, rect, zoom, Math.pow(2, (zoom-12)), SeachartAction.map, this);
     68                Renderer.reRender(g2, rect, zoom, Math.pow(2, (zoom-12)), SeachartAction.map, this);
    7069                g2.setPaint(Color.black);
    7170                g2.setFont(new Font("Arial", Font.BOLD, 20));
     
    102101                return (Symbols.Bwater);
    103102        }
     103
     104        public RuleSet ruleset() {
     105                return RuleSet.ALL;
     106        }
    104107}
Note: See TracChangeset for help on using the changeset viewer.