/** * Inserts an item having the given bounds into the tree. */ public void insert(double x1, double x2, Object item) { super.insert(new Interval(Math.min(x1, x2), Math.max(x1, x2)), item); }
/** * Returns items whose bounds intersect the given bounds. * @param x1 possibly equal to x2 */ public List query(double x1, double x2) { return super.query(new Interval(Math.min(x1, x2), Math.max(x1, x2))); }
public void testExpandToInclude() { assertEquals(new Interval(3, 8), new Interval(3, 4) .expandToInclude(new Interval(7, 8))); assertEquals(new Interval(3, 7), new Interval(3, 7) .expandToInclude(new Interval(4, 5))); assertEquals(new Interval(3, 8), new Interval(3, 7) .expandToInclude(new Interval(4, 8))); }
protected Object computeBounds() { Interval bounds = null; for (Iterator i = getChildBoundables().iterator(); i.hasNext(); ) { Boundable childBoundable = (Boundable) i.next(); if (bounds == null) { bounds = new Interval((Interval)childBoundable.getBounds()); } else { bounds.expandToInclude((Interval)childBoundable.getBounds()); } } return bounds; } };
public void testIntersectsBasic() { assertTrue(new Interval(5, 10).intersects(new Interval(7, 12))); assertTrue(new Interval(7, 12).intersects(new Interval(5, 10))); assertTrue(! new Interval(5, 10).intersects(new Interval(11, 12))); assertTrue(! new Interval(11, 12).intersects(new Interval(5, 10))); assertTrue(new Interval(5, 10).intersects(new Interval(10, 12))); assertTrue(new Interval(10, 12).intersects(new Interval(5, 10))); }
public void testIntersectsZeroWidthInterval() { assertTrue(new Interval(10, 10).intersects(new Interval(7, 12))); assertTrue(new Interval(7, 12).intersects(new Interval(10, 10))); assertTrue(! new Interval(10, 10).intersects(new Interval(11, 12))); assertTrue(! new Interval(11, 12).intersects(new Interval(10, 10))); assertTrue(new Interval(10, 10).intersects(new Interval(10, 12))); assertTrue(new Interval(10, 12).intersects(new Interval(10, 10))); }
public void testGetCentre() { assertEquals(6.5, new Interval(4, 9).getCentre(), 1E-10); }