org.openstreetmap.josm.data.osm.visitor.paint.relations
Class Multipolygon

java.lang.Object
  extended by org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon

public class Multipolygon
extends java.lang.Object


Nested Class Summary
static class Multipolygon.JoinedWay
           
private static class Multipolygon.MultipolygonRoleMatcher
          Kind of strategy object which is responsible for deciding whether a given member role indicates that the member belongs to an outer or an inner polygon.
static class Multipolygon.PolyData
           
 
Field Summary
private  java.util.List<Multipolygon.PolyData> combinedPolygons
           
private  boolean incomplete
           
private  java.util.List<Multipolygon.PolyData> innerPolygons
           
private  java.util.List<Way> innerWays
           
private  java.util.List<Multipolygon.PolyData> outerPolygons
           
private  java.util.List<Way> outerWays
           
static java.lang.String PREF_KEY_INNER_ROLE_PREFIXES
          preference key for collection of role prefixes which indicate that the respective member belongs to an inner polygon.
static java.lang.String PREF_KEY_INNER_ROLES
          preference key for a collection of roles which indicate that the respective member belongs to an inner polygon.
static java.lang.String PREF_KEY_OUTER_ROLE_PREFIXES
          preference key for collection of role prefixes which indicate that the respective member belongs to an outer polygon.
static java.lang.String PREF_KEY_OUTER_ROLES
          preference key for a collection of roles which indicate that the respective member belongs to an outer polygon.
private static Multipolygon.MultipolygonRoleMatcher roleMatcher
           
 
Constructor Summary
Multipolygon(Relation r)
           
 
Method Summary
private  void addInnerToOuters()
           
private  void createPolygons(java.util.List<Way> ways, java.util.List<Multipolygon.PolyData> result)
           
 Multipolygon.PolyData findOuterPolygon(Multipolygon.PolyData inner, java.util.List<Multipolygon.PolyData> outerPolygons)
           
 java.util.List<Multipolygon.PolyData> getCombinedPolygons()
           
 java.util.List<Way> getInnerWays()
           
private static Multipolygon.MultipolygonRoleMatcher getMultipolygonRoleMatcher()
           
 java.util.List<Way> getOuterWays()
           
 boolean isIncomplete()
           
static java.util.Collection<Multipolygon.JoinedWay> joinWays(java.util.Collection<Way> waysToJoin)
           
private  void load(Relation r)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREF_KEY_OUTER_ROLES

public static final java.lang.String PREF_KEY_OUTER_ROLES
preference key for a collection of roles which indicate that the respective member belongs to an outer polygon. Default is outer.

See Also:
Constant Field Values

PREF_KEY_OUTER_ROLE_PREFIXES

public static final java.lang.String PREF_KEY_OUTER_ROLE_PREFIXES
preference key for collection of role prefixes which indicate that the respective member belongs to an outer polygon. Default is empty.

See Also:
Constant Field Values

PREF_KEY_INNER_ROLES

public static final java.lang.String PREF_KEY_INNER_ROLES
preference key for a collection of roles which indicate that the respective member belongs to an inner polygon. Default is inner.

See Also:
Constant Field Values

PREF_KEY_INNER_ROLE_PREFIXES

public static final java.lang.String PREF_KEY_INNER_ROLE_PREFIXES
preference key for collection of role prefixes which indicate that the respective member belongs to an inner polygon. Default is empty.

See Also:
Constant Field Values

roleMatcher

private static Multipolygon.MultipolygonRoleMatcher roleMatcher

innerWays

private final java.util.List<Way> innerWays

outerWays

private final java.util.List<Way> outerWays

innerPolygons

private final java.util.List<Multipolygon.PolyData> innerPolygons

outerPolygons

private final java.util.List<Multipolygon.PolyData> outerPolygons

combinedPolygons

private final java.util.List<Multipolygon.PolyData> combinedPolygons

incomplete

private boolean incomplete
Constructor Detail

Multipolygon

public Multipolygon(Relation r)
Method Detail

getMultipolygonRoleMatcher

private static Multipolygon.MultipolygonRoleMatcher getMultipolygonRoleMatcher()

load

private void load(Relation r)

isIncomplete

public final boolean isIncomplete()

createPolygons

private void createPolygons(java.util.List<Way> ways,
                            java.util.List<Multipolygon.PolyData> result)

joinWays

public static java.util.Collection<Multipolygon.JoinedWay> joinWays(java.util.Collection<Way> waysToJoin)

findOuterPolygon

public Multipolygon.PolyData findOuterPolygon(Multipolygon.PolyData inner,
                                              java.util.List<Multipolygon.PolyData> outerPolygons)

addInnerToOuters

private void addInnerToOuters()

getOuterWays

public java.util.List<Way> getOuterWays()

getInnerWays

public java.util.List<Way> getInnerWays()

getCombinedPolygons

public java.util.List<Multipolygon.PolyData> getCombinedPolygons()


JOSM