@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
32 lines (24 loc) • 783 B
JavaScript
import { mesh_to_metis_graph } from "./mesh_to_metis_graph.js";
import { metis_cluster_bs } from "./metis_cluster_bs.js";
/**
*
* @param {Uint32Array} result
* @param {TopoMesh} mesh
* @param {number} patch_size
* @returns {number}
*/
export async function cluster_mesh_metis(result, mesh, patch_size) {
const face_set = mesh.getFaces();
const input_face_count = face_set.size;
const face_array = Array.from(face_set);
const metis_graph = mesh_to_metis_graph(face_array);
const partition_count = await metis_cluster_bs(
result,
input_face_count,
metis_graph.edge_addresses,
metis_graph.adjacency,
metis_graph.edge_weights,
patch_size
);
return partition_count;
}