public override bool Equals(object obj) { var v = obj as Vector2d; if (v == null) { return(false); } var result = true; if (GeoAlgos.IsDoubleEqual(X, v.X) && GeoAlgos.IsDoubleEqual(Y, v.Y)) { result = false; } return(result); }
public int CompareTo(object obj) { var v = obj as Vector2d; if (v == null) { throw new ArgumentException(); } if (GeoAlgos.IsDoubleEqual(X, v.X)) { //check y if (GeoAlgos.IsDoubleEqual(Y, v.Y)) { return(0); } if (Y < v.Y) { return(-1); } else { return(1); } } if (X < v.X) { return(-1); } else { return(1); } }