Changeset 8460 in josm for trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
- Timestamp:
- 2015-06-03T13:43:59+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
r8459 r8460 235 235 Set<Node> nodes = new HashSet<>(); 236 236 Map<Way, Line> lines = new HashMap<>(); 237 for (Way w: ways) {238 if (w.firstNode() == w.lastNode())237 for (Way w: ways) { 238 if (w.isClosed()) 239 239 throw new InvalidSelection(tr("Can not align a polygon. Abort.")); 240 240 nodes.addAll(w.getNodes()); … … 243 243 Collection<Command> cmds = new ArrayList<>(nodes.size()); 244 244 List<Way> referers = new ArrayList<>(ways.size()); 245 for (Node n: nodes) {245 for (Node n: nodes) { 246 246 referers.clear(); 247 for (OsmPrimitive o: n.getReferrers())248 if (ways.contains(o))247 for (OsmPrimitive o: n.getReferrers()) 248 if (ways.contains(o)) 249 249 referers.add((Way) o); 250 if (referers.size() == 1) {250 if (referers.size() == 1) { 251 251 Way way = referers.get(0); 252 if (n == way.firstNode() || n == way.lastNode()) continue;252 if (way.isFirstLastNode(n)) continue; 253 253 cmds.add(lines.get(way).projectionCommand(n)); 254 } else if (referers.size() == 2) {254 } else if (referers.size() == 2) { 255 255 Command cmd = lines.get(referers.get(0)).intersectionCommand(n, lines.get(referers.get(1))); 256 256 cmds.add(cmd);
Note:
See TracChangeset
for help on using the changeset viewer.