Changeset 16442 in josm for trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
- Timestamp:
- 2020-05-17T15:57:55+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
r16438 r16442 204 204 return alignMultiWay(selectedWays); 205 205 } else if (selectedNodes.size() == 1) { 206 // Only 1 node selected -> align this node relative to refer ers way206 // Only 1 node selected -> align this node relative to referrers way 207 207 Node selectedNode = selectedNodes.get(0); 208 208 List<Way> involvedWays; … … 266 266 } 267 267 Collection<Command> cmds = new ArrayList<>(nodes.size()); 268 List<Way> refer ers = new ArrayList<>(ways.size());268 List<Way> referrers = new ArrayList<>(ways.size()); 269 269 for (Node n: nodes) { 270 refer ers.clear();270 referrers.clear(); 271 271 for (OsmPrimitive o: n.getReferrers()) { 272 272 if (ways.contains(o)) 273 refer ers.add((Way) o);274 } 275 if (refer ers.size() == 1) {276 Way way = refer ers.get(0);273 referrers.add((Way) o); 274 } 275 if (referrers.size() == 1) { 276 Way way = referrers.get(0); 277 277 if (way.isFirstLastNode(n)) continue; 278 278 cmds.add(lines.get(way).projectionCommand(n)); 279 } else if (refer ers.size() == 2) {280 cmds.add(lines.get(refer ers.get(0)).intersectionCommand(n, lines.get(referers.get(1))));279 } else if (referrers.size() == 2) { 280 cmds.add(lines.get(referrers.get(0)).intersectionCommand(n, lines.get(referrers.get(1)))); 281 281 } else 282 282 throw new InvalidSelection(tr("Intersection of three or more ways can not be solved. Abort."));
Note:
See TracChangeset
for help on using the changeset viewer.