/// <summary>
        /// Determines if 2 sections are the same (except for rotational differences). e.g. ABCD == BCDA
        /// </summary>
        /// <param name="other"></param>
        /// <param name="epsilon"></param>
        /// <returns></returns>
        public bool Matches(Section other, float epsilon = 0.01f)
        {
            if (Inner1.TolerantEquals(other.Inner1, epsilon))
            {
                return(Inner2.TolerantEquals(other.Inner2, epsilon) &&
                       Outer1.TolerantEquals(other.Outer1, epsilon) &&
                       Outer2.TolerantEquals(other.Outer2, epsilon));
            }
            else if (Inner1.TolerantEquals(other.Inner2, epsilon))
            {
                return(Inner2.TolerantEquals(other.Outer1, epsilon) &&
                       Outer1.TolerantEquals(other.Outer2, epsilon) &&
                       Outer2.TolerantEquals(other.Inner1, epsilon));
            }
            else if (Inner1.TolerantEquals(other.Outer1, epsilon))
            {
                return(Inner2.TolerantEquals(other.Outer2, epsilon) &&
                       Outer1.TolerantEquals(other.Inner1, epsilon) &&
                       Outer2.TolerantEquals(other.Inner2, epsilon));
            }
            else if (Inner1.TolerantEquals(other.Outer2, epsilon))
            {
                return(Inner2.TolerantEquals(other.Inner1, epsilon) &&
                       Outer1.TolerantEquals(other.Inner2, epsilon) &&
                       Outer2.TolerantEquals(other.Outer1, epsilon));
            }

            return(false);
        }
Beispiel #2
0
 public int Method(Outer1 param)
 {
     return(++param.field);
 }