Changeset 11038 in josm
- Timestamp:
- 2016-09-21T21:37:13+02:00 (8 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java
r10621 r11038 335 335 } 336 336 } 337 ways.removeAll(rel.getMemberPrimitives ());337 ways.removeAll(rel.getMemberPrimitivesList()); 338 338 for (final Way way : ways) { 339 339 rel.addMember(new RelationMember(role, way)); -
trunk/src/org/openstreetmap/josm/actions/relation/SelectMembersAction.java
r10413 r11038 40 40 Set<OsmPrimitive> members = new HashSet<>(); 41 41 for (Relation r: relations) { 42 members.addAll(r.getMemberPrimitives ());42 members.addAll(r.getMemberPrimitivesList()); 43 43 } 44 44 if (add) { -
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r10728 r11038 10 10 import java.util.Map; 11 11 import java.util.Set; 12 import java.util.stream.Collectors; 12 13 13 14 import org.openstreetmap.josm.Main; … … 72 73 } 73 74 75 /** 76 * Returns the relation member at the specified index. 77 * @param index the index of the relation member 78 * @return relation member at the specified index 79 */ 74 80 public RelationMember getMember(int index) { 75 81 return members[index]; 76 82 } 77 83 84 /** 85 * Adds the specified relation member at the last position. 86 * @param member the member to add 87 */ 78 88 public void addMember(RelationMember member) { 79 89 boolean locked = writeLock(); … … 88 98 } 89 99 100 /** 101 * Adds the specified relation member at the specified index. 102 * @param member the member to add 103 * @param index the index at which the specified element is to be inserted 104 */ 90 105 public void addMember(int index, RelationMember member) { 91 106 boolean locked = writeLock(); … … 383 398 * @return the set of {@link OsmPrimitive}s referred to by at least one 384 399 * member of this relation 400 * @see #getMemberPrimitivesList() 385 401 */ 386 402 public Set<OsmPrimitive> getMemberPrimitives() { 387 Set<OsmPrimitive> ret = new HashSet<>(); 388 RelationMember[] members = this.members; 389 for (RelationMember m: members) { 390 if (m.getMember() != null) { 391 ret.add(m.getMember()); 392 } 393 } 394 return ret; 395 } 396 403 return getMembers().stream().map(RelationMember::getMember).collect(Collectors.toSet()); 404 } 405 406 /** 407 * Returns the {@link OsmPrimitive}s of the specified type referred to by at least one member of this relation. 408 * @param tClass the type of the primitive 409 * @param <T> the type of the primitive 410 * @return the primitives 411 */ 397 412 public <T extends OsmPrimitive> Collection<T> getMemberPrimitives(Class<T> tClass) { 398 return Utils.filteredCollection(getMemberPrimitives(), tClass); 399 } 400 413 return Utils.filteredCollection(getMemberPrimitivesList(), tClass); 414 } 415 416 /** 417 * Returns an unmodifiable list of the {@link OsmPrimitive}s referred to by at least one member of this relation. 418 * @return an unmodifiable list of the primitives 419 */ 401 420 public List<OsmPrimitive> getMemberPrimitivesList() { 402 421 return Utils.transform(getMembers(), RelationMember::getMember); … … 549 568 protected void keysChangedImpl(Map<String, String> originalKeys) { 550 569 super.keysChangedImpl(originalKeys); 551 for (OsmPrimitive member : getMemberPrimitives ()) {570 for (OsmPrimitive member : getMemberPrimitivesList()) { 552 571 member.clearCachedStyle(); 553 572 } -
trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/MultipolygonCache.java
r10345 r11038 224 224 } 225 225 // Erase style cache for polygon members 226 for (OsmPrimitive member : r.getMemberPrimitives ()) {226 for (OsmPrimitive member : r.getMemberPrimitivesList()) { 227 227 member.clearCachedStyle(); 228 228 } -
trunk/src/org/openstreetmap/josm/gui/datatransfer/data/PrimitiveTransferData.java
r10868 r11038 19 19 import org.openstreetmap.josm.data.osm.Way; 20 20 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; 21 import org.openstreetmap.josm.tools.CompositeList; 21 22 22 23 /** … … 40 41 return ((Way) primitive).getNodes(); 41 42 } else if (primitive instanceof Relation) { 42 return ((Relation) primitive).getMemberPrimitives ();43 return ((Relation) primitive).getMemberPrimitivesList(); 43 44 } else { 44 45 return Collections.emptyList(); … … 102 103 */ 103 104 public Collection<PrimitiveData> getAll() { 104 ArrayList<PrimitiveData> list = new ArrayList<>(); 105 list.addAll(direct); 106 list.addAll(referenced); 107 return list; 105 return new CompositeList<>(direct, referenced); 108 106 } 109 107 -
trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
r10882 r11038 10 10 import java.util.function.IntFunction; 11 11 import java.util.function.IntSupplier; 12 import java.util.Set; 12 13 import java.util.regex.PatternSyntaxException; 13 14 … … 315 316 final Relation multipolygon = multipolygons.iterator().next(); 316 317 if (multipolygon == null) throw new NoSuchElementException(); 318 final Set<OsmPrimitive> members = multipolygon.getMemberPrimitives(); 317 319 containsFinder = new ContainsFinder(new Environment(multipolygon)) { 318 320 @Override 319 321 public boolean isPrimitiveUsable(OsmPrimitive p) { 320 return super.isPrimitiveUsable(p) && !m ultipolygon.getMemberPrimitives().contains(p);322 return super.isPrimitiveUsable(p) && !members.contains(p); 321 323 } 322 324 }; -
trunk/src/org/openstreetmap/josm/gui/util/HighlightHelper.java
r10446 r11038 88 88 seenRelations.add(r); 89 89 boolean needRepaint = false; 90 for (OsmPrimitive m : r.getMemberPrimitives ()) {90 for (OsmPrimitive m : r.getMemberPrimitivesList()) { 91 91 if (!(m instanceof Relation) || !seenRelations.contains(m)) { 92 92 needRepaint |= setHighlight(m, flag, seenRelations);
Note:
See TracChangeset
for help on using the changeset viewer.