static boolean hasNonEmptyBoundary(Geometry geom, ProgressTracker progress_tracker) { if (geom.isEmpty()) return false; Geometry.Type gt = geom.getType(); if (gt == Geometry.Type.Polygon) { if (geom.calculateArea2D() == 0) return false; return true; } else if (gt == Geometry.Type.Polyline) { boolean[] b = new boolean[1]; b[0] = false; calculatePolylineBoundary_(geom._getImpl(), progress_tracker, true, b); return b[0]; } else if (gt == Geometry.Type.Envelope) { return true; } else if (Geometry.isSegment(gt.value())) { if (!((Segment) geom).isClosed()) { return true; } return false; } else if (Geometry.isPoint(gt.value())) { return false; } return false; }
static boolean hasNonEmptyBoundary(Geometry geom, ProgressTracker progress_tracker) { if (geom.isEmpty()) return false; Geometry.Type gt = geom.getType(); if (gt == Geometry.Type.Polygon) { if (geom.calculateArea2D() == 0) return false; return true; } else if (gt == Geometry.Type.Polyline) { boolean[] b = new boolean[1]; b[0] = false; calculatePolylineBoundary_(geom._getImpl(), progress_tracker, true, b); return b[0]; } else if (gt == Geometry.Type.Envelope) { return true; } else if (Geometry.isSegment(gt.value())) { if (!((Segment) geom).isClosed()) { return true; } return false; } else if (Geometry.isPoint(gt.value())) { return false; } return false; }
private Geometry Generalize(Geometry geom) { Geometry.Type gt = geom.getType(); if (Geometry.isPoint(gt.value())) return geom; if (gt == Geometry.Type.Envelope) { Polygon poly = new Polygon(geom.getDescription()); poly.addEnvelope((Envelope) geom, false); return Generalize(poly); } if (geom.isEmpty()) return geom; MultiPath mp = (MultiPath) geom; MultiPath dstmp = (MultiPath) geom.createInstance(); Line line = new Line(); for (int ipath = 0, npath = mp.getPathCount(); ipath < npath; ipath++) { GeneralizePath((MultiPathImpl) mp._getImpl(), ipath, (MultiPathImpl) dstmp._getImpl(), line); } return dstmp; }
private Geometry Generalize(Geometry geom) { Geometry.Type gt = geom.getType(); if (Geometry.isPoint(gt.value())) return geom; if (gt == Geometry.Type.Envelope) { Polygon poly = new Polygon(geom.getDescription()); poly.addEnvelope((Envelope) geom, false); return Generalize(poly); } if (geom.isEmpty()) return geom; MultiPath mp = (MultiPath) geom; MultiPath dstmp = (MultiPath) geom.createInstance(); Line line = new Line(); for (int ipath = 0, npath = mp.getPathCount(); ipath < npath; ipath++) { GeneralizePath((MultiPathImpl) mp._getImpl(), ipath, (MultiPathImpl) dstmp._getImpl(), line); } return dstmp; }
} else if (Geometry.isPoint(gt)) {
} else if (Geometry.isPoint(gt)) {
if (!Geometry.isPoint(m_shape.getGeometryType(geometry))) path_count += m_shape.getPathCount(geometry);
if (!Geometry.isPoint(m_shape.getGeometryType(geometry))) path_count += m_shape.getPathCount(geometry);