public virtual void imethod_3( Class95 loop, Class88 curve, Class107 coedge, Class917 approximation, Class258 accuracy) { if (this.interface5_0 == null) { return; } this.interface5_0.imethod_3(loop, curve, coedge, approximation, accuracy); }
internal override void vmethod_0(Interface8 reader) { base.vmethod_0(reader); this.int_2 = reader.imethod_5(); if (this.int_2 == 0) { this.interface3_0 = (Interface3) new Class607(); this.interface3_0.imethod_0(reader); } else { reader.imethod_0(reader.imethod_7(), (Delegate10)(entity => this.class88_0 = (Class88)entity)); if (reader.FileFormatVersion < Class250.int_11) { return; } this.class439_0 = new Class439(reader.imethod_8(), reader.imethod_8()); } }
public virtual void vmethod_2(Class95 firstLoop, Class608 wires) { Interface26 pointParamMapper = this.PointParamMapper; if (pointParamMapper != null) { List <Polygon2D> polygon2DList1 = new List <Polygon2D>(); List <Polygon2D> polygon2DList2 = new List <Polygon2D>(); foreach (Class95 loop in (IEnumerable <Class95>)Class80.smethod_0 <Class95>(firstLoop)) { Class917 approximation = new Class917(); Polygon2D polygon2D1 = new Polygon2D(); foreach (ns9.Class107 coedge in (IEnumerable <ns9.Class107>)loop.Coedges) { ns9.Class88 curve = (ns9.Class88)coedge.Edge.Curve; if (curve != null) { curve.CurvePrimitive.imethod_3(loop, curve, coedge, approximation, wires.Accuracy); } else { Polyline2D polyline2D = this.vmethod_1(coedge); polygon2D1.AddRange((IEnumerable <Point2D>)polyline2D); } } if (polygon2D1.Count > 0) { if (pointParamMapper.IsRightHandedParametric) { if (polygon2D1.GetArea() >= 0.0) { polygon2DList1.Add(polygon2D1); } else { polygon2DList2.Add(polygon2D1); } } else if (polygon2D1.GetArea() < 0.0) { polygon2DList1.Add(polygon2D1); } else { polygon2DList2.Add(polygon2D1); } } Point3D[] points = approximation.Points; if (points.Length > 0) { Polygon2D polygon2D2 = new Polygon2D(points.Length); foreach (Point3D point in points) { polygon2D2.Add(pointParamMapper.imethod_0(point)); } if (pointParamMapper.IsRightHandedParametric) { if (polygon2D2.GetArea() >= 0.0) { polygon2DList1.Add(polygon2D2); } else { polygon2DList2.Add(polygon2D2); } } else if (polygon2D2.GetArea() < 0.0) { polygon2DList1.Add(polygon2D2); } else { polygon2DList2.Add(polygon2D2); } } } if (polygon2DList1.Count == 0 && polygon2DList2.Count != 0) { foreach (List <Point2D> point2DList in polygon2DList2) { point2DList.Reverse(); } polygon2DList1.AddRange((IEnumerable <Polygon2D>)polygon2DList2); polygon2DList2.Clear(); } Polygon2D[] paramShape = Class794.smethod_9(this.ExtendedIntervalU, this.ExtendedIntervalV, polygon2DList1.ToArray(), polygon2DList2.ToArray(), pointParamMapper.IsRightHandedParametric, wires.Accuracy.Epsilon); if (paramShape == null) { return; } foreach (Polygon2D polygon2D in paramShape) { Polygon3D polygon3D = new Polygon3D(polygon2D.Count); foreach (Point2D point2D in (List <Point2D>)polygon2D) { polygon3D.Add(pointParamMapper.imethod_1(point2D.X, point2D.Y)); } wires.method_9((ICollection <Point3D>)polygon3D, true); } this.vmethod_0(wires, paramShape, pointParamMapper); } else { Class80.smethod_2((Class80)firstLoop, wires); } }