/** * Minimize the polygon * * @param polygon * polygon * @param maxX * max positive x value in the geometry projection */ private static void minimize(Polygon polygon, double maxX) { for (LineString ring : polygon.getRings()) { minimize(ring, maxX); } }
switch (geometryType) { case LINESTRING: minimize((LineString) geometry, maxX); break; case POLYGON: minimize((Polygon) geometry, maxX); break; case MULTILINESTRING: minimize((MultiLineString) geometry, maxX); break; case MULTIPOLYGON: minimize((MultiPolygon) geometry, maxX); break; case CIRCULARSTRING: minimize((CircularString) geometry, maxX); break; case COMPOUNDCURVE: minimize((CompoundCurve) geometry, maxX); break; case CURVEPOLYGON: @SuppressWarnings("unchecked") CurvePolygon<Curve> curvePolygon = (CurvePolygon<Curve>) geometry; minimize(curvePolygon, maxX); break; case POLYHEDRALSURFACE: minimize((PolyhedralSurface) geometry, maxX); break; case TIN: minimize((TIN) geometry, maxX);
/** * Minimize the polyhedral surface * * @param polyhedralSurface * polyhedral surface * @param maxX * max positive x value in the geometry projection */ private static void minimize(PolyhedralSurface polyhedralSurface, double maxX) { for (Polygon polygon : polyhedralSurface.getPolygons()) { minimize(polygon, maxX); } }
/** * Minimize the multi polygon * * @param multiPolygon * multi polygon * @param maxX * max positive x value in the geometry projection */ private static void minimize(MultiPolygon multiPolygon, double maxX) { List<Polygon> polygons = multiPolygon.getPolygons(); for (Polygon polygon : polygons) { minimize(polygon, maxX); } }
/** * Minimize the compound curve * * @param compoundCurve * compound curve * @param maxX * max positive x value in the geometry projection */ private static void minimize(CompoundCurve compoundCurve, double maxX) { for (LineString lineString : compoundCurve.getLineStrings()) { minimize(lineString, maxX); } }
/** * Minimize the multi line string * * @param multiLineString * multi line string * @param maxX * max positive x value in the geometry projection */ private static void minimize(MultiLineString multiLineString, double maxX) { List<LineString> lineStrings = multiLineString.getLineStrings(); for (LineString lineString : lineStrings) { minimize(lineString, maxX); } }