Ignore:
Timestamp:
2009-07-27T21:09:44+02:00 (15 years ago)
Author:
jttt
Message:

Way refactoring - added method that will in future replace public field nodes

Location:
trunk/src/org/openstreetmap/josm/actions
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java

    r1847 r1862  
    113113            // distance between two nodes.
    114114            if (nodes.size() > 0) {
    115                 if (nodes.size() == 1 && way.nodes.contains(nodes.get(0))) {
     115                if (nodes.size() == 1 && way.getNodes().contains(nodes.get(0))) {
    116116                    regular = true;
    117117                } else {
    118118
    119                     center = nodes.get(way.nodes.contains(nodes.get(0)) ? 1 : 0).getEastNorth();
     119                    center = nodes.get(way.getNodes().contains(nodes.get(0)) ? 1 : 0).getEastNorth();
    120120                    if (nodes.size() == 2) {
    121121                        radius = distance(nodes.get(0).getEastNorth(), nodes.get(1).getEastNorth());
     
    125125            }
    126126
    127             for (Node n : way.nodes) {
     127            for (Node n : way.getNodes()) {
    128128                if (!nodes.contains(n)) {
    129129                    nodes.add(n);
  • trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java

    r1847 r1862  
    5656            for (OsmPrimitive osm : sel)
    5757                if (osm instanceof Way) {
    58                     nodes.addAll(((Way)osm).nodes);
    59                     itnodes.addAll(((Way)osm).nodes);
     58                    nodes.addAll(((Way)osm).getNodes());
     59                    itnodes.addAll(((Way)osm).getNodes());
    6060                }
    6161        }
  • trunk/src/org/openstreetmap/josm/actions/ApiPreconditionChecker.java

    r1847 r1862  
    104104
    105105            if (osmPrimitive instanceof Way &&
    106                     ((Way)osmPrimitive).nodes.size() > maxNodes) {
     106                    ((Way)osmPrimitive).getNodesCount() > maxNodes) {
    107107                OptionPaneUtil.showMessageDialog(
    108108                        Main.parent,
    109109                        tr("{0} nodes in way {1} exceed the max. allowed number of nodes {2}",
    110                                 ((Way)osmPrimitive).nodes.size(),
     110                                ((Way)osmPrimitive).getNodesCount(),
    111111                                Long.toString(osmPrimitive.id),
    112112                                maxNodes
  • trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java

    r1847 r1862  
    144144        List<Node> nodeList = null;
    145145        Object firstTry = actuallyCombineWays(selectedWays, false);
    146         if (firstTry instanceof List) {
     146        if (firstTry instanceof List<?>) {
    147147            nodeList = (List<Node>) firstTry;
    148148        } else {
    149149            Object secondTry = actuallyCombineWays(selectedWays, true);
    150             if (secondTry instanceof List) {
     150            if (secondTry instanceof List<?>) {
    151151                int option = new ExtendedDialog(Main.parent,
    152152                        tr("Change directions?"),
     
    182182        Way newWay = new Way(modifyWay);
    183183
    184         newWay.nodes.clear();
    185         newWay.nodes.addAll(nodeList);
     184        newWay.setNodes(nodeList);
    186185
    187186        // display conflict dialog
  • trunk/src/org/openstreetmap/josm/actions/CopyAction.java

    r1847 r1862  
    8181                Way wnew = new Way();
    8282                wnew.cloneFrom(w);
    83                 wnew.nodes.clear();
    8483                List<Node> nodes = new ArrayList<Node>();
    85                 for (Node n : w.nodes) {
     84                for (Node n : w.getNodes()) {
    8685                    if (! map.containsKey(n)) {
    8786                        n.visit(this);
     
    8988                    nodes.add((Node)map.get(n));
    9089                }
    91                 wnew.nodes.addAll(nodes);
     90                wnew.setNodes(nodes);
    9291                pasteBuffer.addPrimitive(wnew);
    9392            }
  • trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java

    r1847 r1862  
    9999                if (osm instanceof Way) {
    100100                    existingWay = ((Way)osm);
    101                     for (Node n : ((Way)osm).nodes)
     101                    for (Node n : ((Way)osm).getNodes())
    102102                    {
    103103                        if(!nodes.contains(n)) {
  • trunk/src/org/openstreetmap/josm/actions/DistributeAction.java

    r1847 r1862  
    5454            for (OsmPrimitive osm : sel)
    5555                if (osm instanceof Way) {
    56                     nodes.addAll(((Way)osm).nodes);
    57                     itnodes.addAll(((Way)osm).nodes);
     56                    nodes.addAll(((Way)osm).getNodes());
     57                    itnodes.addAll(((Way)osm).getNodes());
    5858                }
    5959        }
  • trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java

    r1820 r1862  
    5050            }
    5151
    52             if (ws.way.nodes.get(ws.lowerIndex) != node
    53                     && ws.way.nodes.get(ws.lowerIndex+1) != node) {
     52            if (ws.way.getNode(ws.lowerIndex) != node
     53                    && ws.way.getNode(ws.lowerIndex+1) != node) {
    5454                is.add(ws.lowerIndex);
    5555            }
  • trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java

    r1857 r1862  
    217217
    218218        for (Way w : getCurrentDataSet().ways) {
    219             if (w.deleted || w.incomplete || w.nodes.size() < 1) {
     219            if (w.deleted || w.incomplete || w.getNodesCount() < 1) {
    220220                continue;
    221221            }
     
    225225                    continue;
    226226                }
    227                 if (w.nodes.contains(sn)) {
     227                if (w.getNodes().contains(sn)) {
    228228                    modify = true;
    229229                }
     
    235235            ArrayList<Node> nn = new ArrayList<Node>();
    236236            Node lastNode = null;
    237             for (int i = 0; i < w.nodes.size(); i++) {
    238                 Node pushNode = w.nodes.get(i);
     237            for (Node pushNode: w.getNodes()) {
    239238                if (allNodes.contains(pushNode)) {
    240239                    pushNode = dest;
     
    262261            } else {
    263262                Way newWay = new Way(w);
    264                 newWay.nodes.clear();
    265                 newWay.nodes.addAll(nn);
     263                newWay.setNodes(nn);
    266264                cmds.add(new ChangeCommand(w, newWay));
    267265            }
  • trunk/src/org/openstreetmap/josm/actions/MirrorAction.java

    r1857 r1862  
    4545                nodes.add((Node)osm);
    4646            } else if (osm instanceof Way) {
    47                 nodes.addAll(((Way)osm).nodes);
     47                nodes.addAll(((Way)osm).getNodes());
    4848            }
    4949        }
  • trunk/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java

    r1857 r1862  
    8383            // Check if every way is made of at least four segments and closed
    8484            Way way = (Way)osm;
    85             if ((way.nodes.size() < 5) || (!way.nodes.get(0).equals(way.nodes.get(way.nodes.size() - 1)))) {
     85            if ((way.getNodesCount() < 5) || !way.isClosed()) {
    8686                OptionPaneUtil.showMessageDialog(
    8787                        Main.parent,
  • trunk/src/org/openstreetmap/josm/actions/PasteAction.java

    r1844 r1862  
    8181            /* make sure we reference the new nodes corresponding to the old ones */
    8282            List<Node> nodes = new ArrayList<Node>();
    83             for (Node n : w.nodes) {
     83            for (Node n : w.getNodes()) {
    8484                nodes.add((Node)map.get(n));
    8585            }
    86             wnew.nodes.clear();
    87             wnew.nodes.addAll(nodes);
     86            wnew.setNodes(nodes);
    8887            map.put(w, wnew);
    8988        }
  • trunk/src/org/openstreetmap/josm/actions/ReverseWayAction.java

    r1847 r1862  
    99import java.util.Collections;
    1010import java.util.LinkedList;
     11import java.util.List;
    1112
    1213import javax.swing.JOptionPane;
     
    1920import org.openstreetmap.josm.corrector.UserCancelException;
    2021import org.openstreetmap.josm.data.osm.DataSet;
     22import org.openstreetmap.josm.data.osm.Node;
    2123import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2224import org.openstreetmap.josm.data.osm.Way;
     
    5860        for (Way w : sel) {
    5961            Way wnew = new Way(w);
    60             Collections.reverse(wnew.nodes);
     62            List<Node> nodesCopy = wnew.getNodes();
     63            Collections.reverse(nodesCopy);
     64            wnew.setNodes(nodesCopy);
    6165            if (Main.pref.getBoolean("tag-correction.reverse-way", true)) {
    6266                try
  • trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java

    r1857 r1862  
    106106                        continue;
    107107                    }
    108                     int last = w.nodes.size()-1;
     108                    int last = w.getNodesCount()-1;
    109109                    if(last <= 0) {
    110110                        continue; // zero or one node ways
    111111                    }
    112                     Boolean circular = w.nodes.get(0).equals(w.nodes.get(last));
     112                    boolean circular = w.isClosed();
    113113                    int i = 0;
    114                     for (Node wn : w.nodes) {
     114                    for (Node wn : w.getNodes()) {
    115115                        if ((circular || (i > 0 && i < last)) && n.equals(wn)) {
    116116                            Integer old = wayOccurenceCounter.get(w);
     
    159159
    160160            HashSet<Node> nds = new HashSet<Node>(selectedNodes);
    161             for (Node n : selectedWay.nodes) {
     161            for (Node n : selectedWay.getNodes()) {
    162162                nds.remove(n);
    163163            }
     
    211211        wayChunks.add(currentWayChunk);
    212212
    213         Iterator<Node> it = selectedWay.nodes.iterator();
     213        Iterator<Node> it = selectedWay.getNodes().iterator();
    214214        while (it.hasNext()) {
    215215            Node currentNode = it.next();
     
    273273        // First, change the original way
    274274        Way changedWay = new Way(selectedWay);
    275         changedWay.nodes.clear();
    276         changedWay.nodes.addAll(chunkIt.next());
     275        changedWay.setNodes(chunkIt.next());
    277276        commandList.add(new ChangeCommand(selectedWay, changedWay));
    278277        newSelection.add(selectedWay);
  • trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java

    r1857 r1862  
    6767            int count = 0;
    6868            for (Way w : getCurrentDataSet().ways) {
    69                 if (w.deleted || w.incomplete || w.nodes.size() < 1) {
     69                if (w.deleted || w.incomplete || w.getNodesCount() < 1) {
    7070                    continue;
    7171                }
    72                 if (!w.nodes.contains(selectedNode)) {
     72                if (!w.getNodes().contains(selectedNode)) {
    7373                    continue;
    7474                }
     
    9292                int count = 0;
    9393                for (Way w : getCurrentDataSet().ways) {
    94                     if (w.deleted || w.incomplete || w.nodes.size() < 1) {
     94                    if (w.deleted || w.incomplete || w.getNodesCount() < 1) {
    9595                        continue;
    9696                    }
    97                     if (!w.nodes.contains(n)) {
     97                    if (!w.getNodes().contains(n)) {
    9898                        continue;
    9999                    }
     
    191191        boolean isPartOfWay = false;
    192192        for(Way w : getCurrentDataSet().ways) {
    193             if(w.nodes.contains(n)) {
     193            if(w.getNodes().contains(n)) {
    194194                isPartOfWay = true;
    195195                break;
     
    232232                selectedNode = (Node) p;
    233233                if (size == 1 || selectedWay != null)
    234                     return size == 1 || selectedWay.nodes.contains(selectedNode);
     234                    return size == 1 || selectedWay.getNodes().contains(selectedNode);
    235235            } else if (p instanceof Way) {
    236236                selectedWay = (Way) p;
    237237                if (size == 2 && selectedNode != null)
    238                     return selectedWay.nodes.contains(selectedNode);
     238                    return selectedWay.getNodes().contains(selectedNode);
    239239            }
    240240        }
     
    276276            if (p instanceof Node) {
    277277                Node n = (Node) p;
    278                 if (!selectedWay.nodes.contains(n))
     278                if (!selectedWay.getNodes().contains(n))
    279279                    return false;
    280280                selectedNodes.add(n);
     
    283283
    284284        if (selectedNodes.size() < 1) {
    285             selectedNodes.addAll(selectedWay.nodes);
     285            selectedNodes.addAll(selectedWay.getNodes());
    286286        }
    287287
     
    298298    private Way modifyWay(Node originalNode, Way w, List<Command> cmds, List<Node> newNodes) {
    299299        ArrayList<Node> nn = new ArrayList<Node>();
    300         for (Node pushNode : w.nodes) {
     300        for (Node pushNode : w.getNodes()) {
    301301            if (originalNode == pushNode) {
    302302                // clone the node for all other ways
     
    309309        }
    310310        Way newWay = new Way(w);
    311         newWay.nodes.clear();
    312         newWay.nodes.addAll(nn);
     311        newWay.setNodes(nn);
    313312
    314313        return newWay;
     
    370369            // modify all ways containing the nodes
    371370            for (Way w : getCurrentDataSet().ways) {
    372                 if (w.deleted || w.incomplete || w.nodes.size() < 1) {
     371                if (w.deleted || w.incomplete || w.getNodesCount() < 1) {
    373372                    continue;
    374373                }
    375                 if (!w.nodes.contains(selectedNode)) {
     374                if (!w.getNodes().contains(selectedNode)) {
    376375                    continue;
    377376                }
  • trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java

    r1847 r1862  
    6565    /**
    6666     * Replies true if we are currently running on OSX
    67      * 
     67     *
    6868     * @return true if we are currently running on OSX
    6969     */
     
    306306                {
    307307                    Way w = (Way)osm;
    308                     Point p1 = c.getPoint(w.nodes.get(nearestWS.lowerIndex));
    309                     Point p2 = c.getPoint(w.nodes.get(nearestWS.lowerIndex+1));
     308                    Point p1 = c.getPoint(w.getNode(nearestWS.lowerIndex));
     309                    Point p2 = c.getPoint(w.getNode(nearestWS.lowerIndex+1));
    310310                    if(SimplePaintVisitor.isLargeSegment(p1, p2, Main.pref.getInteger("mappaint.node.virtual-space", 70)))
    311311                    {
     
    317317                            // virtual node at the same spot will be joined which is likely unwanted
    318318                            if(virtualWayNode != null) {
    319                                 if(  !w.nodes.get(nearestWS.lowerIndex+1).equals(virtualWayNode)
    320                                         && !w.nodes.get(nearestWS.lowerIndex  ).equals(virtualWayNode)) {
     319                                if(  !w.getNode(nearestWS.lowerIndex+1).equals(virtualWayNode)
     320                                        && !w.getNode(nearestWS.lowerIndex).equals(virtualWayNode)) {
    321321                                    continue;
    322322                                }
    323323                            } else {
    324                                 virtualWayNode = w.nodes.get(nearestWS.lowerIndex+1);
     324                                virtualWayNode = w.getNode(nearestWS.lowerIndex+1);
    325325                            }
    326326
     
    459459                    {
    460460                        s.add(osm);
    461                         s.addAll(((Way)osm).nodes);
     461                        s.addAll(((Way)osm).getNodes());
    462462                    }
    463463                    if(s.size() > max)
  • trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java

    r1843 r1862  
    375375        public NodeCount(int count) {this.count = count;}
    376376        @Override public boolean match(OsmPrimitive osm) {
    377             return osm instanceof Way && ((Way) osm).nodes.size() == count;
     377            return osm instanceof Way && ((Way) osm).getNodesCount() == count;
    378378        }
    379379        @Override public String toString() {return "nodes="+count;}
     
    394394        @Override public boolean match(OsmPrimitive osm) {
    395395            if(!(osm instanceof Way)) return false;
    396             int size = ((Way)osm).nodes.size();
     396            int size = ((Way)osm).getNodesCount();
    397397            return (size >= minCount) && (size <= maxCount);
    398398        }
     
    441441
    442442            if (osm instanceof Way) {
    443                 for (Node n : ((Way)osm).nodes) {
     443                for (Node n : ((Way)osm).getNodes()) {
    444444                    isParent |= child.match(n);
    445445                }
Note: See TracChangeset for help on using the changeset viewer.