Beispiel #1
0
 /// <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);
 }
Beispiel #2
0
 /// <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))
 {
 }
Beispiel #3
0
 /// <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);
 }
Beispiel #4
0
 /// <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)));
 }