diff --git a/node/frepw.js b/node/frep.js similarity index 93% rename from node/frepw.js rename to node/frep.js index da2bbf5c7a475e73cf3c46c506285edc321a6453..ae1baa4d8beba21e24ee178a9bae7201c8ea863c 100755 --- a/node/frepw.js +++ b/node/frep.js @@ -1,15 +1,14 @@ #!/usr/bin/env node // -// frepw.js -// functional representation solver, worker version +// frep.js +// functional representation solver // // usage: -// pcb.py | node --experimental-worker frepw.js [dpi [filename]] +// pcb.py | frep.js [dpi [workers [filename]]] // with: // https://gitlab.cba.mit.edu/pub/libraries/blob/master/python/pcb.py // -// Neil Gershenfeld 12/9/18 -// (c) Massachusetts Institute of Technology 2018 +// Neil Gershenfeld 12/7/19 // // This work may be reproduced, modified, distributed, // performed, and displayed for any purpose, but must @@ -49,17 +48,26 @@ function render(frep) { } if (process.argv.length == 2) { var dpi = 100 + workers = os.cpus().length var filename = 'out.png' console.log('output to out.png at 100 DPI') } else if (process.argv.length == 3) { var dpi = parseInt(process.argv[2]) + workers = os.cpus().length var filename = 'out.png' console.log('output to out.png at '+dpi+' DPI') } else if (process.argv.length == 4) { var dpi = parseInt(process.argv[2]) - var filename = process.argv[3] + var workers = parseInt(process.argv[3]) + var filename = 'out.png' + console.log('output to '+filename+' at '+dpi+' DPI') + } + else if (process.argv.length == 5) { + var dpi = parseInt(process.argv[2]) + var workers = parseInt(process.argv[3]) + var filename = process.argv[4] console.log('output to '+filename+' at '+dpi+' DPI') } // @@ -108,7 +116,6 @@ function render(frep) { // // start workers // - var workers = os.cpus().length console.log('start '+workers+' workers') var count = 0 for (let i = 0; i < workers; ++i) { @@ -130,7 +137,8 @@ function render(frep) { } }) worker.postMessage({index:i,workers:workers, - delta:delta,width:width,height:height,xmin:frep.xmin,ymin:frep.ymin,z:frep.zmin, + delta:delta,width:width,height:height,xmin:frep.xmin,ymin:frep.ymin, + z:frep.layers[0], // need to handle multiple layers buf:buf,fn:frep.function}) } }