Changeset 9900 in josm for trunk/src


Ignore:
Timestamp:
2016-02-28T14:07:49+01:00 (8 years ago)
Author:
Don-vip
Message:

fix #12377 - detect intersecting outer members in multipolygons

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java

    r9834 r9900  
    306306        // For painting is used Polygon class which works with ints only. For validation we need more precision
    307307        List<PolyData> innerPolygons = polygon.getInnerPolygons();
    308         List<PolyData> outerPolygons = innerPolygons.isEmpty() ? Collections.<PolyData>emptyList() : polygon.getOuterPolygons();
     308        List<PolyData> outerPolygons = polygon.getOuterPolygons();
    309309        List<GeneralPath> innerPolygonsPaths = innerPolygons.isEmpty() ? Collections.<GeneralPath>emptyList() : createPolygons(innerPolygons);
    310         List<GeneralPath> outerPolygonsPaths = innerPolygons.isEmpty() ? Collections.<GeneralPath>emptyList() : createPolygons(outerPolygons);
     310        List<GeneralPath> outerPolygonsPaths = createPolygons(outerPolygons);
     311        for (int i = 0; i < outerPolygons.size(); i++) {
     312            PolyData pdOuter = outerPolygons.get(i);
     313            // Check for intersection between outer members
     314            for (int j = i+1; j < outerPolygons.size(); j++) {
     315                checkCrossingWays(r, outerPolygons, outerPolygonsPaths, pdOuter, j);
     316            }
     317        }
    311318        for (int i = 0; i < innerPolygons.size(); i++) {
    312319            PolyData pdInner = innerPolygons.get(i);
Note: See TracChangeset for help on using the changeset viewer.