private static class MultipolygonTest.PolygonLevelFinder extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.Set<Node> |
sharedNodes |
Constructor and Description |
---|
PolygonLevelFinder(java.util.Set<Node> sharedNodes) |
Modifier and Type | Method and Description |
---|---|
private java.util.List<Multipolygon.PolyData> |
findInnerWaysCandidates(Multipolygon.PolyData outerCandidate,
java.util.List<Multipolygon.PolyData> polygons)
Check if polygon is an out-most ring, if so, collect the inners
|
(package private) java.util.List<MultipolygonTest.PolygonLevel> |
findOuterWays(java.util.List<Multipolygon.PolyData> allPolygons) |
private java.util.List<MultipolygonTest.PolygonLevel> |
findOuterWaysRecursive(int level,
java.util.List<Multipolygon.PolyData> polygons) |
private Node |
getNonIntersectingNode(Multipolygon.PolyData pd1,
Multipolygon.PolyData pd2)
Find node of pd2 which is not an intersection node with pd1.
|
private java.lang.Object |
processOuterWay(int level,
java.util.List<Multipolygon.PolyData> polygons,
java.util.List<MultipolygonTest.PolygonLevel> result,
Multipolygon.PolyData pd) |
private final java.util.Set<Node> sharedNodes
PolygonLevelFinder(java.util.Set<Node> sharedNodes)
java.util.List<MultipolygonTest.PolygonLevel> findOuterWays(java.util.List<Multipolygon.PolyData> allPolygons)
private java.util.List<MultipolygonTest.PolygonLevel> findOuterWaysRecursive(int level, java.util.List<Multipolygon.PolyData> polygons)
private java.lang.Object processOuterWay(int level, java.util.List<Multipolygon.PolyData> polygons, java.util.List<MultipolygonTest.PolygonLevel> result, Multipolygon.PolyData pd)
private java.util.List<Multipolygon.PolyData> findInnerWaysCandidates(Multipolygon.PolyData outerCandidate, java.util.List<Multipolygon.PolyData> polygons)
outerCandidate
- polygon which is checkedpolygons
- all polygonsprivate Node getNonIntersectingNode(Multipolygon.PolyData pd1, Multipolygon.PolyData pd2)
pd1
- 1st polygonpd2
- 2nd polygon