Example #1
0
        // 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 }
            });
        }
Example #2
0
        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());
        }
Example #3
0
 public global::PolyBool.Polygon Difference(global::PolyBool.Polygon poly1, global::PolyBool.Polygon poly2)
 {
     return(Operate(poly1, poly2, "difference"));
 }
Example #4
0
 public global::PolyBool.Polygon Union(global::PolyBool.Polygon poly1, global::PolyBool.Polygon poly2)
 {
     return(Operate(poly1, poly2, "union"));
 }