// Polygon public static object ToJavaScript(this global::PolyBool.Polygon @this) { var jsregions = @this.Regions.Select(x => x.ToJavaScript()).ToArray(); return(new Dictionary <string, object>() { { "regions", jsregions }, { "inverted", @this.Inverted } }); }
private global::PolyBool.Polygon Operate(global::PolyBool.Polygon poly1, global::PolyBool.Polygon poly2, string selector) { var context = GetContext(); context.SetParameter("poly1", poly1.ToJavaScript()); context.SetParameter("poly2", poly2.ToJavaScript()); var polybooljs = PolyBoolJs(); var script = $"PolyBool.{selector}(poly1, poly2);"; var poly3 = context.Run(script); return(poly3.PolygonFromJavaScript()); }
public global::PolyBool.Polygon Difference(global::PolyBool.Polygon poly1, global::PolyBool.Polygon poly2) { return(Operate(poly1, poly2, "difference")); }
public global::PolyBool.Polygon Union(global::PolyBool.Polygon poly1, global::PolyBool.Polygon poly2) { return(Operate(poly1, poly2, "union")); }