@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
51 lines (44 loc) • 1.26 kB
JavaScript
import { OnDemandWorkerManager } from "../../process/worker/OnDemandWorkerManager.js";
import WorkerBuilder from "../../process/worker/WorkerBuilder.js";
export class Metis {
constructor() {
const wb = new WorkerBuilder();
wb.importScript('libs/metis/metis.js');
wb.addMethod('partition', 'function(){return micron_partition.apply(null, arguments)}');
const manager = new OnDemandWorkerManager(wb.build());
this.service = manager;
}
/**
*
* @param {number} n_vertices
* @param {number} n_parts
* @param {Uint32Array} edge_addresses
* @param {Uint32Array} adjacency
* @param {Uint32Array} edge_weights
* @param {metis_options} options
* @returns {Promise<T>}
*/
partition(
n_vertices,
n_parts,
edge_addresses,
adjacency,
edge_weights,
options
) {
return this.service.request('partition', [
n_vertices,
n_parts,
edge_addresses,
adjacency,
edge_weights,
options
]);
}
}
/**
* Singleton instance
* @readonly
* @type {Metis}
*/
Metis.INSTANCE = new Metis();