MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / EMSCRIPTEN_BINDINGS

Function EMSCRIPTEN_BINDINGS

source/MRWasmModule/MRWasmOffset.cpp:15–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13using namespace MR;
14
15EMSCRIPTEN_BINDINGS( meshlib_offset )
16{
17 emscripten::class_<BaseShellParameters>( "BaseShellParameters" )
18 .constructor<>()
19 .property( "voxelSize", &BaseShellParameters::voxelSize );
20
21 emscripten::class_<OffsetParameters, emscripten::base<BaseShellParameters>>( "OffsetParameters" )
22 .constructor<>()
23 .property( "signDetectionMode", &OffsetParameters::signDetectionMode )
24 .property( "memoryEfficient", &OffsetParameters::memoryEfficient );
25
26 emscripten::class_<SharpOffsetParameters, emscripten::base<OffsetParameters>>( "SharpOffsetParameters" )
27 .constructor<>()
28 .property( "minNewVertDev", &SharpOffsetParameters::minNewVertDev )
29 .property( "maxNewRank2VertDev", &SharpOffsetParameters::maxNewRank2VertDev )
30 .property( "maxNewRank3VertDev", &SharpOffsetParameters::maxNewRank3VertDev )
31 .property( "maxOldVertPosCorrection", &SharpOffsetParameters::maxOldVertPosCorrection );
32
33 emscripten::class_<GeneralOffsetParameters, emscripten::base<SharpOffsetParameters>>( "GeneralOffsetParameters" )
34 .constructor<>()
35 .property( "mode", &GeneralOffsetParameters::mode );
36
37 emscripten::function( "suggestVoxelSize", +[]( std::shared_ptr<Mesh> mesh, float approxNumVoxels )
38 {
39 return suggestVoxelSize( *mesh, approxNumVoxels );
40 } );
41 emscripten::function( "offsetMesh", +[]( std::shared_ptr<Mesh> mesh, float offset, const OffsetParameters& params )
42 {
43 return std::make_shared<Mesh>( Wasm::unwrap( offsetMesh( *mesh, offset, params ) ) );
44 } );
45 emscripten::function( "doubleOffsetMesh", +[]( std::shared_ptr<Mesh> mesh, float offsetA, float offsetB, const OffsetParameters& params )
46 {
47 return std::make_shared<Mesh>( Wasm::unwrap( doubleOffsetMesh( *mesh, offsetA, offsetB, params ) ) );
48 } );
49 emscripten::function( "mcOffsetMesh", +[]( std::shared_ptr<Mesh> mesh, float offset, const OffsetParameters& params )
50 {
51 return std::make_shared<Mesh>( Wasm::unwrap( mcOffsetMesh( *mesh, offset, params ) ) );
52 } );
53 emscripten::function( "mcShellMeshRegion", +[]( std::shared_ptr<Mesh> mesh, const FaceBitSet& region, float offset, const BaseShellParameters& params )
54 {
55 return std::make_shared<Mesh>( Wasm::unwrap( mcShellMeshRegion( *mesh, region, offset, params ) ) );
56 } );
57 emscripten::function( "sharpOffsetMesh", +[]( std::shared_ptr<Mesh> mesh, float offset, const SharpOffsetParameters& params )
58 {
59 return std::make_shared<Mesh>( Wasm::unwrap( sharpOffsetMesh( *mesh, offset, params ) ) );
60 } );
61 emscripten::function( "generalOffsetMesh", +[]( std::shared_ptr<Mesh> mesh, float offset, const GeneralOffsetParameters& params )
62 {
63 return std::make_shared<Mesh>( Wasm::unwrap( generalOffsetMesh( *mesh, offset, params ) ) );
64 } );
65 emscripten::function( "thickenMesh", +[]( std::shared_ptr<Mesh> mesh, float offset, const GeneralOffsetParameters& params )
66 {
67 return std::make_shared<Mesh>( Wasm::unwrap( thickenMesh( *mesh, offset, params ) ) );
68 } );
69}

Callers

nothing calls this directly

Calls 9

suggestVoxelSizeFunction · 0.85
unwrapFunction · 0.85
offsetMeshFunction · 0.85
doubleOffsetMeshFunction · 0.85
mcOffsetMeshFunction · 0.85
mcShellMeshRegionFunction · 0.85
sharpOffsetMeshFunction · 0.85
generalOffsetMeshFunction · 0.85
thickenMeshFunction · 0.85

Tested by

no test coverage detected