/** * Computes the intersects predicate between a {@link PreparedPolygon} and a * {@link Geometry}. * * @param prep * the prepared polygon * @param geom * a test geometry * @return true if the polygon intersects the geometry */ public static boolean intersects(PreparedPolygon prep, Geometry geom) { PreparedPolygonIntersects polyInt = new PreparedPolygonIntersects(prep); return polyInt.intersects(geom); }
boolean isInPrepGeomArea = isAnyTestComponentInTarget(geom); if (isInPrepGeomArea) return true; boolean isPrepGeomInArea = isAnyTargetComponentInAreaTest(geom, prepPoly.getRepresentativePoints()); if (isPrepGeomInArea)
public boolean intersects(Geometry g) { // envelope test if (! envelopesIntersect(g)) return false; // optimization for rectangles if (isRectangle) { return RectangleIntersects.intersects((Polygon) getGeometry(), g); } return PreparedPolygonIntersects.intersects(this, g); }