/// <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); }
public int Method(Outer1 param) { return(++param.field); }