UNPKG

@sohale/implisolid

Version:

A Solid Modelling Kernel in Javascript based on Implicit Surfaces, for MP5 file format

58 lines (50 loc) 2 kB
<html> <script> 'use strict'; var worker = new Worker('./e2_emworker.compiled.js'); var api_info = { test: { funcName: "worker_function", callbackId: 3, }, }; function test_data_worker(arguments_data_buffer) { // The protocol used by Emscripten worker.postMessage( { funcName: api_info.test.funcName, callbackId: api_info.test.callbackId, data: arguments_data_buffer, // 'finalResponse': false, } // , [arguments_data_buffer] //uncommet for transferable ); } function demo_request() { var verts = new Float32Array([3.141592651234567890123456780,1,2, 3,4,5, 6,7,8, 9,0.5,1.5]); var faces = new Uint16Array([0,1,2, 1,2,3, 0,1,3, 0,2,3]); var b8verts=new Uint8Array(verts.buffer); var b8faces=new Uint8Array(faces.buffer); test_data_worker(b8verts); // b8verts.buffer to make it transferrable // Desired: //test_data_worker([b8verts, b8faces]); // Doesnt work. sends two bytes instead //test_data_worker([b8verts, 60, b8faces]); // doesnt work //test_data_worker({verts:b8verts, d:60, faces:b8faces}); // doesnt work } worker.addEventListener('message', function(event) { // event.data is {callbackId: -1, finalResponse: true, data: 0} switch (event.data.callbackId) { case api_info.test.callbackId: //api_revlookup.: // console.log("Result sent back from web worker", event.data); // Reinterpret data var uint8Arr = event.data.data; var returned_message = String.fromCharCode.apply(null, uint8Arr) console.log(returned_message); break; default: console.error("Unrecognised message sent back."); } }, false); demo_request(); console.log("request() sent."); </script> </html>