Example #1
0
 public void m000183(ref struct0c6 p0, out struct055 intersectionPoint)
 {
     double num = this.f0000c0.f000074 - this.f0000bf.f000074;
     double num2 = this.f0000bf.f000069 - this.f0000c0.f000069;
     double num3 = (num * this.f0000bf.f000069) + (num2 * this.f0000bf.f000074);
     double num4 = p0.f0000c0.f000074 - p0.f0000bf.f000074;
     double num5 = p0.f0000bf.f000069 - p0.f0000c0.f000069;
     double num6 = (num4 * p0.f0000bf.f000069) + (num5 * p0.f0000bf.f000074);
     double num7 = (num * num5) - (num4 * num2);
     if (num7 == 0.0)
     {
         intersectionPoint.f000069 = double.NaN;
         intersectionPoint.f000074 = double.NaN;
     }
     else
     {
         intersectionPoint.f000069 = ((num5 * num3) - (num2 * num6)) / num7;
         intersectionPoint.f000074 = ((num * num6) - (num4 * num3)) / num7;
         if (this.m000181(ref intersectionPoint) || p0.m000181(ref intersectionPoint))
         {
             double num8 = this.m00017d(intersectionPoint);
             double num9 = p0.m00017d(intersectionPoint);
             if ((num9 > 1E-09) || (num8 > 1E-09))
             {
                 intersectionPoint.f000069 = double.NaN;
                 intersectionPoint.f000074 = double.NaN;
             }
         }
     }
 }