/// <summary> /// Interseccion entre los recubrimientos. /// </summary> /// <param name="rec">Rectangulo.</param> public BoundingBox3d Intersect(BoundingBox3d rec) { double rxMin, rxMax; RangeUtils.Intersect(this.XMin, this.XMax, rec.XMin, rec.XMax, out rxMin, out rxMax); if (RangeUtils.IsEmpty(rxMin, rxMax)) { return(Empty); } double ryMin, ryMax; RangeUtils.Intersect(this.YMin, this.YMax, rec.YMin, rec.YMax, out ryMin, out ryMax); if (RangeUtils.IsEmpty(ryMin, ryMax)) { return(Empty); } double rzMin, rzMax; RangeUtils.Intersect(this.ZMin, this.ZMax, rec.ZMin, rec.ZMax, out rzMin, out rzMax); if (RangeUtils.IsEmpty(rzMin, rzMax)) { return(Empty); } return(new BoundingBox3d(rxMin, rxMax, ryMin, ryMax, rzMin, rzMax)); }
/// <summary> /// Interseccion entre los recubrimientos. /// </summary> /// <param name="rec">Rectangulo.</param> public BoundingBox1d Intersect(BoundingBox1d rec) { double rxMin, rxMax; RangeUtils.Intersect(this.XMin, this.XMax, rec.XMin, rec.XMax, out rxMin, out rxMax); if (RangeUtils.IsEmpty(rxMin, rxMax)) { return(Empty); } return(new BoundingBox1d(rxMin, rxMax)); }