public override void imethod_3( Class95 loop, Class88 curve, Class107 coedge, Class917 approximation, Class258 accuracy) { Matrix4D canonicalTransformation = this.FromCanonicalTransformation; Interface27 interval = this.Interval; bool directionReversed = coedge.DirectionReversed; Class102 startVertex = coedge.StartVertex; Class102 endVertex = coedge.EndVertex; Interface27 nterface27; if (startVertex != endVertex) { Matrix4D inverse = canonicalTransformation.GetInverse(); Class105 point1 = startVertex.Point; Class105 point2 = endVertex.Point; Point3D point3D1 = point1.method_4(inverse); Point3D point3D2 = point2.method_4(inverse); nterface27 = (Interface27) new Class437(System.Math.Atan2(point3D1.Y, point3D1.X), System.Math.Atan2(point3D2.Y, point3D2.X)); } else { Matrix4D inverse = canonicalTransformation.GetInverse(); Point3D point3D = startVertex.Point.method_4(inverse); double start = System.Math.Atan2(point3D.Y, point3D.X); double end = directionReversed ? start - 2.0 * System.Math.PI : start + 2.0 * System.Math.PI; nterface27 = (Interface27) new Class437(start, end); } int num1 = Class247.smethod_7(this.vector3D_1.GetLength(), accuracy); double start1 = nterface27.Start; double end1 = nterface27.End; if (directionReversed) { if (start1 < end1) { end1 -= 2.0 * System.Math.PI; } } else if (start1 > end1) { end1 += 2.0 * System.Math.PI; } double num2 = (end1 - start1) / (double)num1; approximation.method_0(coedge.StartLocation); for (int index = 1; index < num1; ++index) { double num3 = (double)index * num2 + start1; double x = System.Math.Cos(num3); double y = System.Math.Sin(num3); Point3D point = canonicalTransformation.Transform(new Point3D(x, y, 0.0)); approximation.method_0(point); } approximation.method_0(coedge.EndLocation); }
// Token: 0x06000499 RID: 1177 RVA: 0x00021ACC File Offset: 0x0001FCCC public override Class80 vmethod_3(Class80 class80_0) { base.method_1(class80_0.method_0()); int num = class80_0.vmethod_2(); if (num == 3) { Class105 @class = (Class105)class80_0; this.method_5(@class.method_4()); this.method_7(@class.method_6()); base.method_3(@class.method_2()); return(this); } throw new ArgumentOutOfRangeException(); }
public int method_2(Class105 point) { return(this.method_0(point.method_4(this.matrix4D_0))); }
// Token: 0x0600049A RID: 1178 RVA: 0x00021B24 File Offset: 0x0001FD24 public override bool vmethod_7(Class104 class104_0) { Class105 @class = (Class105)class104_0; return(this.method_4() == @class.method_4() && Class30.smethod_0(this.method_6(), @class.method_6())); }