Changeset 8510 in josm for trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
- Timestamp:
- 2015-06-20T23:42:21+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/SplitWayAction.java
r8465 r8510 183 183 sel.addAll(selectedWays); 184 184 sel.addAll(selectedRelations); 185 SplitWayResult result = splitWay(getEditLayer(), selectedWay, wayChunks, sel);185 SplitWayResult result = splitWay(getEditLayer(), selectedWay, wayChunks, sel); 186 186 Main.main.undoRedo.add(result.getCommand()); 187 187 getCurrentDataSet().setSelected(result.getNewSelection()); … … 226 226 new ArrayList<>(OsmPrimitive.getFilteredList(selectedNodes.get(0).getReferrers(), 227 227 Way.class)); 228 for (int i =1; i<selectedNodes.size(); i++) {228 for (int i = 1; i < selectedNodes.size(); i++) { 229 229 List<OsmPrimitive> ref = selectedNodes.get(i).getReferrers(); 230 230 for (Iterator<Way> it = result.iterator(); it.hasNext();) { … … 268 268 * @return the list of chunks 269 269 */ 270 public static List<List<Node>> buildSplitChunks(Way wayToSplit, List<Node> splitPoints) {270 public static List<List<Node>> buildSplitChunks(Way wayToSplit, List<Node> splitPoints) { 271 271 CheckParameterUtil.ensureParameterNotNull(wayToSplit, "wayToSplit"); 272 272 CheckParameterUtil.ensureParameterNotNull(splitPoints, "splitPoints"); … … 392 392 /* this code assumes the restriction is correct. No real error checking done */ 393 393 String role = rm.getRole(); 394 if ("from".equals(role) || "to".equals(role)) {394 if ("from".equals(role) || "to".equals(role)) { 395 395 OsmPrimitive via = null; 396 396 for (RelationMember rmv : r.getMembers()) { 397 if ("via".equals(rmv.getRole())) {397 if ("via".equals(rmv.getRole())) { 398 398 via = rmv.getMember(); 399 399 } … … 402 402 if (via != null) { 403 403 if (via instanceof Node) { 404 nodes.add((Node) via);404 nodes.add((Node) via); 405 405 } else if (via instanceof Way) { 406 nodes.add(((Way) via).lastNode());407 nodes.add(((Way) via).firstNode());406 nodes.add(((Way) via).lastNode()); 407 nodes.add(((Way) via).firstNode()); 408 408 } 409 409 } 410 410 Way res = null; 411 411 for (Node n : nodes) { 412 if (changedWay.isFirstLastNode(n)) {412 if (changedWay.isFirstLastNode(n)) { 413 413 res = way; 414 414 } … … 416 416 if (res == null) { 417 417 for (Way wayToAdd : newWays) { 418 for (Node n : nodes) {419 if (wayToAdd.isFirstLastNode(n)) {418 for (Node n : nodes) { 419 if (wayToAdd.isFirstLastNode(n)) { 420 420 res = wayToAdd; 421 421 } … … 433 433 insert = false; 434 434 } 435 } else if (!"via".equals(role)) {435 } else if (!"via".equals(role)) { 436 436 warnme = true; 437 437 } … … 451 451 int k = 1; 452 452 while (i_r - k >= 0 || i_r + k < relationMembers.size()) { 453 if ((i_r - k >= 0) && relationMembers.get(i_r - k).isWay()) {453 if ((i_r - k >= 0) && relationMembers.get(i_r - k).isWay()) { 454 454 Way w = relationMembers.get(i_r - k).getWay(); 455 455 if ((w.lastNode() == way.firstNode()) || w.firstNode() == way.firstNode()) { … … 460 460 break; 461 461 } 462 if ((i_r + k < relationMembers.size()) && relationMembers.get(i_r + k).isWay()) {462 if ((i_r + k < relationMembers.size()) && relationMembers.get(i_r + k).isWay()) { 463 463 Way w = relationMembers.get(i_r + k).getWay(); 464 464 if ((w.lastNode() == way.firstNode()) || w.firstNode() == way.firstNode()) { … … 537 537 List<List<Node>> chunks = buildSplitChunks(way, atNodes); 538 538 if (chunks == null) return null; 539 return splitWay(layer, way, chunks, selection);539 return splitWay(layer, way, chunks, selection); 540 540 } 541 541
Note:
See TracChangeset
for help on using the changeset viewer.