Changeset 2678 in josm for trunk/src


Ignore:
Timestamp:
2009-12-24T13:32:58+01:00 (12 years ago)
Author:
jttt
Message:

Minor cleanup in multipolygon code

Location:
trunk/src/org/openstreetmap/josm/data/osm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/Way.java

    r2620 r2678  
    398398        return super.isUsable() && !hasIncompleteNodes();
    399399    }
     400
     401    @Override
     402    public boolean isDrawable() {
     403        return super.isDrawable() && !hasIncompleteNodes();
     404    }
    400405}
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPaintVisitor.java

    r2675 r2678  
    190190    {
    191191        Collection<PolyData> res = new LinkedList<PolyData>();
    192         Object[] joinArray = join.toArray();
     192        Way[] joinArray = join.toArray(new Way[join.size()]);
    193193        int left = join.size();
    194194        while(left != 0)
     
    205205                    if(joinArray[i] != null)
    206206                    {
    207                         Way c = (Way)joinArray[i];
     207                        Way c = joinArray[i];
    208208                        if(w == null)
    209209                        { w = c; selected = data.isSelected(w); joinArray[i] = null; --left; }
     
    631631        for (PolyData pdOuter : outerPolygons)
    632632        {
    633             Integer c = pdOuter.contains(pdInner.poly);
     633            int c = pdOuter.contains(pdInner.poly);
    634634            if(c >= 1)
    635635            {
     
    664664        boolean drawn = false;
    665665
    666         for (RelationMember m : r.getMembers())
    667         {
     666        // Fill inner and outer list with valid ways
     667        for (RelationMember m : r.getMembers()) {
    668668            if (m.getMember().isDeleted()) {
    669669                putError(r, tr("Deleted member ''{0}'' in relation.",
    670670                        m.getMember().getDisplayName(DefaultNameFormatter.getInstance())), true);
    671             } else if(m.getMember().isIncomplete()) {
     671            } else if (m.getMember().isIncomplete()) {
    672672                incomplete = true;
    673             } else {
     673            } else if(m.getMember().isDrawable()) {
    674674                if(m.isWay()) {
    675675                    Way w = m.getWay();
     
    688688                            outer.add(w);
    689689                        } else if(data.isSelected(r)) {
     690                            // TODO Is this necessary?
    690691                            drawSelectedMember(m.getMember(), styles != null
    691692                                    ? getPrimitiveStyle(m.getMember()) : null, true, true);
     
    701702        }
    702703
    703         ElemStyle wayStyle = styles != null ? getPrimitiveStyle(r) : null;
    704         if(styles != null && (wayStyle == null || !(wayStyle instanceof AreaElemStyle)))
    705         {
    706             for (Way w : outer)
    707             {
    708                 if(wayStyle == null) {
    709                     wayStyle = styles.getArea(w);
     704        ElemStyle wayStyle = getPrimitiveStyle(r);
     705
     706        // If area style was not found for relation then use style of ways
     707        if(styles != null && !(wayStyle instanceof AreaElemStyle)) {
     708            for (Way w : outer) {
     709                wayStyle = styles.getArea(w);
     710                if(wayStyle != null) {
     711                    break;
    710712                }
    711713            }
     
    713715        }
    714716
    715         if(wayStyle != null && wayStyle instanceof AreaElemStyle)
    716         {
     717        if (wayStyle instanceof AreaElemStyle) {
    717718            boolean zoomok = isZoomOk(wayStyle);
    718719            boolean visible = false;
     
    737738                }
    738739            }
     740
     741
    739742            if(outerclosed.size() == 0 && outerjoin.size() == 0)
    740743            {
     
    771774                }
    772775            }
     776
    773777            if(!visible)
    774778                return drawn;
Note: See TracChangeset for help on using the changeset viewer.