private static Class448 smethod_7(Class722 A_0, int A_1, PointF A_2)
 {
     if (A_1 >= (A_0.method_19() - 1))
     {
         return(new Class448(A_2, A_0.method_20(0).method_2()));
     }
     return(new Class448(A_2, A_0.method_20(A_1 + 1).method_2()));
 }
 private static int smethod_28(Class722 A_0, Class722 A_1)
 {
     for (int i = 0; i < A_0.method_19(); i++)
     {
         if (A_0.method_20(i).method_0() == VertexType.Intersection)
         {
             Class886 class2 = A_0.method_20(A_0.method_10(i + 1));
             if ((class2.method_0() == VertexType.Intersection) || A_1.method_15(class2.method_2()))
             {
                 return(i);
             }
         }
     }
     return(-1);
 }
    private static bool smethod_4(Class722 A_0, Class722 A_1)
    {
        if ((A_0.method_19() < 3) || (A_1.method_19() < 3))
        {
            return(false);
        }
        Class887 class2 = new Class887(A_0, A_1);

        for (int i = 0; i < A_0.method_19(); i++)
        {
            class2.method_3(A_0.method_20(i).method_2());
            class2.method_11(i);
            class2.method_13(A_0.method_10(i + 1));
            Class448 class3 = smethod_10(A_0, i);
            for (int j = 0; j < A_1.method_19(); j++)
            {
                class2.method_15(j);
                smethod_5(class2, class3);
            }
        }
        if (class2.method_8())
        {
            smethod_12(class2, true);
            smethod_12(class2, false);
        }
        return(class2.method_8());
    }
    private static void smethod_20(Class722 A_0, Class722 A_1, Class444 A_2)
    {
        bool     flag;
        int      num    = A_2.method_2();
        int      num2   = A_2.method_3();
        int      num3   = smethod_22(A_0, num, false);
        int      num4   = smethod_22(A_0, num, true);
        int      num5   = smethod_22(A_1, num2, false);
        int      num6   = smethod_22(A_1, num2, true);
        Class448 class2 = smethod_23(A_0, num, num4);
        Class448 class3 = smethod_23(A_1, num2, num5);
        PointF   tf     = smethod_24(class2);
        PointF   tf2    = smethod_24(class3);
        Class448 class4 = new Class448(A_0.method_20(num).method_2(), A_1.method_20(num2).method_2());
        Class448 class5 = new Class448(tf, tf2);

        if (flag = Class448.smethod_8(class4, class5))
        {
            class2 = smethod_23(A_0, num, num3);
            class3 = smethod_23(A_1, num2, num6);
            tf     = smethod_24(class2);
            tf2    = smethod_24(class3);
        }
        if (tf != PointF.Empty)
        {
            A_0.method_6(flag ? num : num4, new Class886(tf));
        }
        if (tf2 != PointF.Empty)
        {
            A_1.method_6(flag ? num6 : num2, new Class886(tf2));
        }
        num4 = smethod_22(A_0, num, true);
        num6 = smethod_22(A_1, num2, true);
        A_0.method_3(num4, A_1.method_9(num6));
    }
    private static Class722 smethod_15(Class722 A_0, Class722 A_1, int A_2, bool A_3, bool A_4)
    {
        Class886 class3;
        Class722 class5 = A_3 ? A_0 : A_1;
        Class722 class2 = new Class722();
        int      num2   = A_2;
        int      num    = A_0.method_19() + A_1.method_19();
        Class722 class4 = class5;

Label_011D:
        class3 = class4.method_20(num2);
        if ((class2.method_19() == 0) || (!class2.method_20(class2.method_19() - 1).method_2().Equals(class3.method_2()) && !class2.method_20(0).method_2().Equals(class3.method_2())))
        {
            class2.method_5(class3);
        }
        if (num2 == (class4.method_19() - 1))
        {
            num2 = 0;
        }
        else
        {
            num2++;
        }
        if (A_4)
        {
            A_4 = false;
        }
        else
        {
            if (((num2 != A_2) || (class4 != class5)) && (class2.method_19() <= num))
            {
                if (class3.method_0() == VertexType.Simple)
                {
                    goto Label_011D;
                }
                class4 = (class4 == A_0) ? A_1 : A_0;
                num2   = class4.method_8(class3);
                if (((num2 != A_2) || (class4 != class5)) && (num2 != -1))
                {
                    if (num2 == (class4.method_19() - 1))
                    {
                        num2 = 0;
                    }
                    else
                    {
                        num2++;
                    }
                    if ((num2 != A_2) || (class4 != class5))
                    {
                        goto Label_011D;
                    }
                }
            }
            class2.method_16();
            return(class2);
        }
        goto Label_011D;
    }
    private static Class622 smethod_11(Class722 A_0, Class722 A_1, bool A_2)
    {
        Class886 class3;

        if (!A_2)
        {
            return(smethod_12(A_0, A_1));
        }
        int[]    numArray = new int[1];
        bool     flag     = smethod_10(A_0, A_1, numArray);
        int      num2     = numArray[0];
        Class722 class5   = flag ? A_0 : A_1;
        Class722 class4   = new Class722();
        int      num      = num2;
        int      num3     = A_0.method_19() + A_1.method_19();
        Class722 class2   = class5;

Label_00A3:
        class3 = class2.method_20(num);
        class4.method_5(class3);
        if (num != (class2.method_19() - 1))
        {
            num++;
        }
        else
        {
            num = 0;
        }
        if (((num != num2) || (class2 != class5)) && (class4.method_19() <= num3))
        {
            if (class3.method_0() == VertexType.Simple)
            {
                goto Label_00A3;
            }
            class2 = (class2 == A_0) ? A_1 : A_0;
            num    = class2.method_8(class3);
            if (num != -1)
            {
                if (num == (class2.method_19() - 1))
                {
                    num = 0;
                }
                else
                {
                    num++;
                }
                if ((num != num2) || (class2 != class5))
                {
                    goto Label_00A3;
                }
            }
        }
        class4.method_16();
        return(new Class622(class4));
    }
    private static bool smethod_10(Class722 A_0, Class722 A_1, int[] A_2)
    {
        bool   flag = false;
        int    num  = A_0.method_23();
        int    num2 = A_1.method_23();
        PointF tf   = A_0.method_20(num).method_2();
        PointF tf2  = A_1.method_20(num2).method_2();

        flag   = (tf.X < tf2.X) || ((tf.X == tf2.X) && (tf.Y < tf2.Y));
        A_2[0] = flag ? num : num2;
        return(flag);
    }
    private static void smethod_6(Class722 A_0, PointF A_1)
    {
        int num = A_0.method_19();

        if (num < 2)
        {
            A_0.method_4(A_1);
        }
        else
        {
            PointF tf  = A_0.method_20(num - 2).method_2();
            PointF tf2 = A_0.method_20(num - 1).method_2();
            if ((tf.X == tf2.X) && (tf2.X == A_1.X))
            {
                A_0.method_21(num - 1, new Class886(A_1));
            }
            else
            {
                A_0.method_4(A_1);
            }
        }
    }
    private static int smethod_17(Class722 A_0, Class722 A_1)
    {
        int num = 0;

        for (int i = 0; i < A_1.method_19(); i++)
        {
            if (A_0.method_15(A_1.method_20(i).method_2()))
            {
                num++;
            }
        }
        return(num);
    }
Exemple #10
0
 private void method_0(Class722 A_0, Class722 A_1)
 {
     for (int i = 0; i < A_0.method_19(); i++)
     {
         for (int j = 0; j < A_1.method_19(); j++)
         {
             float num3 = spr⃸.ᜁ(A_0.method_20(i).method_2(), A_1.method_20(j).method_2());
             if (num3 < this.float_0)
             {
                 this.float_0 = num3;
                 this.int_0   = i;
                 this.int_1   = j;
             }
         }
     }
 }
    private static bool smethod_13(Class722 A_0, Class722 A_1, int[] A_2)
    {
        bool flag;
        int  num  = A_0.method_23();
        int  num2 = A_1.method_23();

        if (A_0.method_17(VertexType.Intersection))
        {
            flag = false;
        }
        else if (A_1.method_17(VertexType.Intersection))
        {
            flag = true;
        }
        else
        {
            PointF tf  = A_0.method_20(num).method_2();
            PointF tf2 = A_1.method_20(num2).method_2();
            flag = (tf.X < tf2.X) || ((tf.X == tf2.X) && (tf.Y < tf2.Y));
        }
        A_2[0] = flag ? num : num2;
        return(flag);
    }
 private static Class448 smethod_10(Class722 A_0, int A_1)
 {
     return(new Class448(A_0.method_20(A_1).method_2(), A_0.method_20(A_0.method_10(A_1 + 1)).method_2()));
 }
 private static Class448 smethod_23(Class722 A_0, int A_1, int A_2)
 {
     return(new Class448(A_0.method_20(A_1).method_2(), A_0.method_20(A_2).method_2()));
 }