Ignore:
Timestamp:
2009-06-26T22:11:40+02:00 (15 years ago)
Author:
jttt
Message:

Use getter for Node.coor and Node.eastNorth

Location:
applications/editors/josm/plugins/utilsplugin
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/utilsplugin/build.xml

    r15127 r16162  
    2525                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
    2626                <attribute name="Plugin-Description" value="Several utilities that make your life easier: e.g. simplify way, join areas, jump to position."/>
    27                 <attribute name="Plugin-Mainversion" value="1598"/>
     27                <attribute name="Plugin-Mainversion" value="1638"/>
    2828                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    2929            </manifest>
  • applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JoinAreasAction.java

    r15960 r16162  
    33import static org.openstreetmap.josm.tools.I18n.marktr;
    44import static org.openstreetmap.josm.tools.I18n.tr;
    5 import static org.openstreetmap.josm.tools.I18n.trn;
    6 
     5
     6import java.awt.GridBagLayout;
     7import java.awt.Polygon;
    78import java.awt.event.ActionEvent;
    89import java.awt.event.KeyEvent;
    910import java.awt.geom.Line2D;
    10 import java.awt.geom.Point2D;
    11 import java.awt.GridBagLayout;
    12 import java.awt.Point;
    13 import java.awt.Polygon;
    14 
    1511import java.util.ArrayList;
    16 import java.util.Arrays;
    1712import java.util.Collection;
    1813import java.util.Collections;
    19 import java.util.Comparator;
    2014import java.util.HashMap;
    2115import java.util.LinkedList;
    2216import java.util.List;
    2317import java.util.Map;
    24 import java.util.Map.Entry;
    2518import java.util.Set;
    2619import java.util.TreeMap;
    2720import java.util.TreeSet;
     21import java.util.Map.Entry;
    2822
    2923import javax.swing.Box;
     
    3327import javax.swing.JPanel;
    3428
     29import org.openstreetmap.josm.Main;
    3530import org.openstreetmap.josm.actions.CombineWayAction;
    3631import org.openstreetmap.josm.actions.JosmAction;
    3732import org.openstreetmap.josm.actions.ReverseWayAction;
    3833import org.openstreetmap.josm.actions.SplitWayAction;
    39 
    4034import org.openstreetmap.josm.command.AddCommand;
    4135import org.openstreetmap.josm.command.ChangeCommand;
     
    4337import org.openstreetmap.josm.command.DeleteCommand;
    4438import org.openstreetmap.josm.command.SequenceCommand;
    45 
    4639import org.openstreetmap.josm.data.Bounds;
     40import org.openstreetmap.josm.data.UndoRedoHandler;
    4741import org.openstreetmap.josm.data.coor.EastNorth;
    4842import org.openstreetmap.josm.data.coor.LatLon;
     
    5448import org.openstreetmap.josm.data.osm.RelationMember;
    5549import org.openstreetmap.josm.data.osm.TigerUtils;
    56 import org.openstreetmap.josm.data.osm.visitor.CollectBackReferencesVisitor;
    5750import org.openstreetmap.josm.data.osm.Way;
    58 import org.openstreetmap.josm.data.osm.WaySegment;
    59 import org.openstreetmap.josm.data.projection.Epsg4326;
    60 import org.openstreetmap.josm.data.projection.Lambert;
    61 import org.openstreetmap.josm.data.projection.Mercator;
    62 import org.openstreetmap.josm.data.UndoRedoHandler;
    63 
    6451import org.openstreetmap.josm.gui.ExtendedDialog;
    6552import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    66 import org.openstreetmap.josm.Main;
    6753import org.openstreetmap.josm.tools.GBC;
    68 import org.openstreetmap.josm.tools.Pair;
    6954import org.openstreetmap.josm.tools.Shortcut;
    7055
     
    8368            this.pos = pos;
    8469            this.n = n;
    85             this.dis = n.coor.greatCircleDistance(dis);
     70            this.dis = n.getCoor().greatCircleDistance(dis);
    8671        }
    8772
     
    160145                boolean isInsideOneBoundingBox = false;
    161146                for (Bounds b : bounds) {
    162                     if (b.contains(node.coor)) {
     147                    if (b.contains(node.getCoor())) {
    163148                        isInsideOneBoundingBox = true;
    164149                        break;
     
    362347                }
    363348                LatLon intersection = getLineLineIntersection(
    364                         a.nodes.get(i)  .eastNorth.east(), a.nodes.get(i)  .eastNorth.north(),
    365                         a.nodes.get(i+1).eastNorth.east(), a.nodes.get(i+1).eastNorth.north(),
    366                         b.nodes.get(j)  .eastNorth.east(), b.nodes.get(j)  .eastNorth.north(),
    367                         b.nodes.get(j+1).eastNorth.east(), b.nodes.get(j+1).eastNorth.north());
     349                        a.nodes.get(i)  .getEastNorth().east(), a.nodes.get(i)  .getEastNorth().north(),
     350                        a.nodes.get(i+1).getEastNorth().east(), a.nodes.get(i+1).getEastNorth().north(),
     351                        b.nodes.get(j)  .getEastNorth().east(), b.nodes.get(j)  .getEastNorth().north(),
     352                        b.nodes.get(j+1).getEastNorth().east(), b.nodes.get(j+1).getEastNorth().north());
    368353                if(intersection == null) continue;
    369354
     
    373358                nodes.add(n);
    374359                // The distance is needed to sort and add the nodes in direction of the way
    375                 nodesA.add(new NodeToSegs(i,  n, a.nodes.get(i).coor));
     360                nodesA.add(new NodeToSegs(i,  n, a.nodes.get(i).getCoor()));
    376361                if(same)
    377                     nodesA.add(new NodeToSegs(j,  n, a.nodes.get(j).coor));
     362                    nodesA.add(new NodeToSegs(j,  n, a.nodes.get(j).getCoor()));
    378363                else
    379                     nodesB.add(new NodeToSegs(j,  n, b.nodes.get(j).coor));
     364                    nodesB.add(new NodeToSegs(j,  n, b.nodes.get(j).getCoor()));
    380365            }
    381366        }
     
    423408    private void addNodesToWay(Way a, ArrayList<NodeToSegs> nodes) {
    424409        Way ax=new Way(a);
    425         List<NodeToSegs> newnodes = new ArrayList<NodeToSegs>();
    426410        Collections.sort(nodes);
    427411
     
    539523        for(Way w: multigonWays) {
    540524            Polygon poly = new Polygon();
    541             for(Node n: ((Way)w).nodes) poly.addPoint(latlonToXY(n.coor.lat()), latlonToXY(n.coor.lon()));
     525            for(Node n: (w).nodes) poly.addPoint(latlonToXY(n.getCoor().lat()), latlonToXY(n.getCoor().lon()));
    542526
    543527            for(Node n: multigonNodes) {
    544                 if(!((Way)w).nodes.contains(n) && poly.contains(latlonToXY(n.coor.lat()), latlonToXY(n.coor.lon()))) {
     528                if(!(w).nodes.contains(n) && poly.contains(latlonToXY(n.getCoor().lat()), latlonToXY(n.getCoor().lon()))) {
    545529                    getWaysByNode(innerWays, multigonWays, n);
    546530                }
     
    564548    private void getWaysByNode(Collection<Way> innerWays, Collection<Way> w, Node n) {
    565549        for(Way way : w) {
    566             if(!((Way)way).nodes.contains(n)) continue;
     550            if(!(way).nodes.contains(n)) continue;
    567551            if(!innerWays.contains(way)) innerWays.add(way); // Will need this later for multigons
    568552        }
  • applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/JumpToAction.java

    r13575 r16162  
    44
    55import java.awt.BorderLayout;
    6 import java.awt.Component;
     6import java.awt.GridBagLayout;
    77import java.awt.event.ActionEvent;
    8 import java.awt.event.InputEvent;
    98import java.awt.event.KeyEvent;
     9import java.awt.event.MouseEvent;
    1010import java.awt.event.MouseListener;
    11 import java.awt.event.MouseEvent;
    12 import java.awt.GridBagLayout;
    13 import java.awt.GridLayout;
    14 import java.awt.Toolkit;
    1511
    16 import javax.swing.Box;
    17 import javax.swing.event.DocumentListener;
    18 import javax.swing.event.DocumentEvent;
    19 import javax.swing.JComponent;
    20 import javax.swing.JDialog;
    2112import javax.swing.JLabel;
    2213import javax.swing.JOptionPane;
    2314import javax.swing.JPanel;
    2415import javax.swing.JTextField;
    25 import javax.swing.KeyStroke;
     16import javax.swing.event.DocumentEvent;
     17import javax.swing.event.DocumentListener;
    2618
    2719import org.openstreetmap.josm.Main;
    2820import org.openstreetmap.josm.actions.JosmAction;
    2921import org.openstreetmap.josm.data.Bounds;
    30 import org.openstreetmap.josm.data.coor.EastNorth;
    3122import org.openstreetmap.josm.data.coor.LatLon;
    32 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
    33 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
     23import org.openstreetmap.josm.gui.NavigatableComponent;
    3424import org.openstreetmap.josm.tools.GBC;
    3525import org.openstreetmap.josm.tools.OsmUrlToBounds;
     
    4131        KeyEvent.VK_G, Shortcut.GROUP_HOTKEY), true);
    4232    }
    43    
     33
    4434    private JTextField url = new JTextField();
    4535    private JTextField lat = new JTextField();
    4636    private JTextField lon = new JTextField();
    4737    private JTextField zm = new JTextField();
    48    
     38
    4939    private double zoomFactor = 0;
    5040    public void showJumpToDialog() {
     
    5242        lat.setText(java.lang.Double.toString(curPos.lat()));
    5343        lon.setText(java.lang.Double.toString(curPos.lon()));
    54        
     44
    5545        LatLon ll1 = Main.map.mapView.getLatLon(0,0);
    5646        LatLon ll2 = Main.map.mapView.getLatLon(100,0);
    5747        double dist = ll1.greatCircleDistance(ll2);
    5848        zoomFactor = Main.map.mapView.getScale()/dist;
    59        
     49
    6050        zm.setText(java.lang.Long.toString(Math.round(dist*100)/100));
    6151        updateUrl(true);
    62        
     52
    6353        JPanel panel = new JPanel(new BorderLayout());
    6454        panel.add(new JLabel("<html>"
     
    6959                              + "</html>"),
    7060                  BorderLayout.NORTH);
    71        
    72         class osmURLListener implements DocumentListener { 
    73             public void changedUpdate(DocumentEvent e) { parseURL(); } 
    74             public void insertUpdate(DocumentEvent e) { parseURL(); } 
    75             public void removeUpdate(DocumentEvent e) { parseURL(); } 
     61
     62        class osmURLListener implements DocumentListener {
     63            public void changedUpdate(DocumentEvent e) { parseURL(); }
     64            public void insertUpdate(DocumentEvent e) { parseURL(); }
     65            public void removeUpdate(DocumentEvent e) { parseURL(); }
    7666        }
    77        
    78         class osmLonLatListener implements DocumentListener { 
    79             public void changedUpdate(DocumentEvent e) { updateUrl(false); } 
    80             public void insertUpdate(DocumentEvent e) { updateUrl(false); } 
    81             public void removeUpdate(DocumentEvent e) { updateUrl(false); } 
    82         } 
    83        
     67
     68        class osmLonLatListener implements DocumentListener {
     69            public void changedUpdate(DocumentEvent e) { updateUrl(false); }
     70            public void insertUpdate(DocumentEvent e) { updateUrl(false); }
     71            public void removeUpdate(DocumentEvent e) { updateUrl(false); }
     72        }
     73
    8474        osmLonLatListener x=new osmLonLatListener();
    85         lat.getDocument().addDocumentListener(x); 
    86         lon.getDocument().addDocumentListener(x); 
    87         zm.getDocument().addDocumentListener(x); 
    88         url.getDocument().addDocumentListener(new osmURLListener()); 
    89        
     75        lat.getDocument().addDocumentListener(x);
     76        lon.getDocument().addDocumentListener(x);
     77        zm.getDocument().addDocumentListener(x);
     78        url.getDocument().addDocumentListener(new osmURLListener());
     79
    9080        JPanel p = new JPanel(new GridBagLayout());
    9181        panel.add(p, BorderLayout.NORTH);
    92        
     82
    9383        p.add(new JLabel(tr("Latitude")), GBC.eol());
    9484        p.add(lat, GBC.eol().fill(GBC.HORIZONTAL));
    95        
     85
    9686        p.add(new JLabel(tr("Longitude")), GBC.eol());
    9787        p.add(lon, GBC.eol().fill(GBC.HORIZONTAL));
    98        
     88
    9989        p.add(new JLabel(tr("Zoom (in metres)")), GBC.eol());
    10090        p.add(zm, GBC.eol().fill(GBC.HORIZONTAL));
    101        
     91
    10292        p.add(new JLabel(tr("URL")), GBC.eol());
    10393        p.add(url, GBC.eol().fill(GBC.HORIZONTAL));
    104        
     94
    10595        Object[] buttons = { tr("Jump there"), tr("Cancel") };
    10696        LatLon ll = null;
     
    116106                            buttons,
    117107                            buttons[0]);
    118            
     108
    119109            if (option != JOptionPane.OK_OPTION) return;
    120110            try {
     
    125115            }
    126116        }
    127        
     117
    128118        Main.map.mapView.zoomTo(Main.proj.latlon2eastNorth(ll), zoomFactor * zoomLvl);
    129119    }
    130    
     120
    131121    private void parseURL() {
    132122        if(!url.hasFocus()) return;
     
    135125            lat.setText(Double.toString((b.min.lat() + b.max.lat())/2));
    136126            lon.setText(Double.toString((b.min.lon() + b.max.lon())/2));
    137            
     127
    138128            int zoomLvl = 16;
    139             String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&"); 
    140             for (String arg : args) { 
    141                 int eq = arg.indexOf('='); 
    142                 if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue; 
    143                
     129            String[] args = url.getText().substring(url.getText().indexOf('?')+1).split("&");
     130            for (String arg : args) {
     131                int eq = arg.indexOf('=');
     132                if (eq == -1 || !arg.substring(0, eq).equalsIgnoreCase("zoom")) continue;
     133
    144134                zoomLvl = Integer.parseInt(arg.substring(eq + 1));
    145135                break;
    146136            }
    147            
     137
    148138            // 10000000 = 10 000 * 1000 = World * (km -> m)
    149139            zm.setText(Double.toString(Math.round(10000000 * Math.pow(2, (-1) * zoomLvl))));
    150140        }
    151141    }
    152    
     142
    153143    private void updateUrl(boolean force) {
    154144        if(!lat.hasFocus() && !lon.hasFocus() && !zm.hasFocus() && !force) return;
     
    170160        showJumpToDialog();
    171161    }
    172    
     162
    173163    /**
    174      * Converts a given scale into OSM-Style zoom factors 
     164     * Converts a given scale into OSM-Style zoom factors
    175165     * @param double scale
    176      */   
     166     */
    177167    public int getZoom(double scale) {
    178168        double sizex = scale * Main.map.mapView.getWidth();
    179169        double sizey = scale * Main.map.mapView.getHeight();
    180170        for (int zoom = 0; zoom <= 32; zoom++, sizex *= 2, sizey *= 2)
    181             if (sizex > Main.map.mapView.world.east() || sizey > Main.map.mapView.world.north())
     171            if (sizex > NavigatableComponent.world.east() || sizey > NavigatableComponent.world.north())
    182172                return zoom;
    183173        return 32;
    184174    }
    185  
     175
    186176    public void mousePressed(MouseEvent e) {}
    187177
  • applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/SimplifyWayAction.java

    r14121 r16162  
    5555                        boolean isInsideOneBoundingBox = false;
    5656                        for (Bounds b : bounds) {
    57                             if (b.contains(node.coor)) {
     57                            if (b.contains(node.getCoor())) {
    5858                                isInsideOneBoundingBox = true;
    5959                                break;
     
    161161            Node n = wnew.nodes.get(i);
    162162            double xte = Math.abs(EARTH_RAD
    163                     * xtd(fromN.coor.lat() * Math.PI / 180, fromN.coor.lon() * Math.PI / 180, toN.coor.lat() * Math.PI
    164                             / 180, toN.coor.lon() * Math.PI / 180, n.coor.lat() * Math.PI / 180, n.coor.lon() * Math.PI
     163                    * xtd(fromN.getCoor().lat() * Math.PI / 180, fromN.getCoor().lon() * Math.PI / 180, toN.getCoor().lat() * Math.PI
     164                            / 180, toN.getCoor().lon() * Math.PI / 180, n.getCoor().lat() * Math.PI / 180, n.getCoor().lon() * Math.PI
    165165                            / 180));
    166166            if (xte > xtemax) {
  • applications/editors/josm/plugins/utilsplugin/src/UtilsPlugin/UtilsPlugin.java

    r14120 r16162  
    11package UtilsPlugin;
    22
    3 import static org.openstreetmap.josm.tools.I18n.tr;
    4 
    5 
    6 import java.awt.event.ActionEvent;
    7 import javax.swing.AbstractAction;
    83import javax.swing.JMenuItem;
    9 import javax.swing.JOptionPane;
    10 import javax.swing.JPanel;
    11 import javax.swing.BoxLayout;
    124
    135import org.openstreetmap.josm.Main;
     6import org.openstreetmap.josm.gui.MainMenu;
     7import org.openstreetmap.josm.gui.MapFrame;
    148import org.openstreetmap.josm.plugins.Plugin;
    15 import org.openstreetmap.josm.gui.MapFrame;
    16 import org.openstreetmap.josm.gui.MainMenu;
    17 import org.openstreetmap.josm.gui.IconToggleButton;
    18 import org.openstreetmap.josm.actions.JosmAction;
    199
    2010public class UtilsPlugin extends Plugin {
Note: See TracChangeset for help on using the changeset viewer.