Ignore:
Timestamp:
2011-12-21T10:37:23+01:00 (12 years ago)
Author:
simon04
Message:

fix #2746 - add validation: Way connected to Area

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java

    r4623 r4682  
    410410        styleSources.addAll(sources);
    411411    }
     412
     413    /**
     414     * Returns the first AreaElemStyle for a given primitive.
     415     * @param p the OSM primitive
     416     * @param pretendWayIsClosed For styles that require the way to be closed,
     417     * we pretend it is. This is useful for generating area styles from the (segmented)
     418     * outer ways of a multipolygon.
     419     * @return first AreaElemStyle found or {@code null}.
     420     */
     421    public static AreaElemStyle getAreaElemStyle(OsmPrimitive p, boolean pretendWayIsClosed) {
     422        if (MapPaintStyles.getStyles() == null) {
     423            return null;
     424        }
     425        for (ElemStyle s : MapPaintStyles.getStyles().generateStyles(p, 1.0, null, pretendWayIsClosed).a) {
     426            if (s instanceof AreaElemStyle) {
     427                return (AreaElemStyle) s;
     428            }
     429        }
     430        return null;
     431    }
     432
     433    /**
     434     * Determines whether primitive has an AreaElemStyle.
     435     * @param p the OSM primitive
     436     * @param pretendWayIsClosed For styles that require the way to be closed,
     437     * we pretend it is. This is useful for generating area styles from the (segmented)
     438     * outer ways of a multipolygon.
     439     * @return {@code true} iff primitive has an AreaElemStyle
     440     */
     441    public static boolean hasAreaElemStyle(OsmPrimitive p, boolean pretendWayIsClosed) {
     442        return getAreaElemStyle(p, pretendWayIsClosed) != null;
     443    }
    412444}
Note: See TracChangeset for help on using the changeset viewer.