Package | Description |
---|---|
org.openstreetmap.josm.data.osm.visitor.paint |
Provides the classes for painting (rendering) OSM primitives on the map.
|
org.openstreetmap.josm.data.osm.visitor.paint.relations |
Provides the classes for painting and caching
Multipolygon relations. |
org.openstreetmap.josm.data.validation.tests |
Provides the classes for JOSM data validation tests.
|
Modifier and Type | Method and Description |
---|---|
private static java.awt.geom.Path2D.Double |
StyledMapRenderer.getPFClip(Multipolygon.PolyData pd,
double extent) |
Modifier and Type | Field and Description |
---|---|
private java.util.List<Multipolygon.PolyData> |
Multipolygon.combinedPolygons |
private java.util.List<Multipolygon.PolyData> |
Multipolygon.PolyData.inners |
private java.util.Collection<Multipolygon.PolyData> |
MultipolygonCache.selectedPolyData |
Modifier and Type | Method and Description |
---|---|
Multipolygon.PolyData |
Multipolygon.findOuterPolygon(Multipolygon.PolyData inner,
java.util.List<Multipolygon.PolyData> outerPolygons)
Find a matching outer polygon for the inner one
|
Modifier and Type | Method and Description |
---|---|
java.util.List<Multipolygon.PolyData> |
Multipolygon.getCombinedPolygons()
Replies the list of combined polygons.
|
java.util.List<Multipolygon.PolyData> |
Multipolygon.getInnerPolygons()
Replies the list of inner polygons.
|
java.util.List<Multipolygon.PolyData> |
Multipolygon.PolyData.getInners()
Gets a list of all inner polygons.
|
java.util.List<Multipolygon.PolyData> |
Multipolygon.getOuterPolygons()
Replies the list of outer polygons.
|
Modifier and Type | Method and Description |
---|---|
void |
Multipolygon.PolyData.addInner(Multipolygon.PolyData inner)
Adds an inner polygon
|
Multipolygon.PolyData |
Multipolygon.findOuterPolygon(Multipolygon.PolyData inner,
java.util.List<Multipolygon.PolyData> outerPolygons)
Find a matching outer polygon for the inner one
|
Modifier and Type | Method and Description |
---|---|
private void |
Multipolygon.addInnerToOuters(java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons) |
private void |
Multipolygon.addInnerToOuters(java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons) |
private void |
Multipolygon.createPolygons(java.util.List<Way> ways,
java.util.List<Multipolygon.PolyData> result) |
Multipolygon.PolyData |
Multipolygon.findOuterPolygon(Multipolygon.PolyData inner,
java.util.List<Multipolygon.PolyData> outerPolygons)
Find a matching outer polygon for the inner one
|
Constructor and Description |
---|
PolyData(Multipolygon.PolyData copy)
Constructs a new
PolyData from an existing PolyData . |
Modifier and Type | Field and Description |
---|---|
(package private) Multipolygon.PolyData |
MultipolygonTest.PolygonLevel.outerWay |
Modifier and Type | Method and Description |
---|---|
private java.util.List<Multipolygon.PolyData> |
MultipolygonTest.PolygonLevelFinder.findInnerWaysCandidates(Multipolygon.PolyData outerCandidate,
java.util.List<Multipolygon.PolyData> polygons)
Check if polygon is an out-most ring, if so, collect the inners
|
private java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> |
MultipolygonTest.findIntersectingWays(Relation r,
java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons)
Determine multipolygon ways which are intersecting (crossing without a common node) or sharing one or more way segments.
|
private java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> |
MultipolygonTest.findIntersectingWays(Relation r,
java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons)
Determine multipolygon ways which are intersecting (crossing without a common node) or sharing one or more way segments.
|
Modifier and Type | Method and Description |
---|---|
private static boolean |
MultipolygonTest.checkIfNodeIsInsidePolygon(Node n,
Multipolygon.PolyData p)
Check if a node is inside the polygon according to the insideness rules of Shape.
|
private static MultipolygonTest.ExtPolygonIntersection |
MultipolygonTest.checkOverlapAtSharedNodes(java.util.Set<Node> shared,
Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2) |
private void |
MultipolygonTest.checkPolygonForSelfIntersection(Relation r,
Multipolygon.PolyData pd)
Check if a polygon ring is self-intersecting when the ring was build from multiple ways.
|
private void |
MultipolygonTest.checkPolygonsForSharedNodes(Relation r,
Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2,
java.util.Set<Node> allSharedNodes) |
private static boolean |
MultipolygonTest.checkProblemMap(java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> problemPolyMap,
Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2)
Check if map contains combination of two given polygons.
|
private java.util.List<Multipolygon.PolyData> |
MultipolygonTest.PolygonLevelFinder.findInnerWaysCandidates(Multipolygon.PolyData outerCandidate,
java.util.List<Multipolygon.PolyData> polygons)
Check if polygon is an out-most ring, if so, collect the inners
|
private Node |
MultipolygonTest.PolygonLevelFinder.getNonIntersectingNode(Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2)
Find node of pd2 which is not an intersection node with pd1.
|
private java.lang.Object |
MultipolygonTest.PolygonLevelFinder.processOuterWay(int level,
java.util.List<Multipolygon.PolyData> polygons,
java.util.List<MultipolygonTest.PolygonLevel> result,
Multipolygon.PolyData pd) |
Modifier and Type | Method and Description |
---|---|
private static boolean |
MultipolygonTest.checkProblemMap(java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> problemPolyMap,
Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2)
Check if map contains combination of two given polygons.
|
private static boolean |
MultipolygonTest.checkProblemMap(java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> problemPolyMap,
Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2)
Check if map contains combination of two given polygons.
|
private void |
MultipolygonTest.checkRoles(Relation r,
java.util.List<Multipolygon.PolyData> allPolygons,
java.util.Map<java.lang.Long,RelationMember> wayMap,
java.util.Set<Node> sharedNodes)
Calculate the nesting levels of the polygon rings and check if calculated role matches
|
private java.util.List<Multipolygon.PolyData> |
MultipolygonTest.PolygonLevelFinder.findInnerWaysCandidates(Multipolygon.PolyData outerCandidate,
java.util.List<Multipolygon.PolyData> polygons)
Check if polygon is an out-most ring, if so, collect the inners
|
private java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> |
MultipolygonTest.findIntersectingWays(Relation r,
java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons)
Determine multipolygon ways which are intersecting (crossing without a common node) or sharing one or more way segments.
|
private java.util.Map<Multipolygon.PolyData,java.util.List<Multipolygon.PolyData>> |
MultipolygonTest.findIntersectingWays(Relation r,
java.util.List<Multipolygon.PolyData> innerPolygons,
java.util.List<Multipolygon.PolyData> outerPolygons)
Determine multipolygon ways which are intersecting (crossing without a common node) or sharing one or more way segments.
|
(package private) java.util.List<MultipolygonTest.PolygonLevel> |
MultipolygonTest.PolygonLevelFinder.findOuterWays(java.util.List<Multipolygon.PolyData> allPolygons) |
private java.util.List<MultipolygonTest.PolygonLevel> |
MultipolygonTest.PolygonLevelFinder.findOuterWaysRecursive(int level,
java.util.List<Multipolygon.PolyData> polygons) |
private java.lang.Object |
MultipolygonTest.PolygonLevelFinder.processOuterWay(int level,
java.util.List<Multipolygon.PolyData> polygons,
java.util.List<MultipolygonTest.PolygonLevel> result,
Multipolygon.PolyData pd) |
Constructor and Description |
---|
PolygonLevel(Multipolygon.PolyData pd,
int level) |