From c149dd50884fd1198ab7bf10559d0825d0c77716 Mon Sep 17 00:00:00 2001 From: Emmett Lalish Date: Sun, 16 Feb 2025 22:06:15 +1300 Subject: [PATCH] fix default JS parameter binding for simplify (#1146) fix default parameter binding --- bindings/wasm/bindings.cpp | 2 +- bindings/wasm/bindings.js | 4 ++++ bindings/wasm/examples/bindings.test.ts | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bindings/wasm/bindings.cpp b/bindings/wasm/bindings.cpp index c396b4e42..937743db3 100644 --- a/bindings/wasm/bindings.cpp +++ b/bindings/wasm/bindings.cpp @@ -129,7 +129,7 @@ EMSCRIPTEN_BINDINGS(whatever) { .function("numVert", &CrossSection::NumVert) .function("numContour", &CrossSection::NumContour) .function("_Bounds", &CrossSection::Bounds) - .function("simplify", &CrossSection::Simplify) + .function("_Simplify", &CrossSection::Simplify) .function("_Offset", &cross_js::Offset) .function("_ToPolygons", &CrossSection::ToPolygons) .function("hull", diff --git a/bindings/wasm/bindings.js b/bindings/wasm/bindings.js index e0daa3124..a42fc72b6 100644 --- a/bindings/wasm/bindings.js +++ b/bindings/wasm/bindings.js @@ -164,6 +164,10 @@ Module.setup = function() { delta, joinTypeToInt(joinType), miterLimit, circularSegments); }; + Module.CrossSection.prototype.simplify = function(epsilon = 1e-6) { + return this._Simplify(epsilon); + }; + Module.CrossSection.prototype.extrude = function( height, nDivisions = 0, twistDegrees = 0.0, scaleTop = [1.0, 1.0], center = false) { diff --git a/bindings/wasm/examples/bindings.test.ts b/bindings/wasm/examples/bindings.test.ts index fc36d037e..a546f0359 100644 --- a/bindings/wasm/examples/bindings.test.ts +++ b/bindings/wasm/examples/bindings.test.ts @@ -25,4 +25,10 @@ suite('CrossSection Bindings', () => { expect(cs.numContour()).toEqual(1); expect(cs.area()).to.be.greaterThan(0); }); + + test('simplify argument is defaulted', () => { + const cs = manifoldModule.CrossSection.circle(1).simplify(); + expect(cs.numContour()).toEqual(1); + expect(cs.area()).to.be.greaterThan(0); + }); }); \ No newline at end of file