コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }