Min() public static method

Returns a position with the smaller Row and the smaller column
public static Min ( Position p_Position1, Position p_Position2 ) : Position
p_Position1 Position
p_Position2 Position
return Position
Beispiel #1
0
 /// <summary>
 /// Returns a range with the smaller Start and the bigger End. The Union of the 2 Range. If one of the range is empty then the return is the other range.
 /// </summary>
 /// <param name="p_Range1"></param>
 /// <param name="p_Range2"></param>
 /// <returns></returns>
 public static Range GetBounds(Range p_Range1, Range p_Range2)
 {
     if (p_Range1.IsEmpty())
     {
         return(p_Range2);
     }
     else if (p_Range2.IsEmpty())
     {
         return(p_Range1);
     }
     else
     {
         return(new Range(Position.Min(p_Range1.Start, p_Range2.Start),
                          Position.Max(p_Range1.End, p_Range2.End), false));
     }
 }
Beispiel #2
0
        /// <summary>
        /// Returns the intersection between the 2 Range. If one of the range is empty then the return is empty.
        /// </summary>
        /// <param name="p_Range1"></param>
        /// <param name="p_Range2"></param>
        /// <returns></returns>
        public static Range Intersect(Range p_Range1, Range p_Range2)
        {
            if (p_Range1.IsEmpty() || p_Range2.IsEmpty())
            {
                return(Range.Empty);
            }

            Position startNew = Position.Max(p_Range1.Start, p_Range2.Start);
            Position endNew   = Position.Min(p_Range1.End, p_Range2.End);

            if (startNew.Column > endNew.Column ||
                startNew.Row > endNew.Row)
            {
                return(Range.Empty);
            }
            else
            {
                return(new Range(startNew, endNew, false));
            }
        }