public bool Equals(Vector2D other) { return other != null && X == other.X && Y == other.Y; }
public double Dot(Vector2D v) { return ((X) * v.X) + (Y * v.Y); }
public Vector2D(Vector2D other) { X = other.X; Y = other.Y; }
public void Set(Vector2D v) { X = v.X; Y = v.Y; }
public void Add(Vector2D v) { X += v.X; Y += v.Y; }
public void Translate(Vector2D vector) { MinPt.Add(vector); MaxPt.Add(vector); }
public void Translate(Vector2D vector) { throw new NotSupportedException(); }