private void method_0(Class145.Class146 scanBeam, Class145.Class147 edge) { if (edge.point2D_0.Y == edge.point2D_1.Y) { scanBeam.list_2.Add(edge); return; } edge.method_0(); edge.double_1 = edge.point2D_0.X; scanBeam.method_4(edge); }
public static IList <Polygon2D> smethod_0(IList <Polygon2D> clip, IList <Polygon2D> subject, Class145.Enum7 fillMode) { List <Class145.Class148.Class149> class149s = new List <Class145.Class148.Class149>(); foreach (Polygon2D polygon2D in clip) { Class145.smethod_1(polygon2D, 1, class149s); } foreach (Polygon2D polygon2D1 in subject) { Class145.smethod_1(polygon2D1, 2, class149s); } class149s.Sort(Class145.Class148.Class154.class154_0); Class145.Class148.Class149 class149 = null; if (class149s.Count > 1) { Class145.Class148.Class149 item = class149s[class149s.Count - 1]; for (int i = class149s.Count - 2; i >= 0; i--) { Class145.Class148.Class149 item1 = class149s[i]; item1.class149_0 = item; item = item1; } class149 = item; } Class145.Class146 class146 = new Class145.Class146(); if (class149 != null) { class146.class33_0.Add(class149); } class146.method_0(); if (class146.list_0.Count == 0) { return(Class145.polygon2D_0); } List <Polygon2D> polygon2Ds = new List <Polygon2D>(class146.list_0.Count); foreach (Class145.Class158 list0 in class146.list_0) { if (list0.Count <= 2) { continue; } polygon2Ds.Add(list0.method_0()); } if (polygon2Ds.Count == 0) { return(Class145.polygon2D_0); } return(polygon2Ds); }
public override void vmethod_0(Class145.Class146 scanBeam) { this.class148_0 = scanBeam.method_3(); if (this.class148_0 != null && this.class148_0.point2D_0.Y == scanBeam.double_1) { this.double_0 = this.class148_0.point2D_0.X; Class145.Class146 class146 = scanBeam; int int0 = class146.int_0; int num = int0; class146.int_0 = int0 + 1; this.int_0 = num; scanBeam.class34_0.Add(this); } }
public override void vmethod_0(Class145.Class146 scanBeam) { this.int_1++; while (this.int_1 < scanBeam.list_1.Count) { this.class147_0 = scanBeam.list_1[this.int_1]; if (this.class147_0.point2D_1.Y > scanBeam.double_1) { this.double_0 = this.class147_0.double_1; Class145.Class146 class146 = scanBeam; int int0 = class146.int_0; int num = int0; class146.int_0 = int0 + 1; this.int_0 = num; scanBeam.class34_0.Add(this); return; } this.int_1++; } }
public override void vmethod_1(Class145.Class146 scanBeam) { this.class147_0.method_1(scanBeam.double_1); scanBeam.method_4(this.class147_0); }
public override void vmethod_1(Class145.Class146 scanBeam) { this.class148_0.vmethod_2(scanBeam); }
public abstract void vmethod_1(Class145.Class146 scanBeam);
public override void vmethod_2(Class145.Class146 scanBeam) { }
public override void vmethod_2(Class145.Class146 scanBeam) { base.method_0(scanBeam, new Class145.Class147(this.point2D_0, this.class148_0.point2D_0)); }
public virtual void vmethod_2(Class145.Class146 scanBeam) { }
public void method_0() { this.class148_0 = this.method_3(); while (this.class148_0 != null) { this.list_3.Clear(); this.double_1 = this.class148_0.point2D_0.Y; Class145.Class155.Class156 class1560 = this.class156_0; Class145.Class148 class1480 = this.class148_0; Class145.Class146 class146 = this; int int0 = class146.int_0; int num = int0; class146.int_0 = int0 + 1; class1560.method_0(class1480, num); this.class34_0.Add(this.class156_0); int num1 = 0; while (true) { if (num1 < this.list_1.Count) { Class145.Class147 item = this.list_1[num1]; if (item.point2D_1.Y > this.double_1) { Class145.Class155.Class157 class1570 = this.class157_0; Class145.Class146 class1461 = this; int int01 = class1461.int_0; int num2 = int01; class1461.int_0 = int01 + 1; class1570.method_0(item, num1, num2); this.class34_0.Add(this.class157_0); break; } else { num1++; } } else { break; } } Class145.Class155 class155 = this.class34_0.method_4(); this.double_0 = class155.double_0; while (true) { class155.vmethod_1(this); class155.vmethod_0(this); class155 = this.class34_0.method_4(); if (class155 == null) { break; } if (class155.double_0 != this.double_0) { this.method_1(); this.double_0 = class155.double_0; } } this.method_1(); List <Class145.Class147> list1 = this.list_1; this.list_1 = this.list_3; this.list_3 = list1; } }