package org.khelekore.prtree; public class ResponsiveMBR extends SimpleMBR { double span; public ResponsiveMBR(double xmin, double ymin, double xmax, double ymax, double span) { super(xmin, ymin, xmax, ymax); this.span = span; } @Override public boolean intersects(MBR other) { double xSpan = other.getMaxX() - other.getMinX(); double ySpan = other.getMaxY() - other.getMinY(); System.out.printf("BusRadar: intersect %s\n", other); if (xSpan < span && ySpan < span) { return false; } return super.intersects(other); } @Override public <T> boolean intersects (T t, MBRConverter<T> converter) { double xSpan = converter.getMaxX(t) - converter.getMinX(t); double ySpan = converter.getMaxY(t) - converter.getMinY(t); if (xSpan < span && ySpan < span) { return false; } return super.intersects(t, converter); } }