/// <summary> /// Checks if a point is within the boundary. /// </summary> /// <param name="point">Point to check.</param> /// <returns>True if contained, false if not.</returns> public bool ContainsPoint(IQTPoint point) { return(point.X >= Min.X && point.X <= Max.X && point.Y >= Min.Y && point.Y <= Max.Y); }
/// <summary> /// Creates a quadtree with an upper left corner at <paramref name="min"/> /// and a lower right corner at <paramref name="max"/>. /// </summary> /// <param name="min">Upper left corner.</param> /// <param name="max">Lower right corner.</param> public QuadTreeNode(IQTPoint min, IQTPoint max) : this(new AABB(min, max)) { }
/// <summary> /// Sets the minimum and maximum corners with points. /// </summary> /// <param name="min">Upper left corner.</param> /// <param name="max">Lower right corner.</param> public AABB(IQTPoint min, IQTPoint max) { Min = new XY(min.X, min.Y); Max = new XY(max.X, max.Y); }
/// <summary> /// Gets all items between min and max. /// </summary> /// <param name="min">Upper left corner of boundary.</param> /// <param name="max">Lower right corner of boundary.</param> /// <returns>Collection of all items between min and max.</returns> public virtual IList <T> Query(IQTPoint min, IQTPoint max) { return(Query(new AABB(min, max))); }