/// <summary>
        /// 判断两个平面是否相交。
        /// </summary>
        /// <param name="that">需要判断的另一个平面。</param>
        /// <returns></returns>
        public bool Intersects(Interval2D that)
        {
            if (!this.X.Intersect(that.X))
            {
                return(false);
            }

            if (!this.Y.Intersect(that.Y))
            {
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// 判断两个二维区间是否相等。
        /// </summary>
        /// <param name="obj">需要比较的另一个区间。</param>
        /// <returns></returns>
        public override bool Equals(object obj)
        {
            if (obj == this)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }

            if (obj.GetType() != this.GetType())
            {
                return(false);
            }

            Interval2D that = (Interval2D)obj;

            return(this.X.Equals(that.X) && this.Y.Equals(that.Y));
        }
 /// <summary>
 /// 判断目标区间是否被本区间包含。
 /// </summary>
 /// <param name="that">需要判断是否被包含的区间。</param>
 /// <returns></returns>
 public bool Contains(Interval2D that)
 {
     return(this.X.Contains(that.X) && this.Y.Contains(that.Y));
 }
Exemple #4
0
 /// <summary>
 /// 判断目标区间是否被本区间包含。
 /// </summary>
 /// <param name="that">需要判断是否被包含的区间。</param>
 /// <returns>如果 <paramref name="that"/> 被包含,则返回 <c>true</c>,否则返回 <c>false</c>。</returns>
 public bool Contains(Interval2D that)
 {
     return(X.Contains(that.X) && Y.Contains(that.Y));
 }