public bool Equals(Bounds2i other) { if (IsEmpty && other.IsEmpty) { return(true); } return(Min == other.Min && Max == other.Max); }
public Bounds2i Intersect(Bounds2i b) { int x = Math.Max(Min.X, b.Min.X); int num2 = Math.Min(Min.X + Size.X, b.Min.X + b.Size.X); int z = Math.Max(Min.Z, b.Min.Z); int num4 = Math.Min(Min.Z + Size.Z, b.Min.Z + b.Size.Z); if ((num2 > x) && (num4 > z)) { return(new Bounds2i(new Vector2i(x, z), num2 - x, num4 - z)); } return(Empty); }
public IEnumerable <Vector2i> Substract(Bounds2i b) { return(this.Where(v => !b.Contains(v))); }