/// <summary> /// Amplia el recubrimiento para que contenga al punto indicado. /// </summary> /// <param name="point">Punto.</param> public BoundingBox2i Union(Point2i point) { int rxMin, rxMax; BoundingBox2iUtils.Union(this.XMin, this.XMax, point.X, out rxMin, out rxMax); int ryMin, ryMax; BoundingBox2iUtils.Union(this.YMin, this.YMax, point.Y, out ryMin, out ryMax); return(new BoundingBox2i(rxMin, rxMax, ryMin, ryMax)); }
/// <summary> /// Interseccion entre los recubrimientos. /// </summary> /// <param name="rec">Rectangulo.</param> public BoundingBox2i Intersect(BoundingBox2i rec) { int rxMin, rxMax; BoundingBox2iUtils.Intersect(this.XMin, this.XMax, rec.XMin, rec.XMax, out rxMin, out rxMax); int ryMin, ryMax; BoundingBox2iUtils.Intersect(this.YMin, this.YMax, rec.YMin, rec.YMax, out ryMin, out ryMax); return(new BoundingBox2i(rxMin, rxMax, ryMin, ryMax)); }
public bool Equals(BoundingBox2i other) { return(BoundingBox2iUtils.Equals(this.XMin, this.XMax, other.XMin, other.XMax) && BoundingBox2iUtils.Equals(this.YMin, this.YMax, other.YMin, other.YMax)); }
/// <summary> /// Indica si existe intersección con el rectangulo indicado. /// </summary> /// <param name="rec">Rectangulo.</param> /// <returns>Indica si existe intersección.</returns> public bool IntersectsWith(BoundingBox2i rec) { return(BoundingBox2iUtils.IntersectsWith(this.XMin, this.XMax, rec.XMin, rec.XMax) && BoundingBox2iUtils.IntersectsWith(this.YMin, this.YMax, rec.YMin, rec.YMax)); }
/// <summary> /// Indica si contiene completamente al punto indicado. /// </summary> /// <param name="p">Punto.</param> /// <returns>Indica si lo contiene completamente.</returns> public bool Contains(Point2i p) { return(BoundingBox2iUtils.ContainsPoint(this.XMin, this.XMax, p.X) && BoundingBox2iUtils.ContainsPoint(this.YMin, this.YMax, p.Y)); }
/// <summary> /// Indica si contiene completamente al rectangulo indicado. /// </summary> /// <param name="rec">Rectangulo.</param> /// <returns>Indica si lo contiene completamente.</returns> public bool Contains(BoundingBox2i rec) { return(BoundingBox2iUtils.Contains(this.XMin, this.XMax, rec.XMin, rec.XMax) && BoundingBox2iUtils.Contains(this.YMin, this.YMax, rec.YMin, rec.YMax)); }
/// <summary> /// Indica si el rectangulo toca al punto indicado por algun lado. /// </summary> /// <param name="p">Punto.</param> /// <returns>Indica si lo toca.</returns> public bool Touch(Point2i p) { return(BoundingBox2iUtils.TouchPoint(this.XMin, this.XMax, p.X) || BoundingBox2iUtils.TouchPoint(this.YMin, this.YMax, p.Y)); }
/// <summary> /// Indica si el rectangulo toca al rectangulo indicado por algun lado desde el interior. /// <c><![CDATA[ /// +-+----+---+ /// | | | | /// | +----+ | /// | | /// +----------+ /// ]]></c> /// </summary> /// <param name="rec">Rectangulo.</param> /// <returns>Indica si lo toca.</returns> public bool Touch(BoundingBox2i rec) { return(BoundingBox2iUtils.Touch(this.XMin, this.XMax, rec.XMin, rec.XMax) || BoundingBox2iUtils.Touch(this.YMin, this.YMax, rec.YMin, rec.YMax)); }