public void IntersectsWith() { PdfRectangle rectangle = new PdfRectangle(10, 10, 20, 20); PdfRectangle rectangle1 = new PdfRectangle(149.95376d, 687.13456d, 451.73539d, 1478.4997d); Assert.False(rectangle.IntersectsWith(rectangle1)); Assert.True(rectangle1.IntersectsWith(rectangle1)); PdfRectangle rectangle2 = new PdfRectangle(50, 687.13456d, 350, 1478.4997d); Assert.True(rectangle1.IntersectsWith(rectangle2)); PdfRectangle rectangle3 = new PdfRectangle(200, 800, 350, 1200); Assert.True(rectangle1.IntersectsWith(rectangle3)); PdfRectangle rectangle4 = new PdfRectangle(5, 7, 10, 25); Assert.False(rectangle1.IntersectsWith(rectangle4)); // special case where they share one border }
public static IEnumerable <Letter> GetLettersInside(PdfRectangle bound, IEnumerable <Letter> letters) { return(letters.Where(l => bound.IntersectsWith(l.GlyphRectangle))); }