Changeset 16442 in josm for trunk/src/org/openstreetmap
- Timestamp:
- 2020-05-17T15:57:55+02:00 (5 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
r16441 r16442 116 116 fixNodes.add(w.lastNode()); 117 117 fixNodes.addAll(nodes); 118 fixNodes.addAll(collectNodesWithExternReferers(ways)); 118 fixNodes.addAll(collectNodesWithExternReferrers(ways)); 119 119 // Temporary closed way used to reorder nodes 120 120 Way closedWay = new Way(w); … … 150 150 151 151 fixNodes.addAll(inside); 152 fixNodes.addAll(collectNodesWithExternReferers(ways)); 152 fixNodes.addAll(collectNodesWithExternReferrers(ways)); 153 153 nodes = collectNodesAnticlockwise(ways); 154 154 if (nodes.size() < 4) { … … 246 246 * @return List of nodes with more than one referrer 247 247 */ 248 private static List<Node> collectNodesWithExternReferers(List<Way> ways) { 248 private static List<Node> collectNodesWithExternReferrers(List<Way> ways) { 249 249 return ways.stream().flatMap(w -> w.getNodes().stream()).filter(n -> n.getReferrers().size() > 1).collect(Collectors.toList()); 250 250 } -
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 referers way 206 // 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> referers = new ArrayList<>(ways.size()); 268 List<Way> referrers = new ArrayList<>(ways.size()); 269 269 for (Node n: nodes) { 270 referers.clear(); 270 referrers.clear(); 271 271 for (OsmPrimitive o: n.getReferrers()) { 272 272 if (ways.contains(o)) 273 referers.add((Way) o); 274 } 275 if (referers.size() == 1) { 276 Way way = referers.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 (referers.size() == 2) { 280 cmds.add(lines.get(referers.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.")); -
trunk/src/org/openstreetmap/josm/io/OsmServerBackreferenceReader.java
r16056 r16442 82 82 * 83 83 * @param primitive the primitive 84 * @param readFull <code>true</code>, if referers should be read fully (i.e. including their immediate children) 84 * @param readFull <code>true</code>, if referrers should be read fully (i.e. including their immediate children) 85 85 * 86 86 */ … … 93 93 * Creates a back reference reader for given primitive id 94 94 * 95 * @param id the id of the primitive whose referers are to be read 95 * @param id the id of the primitive whose referrers are to be read 96 96 * @param type the type of the primitive 97 * @param readFull true, if referers should be read fully (i.e. including their immediate children) 97 * @param readFull true, if referrers should be read fully (i.e. including their immediate children) 98 98 * 99 99 * @throws IllegalArgumentException if id <= 0 … … 199 199 * 200 200 * <ul> 201 * <li>if this reader reads referers for a {@link org.openstreetmap.josm.data.osm.Node}, referring ways are always 201 * <li>if this reader reads referrers for a {@link org.openstreetmap.josm.data.osm.Node}, referring ways are always 202 202 * read fully, unless {@link #setAllowIncompleteParentWays(boolean)} is set to true.</li> 203 * <li>if this reader reads referers for an {@link Way} or a {@link Relation}, referring relations 203 * <li>if this reader reads referrers for an {@link Way} or a {@link Relation}, referring relations 204 204 * are only read fully if {@link #setReadFull(boolean)} is set to true.</li> 205 205 * </ul>
Note:
See TracChangeset
for help on using the changeset viewer.