コード例 #1
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 public void Intersects(ref RectangleF rect, out bool result)
 {
     result =
         (Min.X < rect.Max.X) &&
         (Min.Y < rect.Max.Y) &&
         (Max.X > rect.Min.X) &&
         (Max.Y > rect.Min.Y);
 }
コード例 #2
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 public bool Equals(RectangleF other)
 {
     return
         (Min.X == other.Min.X) &&
         (Min.Y == other.Min.Y) &&
         (Max.X == other.Max.X) &&
         (Max.Y == other.Max.Y);
 }
コード例 #3
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 public bool Intersects(RectangleF rect)
 {
     return
         (Min.X < rect.Max.X) &&
         (Min.Y < rect.Max.Y) &&
         (Max.X > rect.Min.X) &&
         (Max.Y > rect.Min.Y);
 }
コード例 #4
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 public bool Contains(RectangleF rect)
 {
     return
         (Min.X <= rect.Min.X) &&
         (Min.Y <= rect.Min.Y) &&
         (Max.X >= rect.Max.X) &&
         (Max.Y >= rect.Max.Y);
 }
コード例 #5
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 public void Contains(ref RectangleF rect, out bool result)
 {
     result =
         (Min.X <= rect.Min.X) &&
         (Min.Y <= rect.Min.Y) &&
         (Max.X >= rect.Max.X) &&
         (Max.Y >= rect.Max.Y) ;
 }
コード例 #6
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
 static RectangleF()
 {
     _empty = new RectangleF();
     _minMax = new RectangleF(Vector2.One * float.MinValue, Vector2.One * float.MaxValue);
 }
コード例 #7
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
        public static void Union(ref RectangleF rect1, ref RectangleF rect2, out RectangleF result)
        {
            float num6 = rect1.Max.X;
            float num5 = rect2.Max.X;
            float num4 = rect1.Max.Y;
            float num3 = rect2.Max.Y;
            float num2 = (rect1.Min.X < rect2.Min.X) ? rect1.Min.X : rect2.Min.X;
            float num = (rect1.Min.Y < rect2.Min.Y) ? rect1.Min.Y : rect2.Min.Y;
            float num8 = (num6 > num5) ? num6 : num5;
            float num7 = (num4 > num3) ? num4 : num3;

            result.Min.X = num2;
            result.Min.Y = num;
            result.Max.X = num8;
            result.Max.Y = num7;
        }
コード例 #8
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
        public static RectangleF Union(RectangleF rect1, RectangleF rect2)
        {
            RectangleF result;

            float num6 = rect1.Max.X;
            float num5 = rect2.Max.X;
            float num4 = rect1.Max.Y;
            float num3 = rect2.Max.Y;
            float num2 = (rect1.Min.X < rect2.Min.X) ? rect1.Min.X : rect2.Min.X;
            float num = (rect1.Min.Y < rect2.Min.Y) ? rect1.Min.Y : rect2.Min.Y;
            float num8 = (num6 > num5) ? num6 : num5;
            float num7 = (num4 > num3) ? num4 : num3;

            result.Min.X = num2;
            result.Min.Y = num;
            result.Max.X = num8;
            result.Max.Y = num7;

            return result;
        }
コード例 #9
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
        public static void Intersect(ref RectangleF rect1, ref RectangleF rect2, out RectangleF result)
        {
            float num8 = rect1.Max.X;
            float num7 = rect2.Max.X;
            float num6 = rect1.Max.Y;
            float num5 = rect2.Max.Y;
            float num2 = (rect1.Min.X > rect2.Min.X) ? rect1.Min.X : rect2.Min.X;
            float num = (rect1.Min.Y > rect2.Min.Y) ? rect1.Min.Y : rect2.Min.Y;
            float num4 = (num8 < num7) ? num8 : num7;
            float num3 = (num6 < num5) ? num6 : num5;

            if ((num4 > num2) && (num3 > num))
            {
                result.Min.X = num2;
                result.Min.Y = num;
                result.Max.X = num4;
                result.Max.Y = num3;
            }

            result.Min.X = 0;
            result.Min.Y = 0;
            result.Max.X = 0;
            result.Max.Y = 0;
        }
コード例 #10
0
ファイル: RectangleF.cs プロジェクト: 47th/Monogame
        public static RectangleF Intersect(RectangleF rect1, RectangleF rect2)
        {
            RectangleF result;

            float num8 = rect1.Max.X;
            float num7 = rect2.Max.X;
            float num6 = rect1.Max.Y;
            float num5 = rect2.Max.Y;
            float num2 = (rect1.Min.X > rect2.Min.X) ? rect1.Min.X : rect2.Min.X;
            float num = (rect1.Min.Y > rect2.Min.Y) ? rect1.Min.Y : rect2.Min.Y;
            float num4 = (num8 < num7) ? num8 : num7;
            float num3 = (num6 < num5) ? num6 : num5;

            if ((num4 > num2) && (num3 > num))
            {
                result.Min.X = num2;
                result.Min.Y = num;
                result.Max.X = num4;
                result.Max.Y = num3;

                return result;
            }

            result.Min.X = 0;
            result.Min.Y = 0;
            result.Max.X = 0;
            result.Max.Y = 0;

            return result;
        }