@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
24 lines (23 loc) • 855 B
JavaScript
;
import { ExtrudeGeometry } from "three";
import { mergeGeometries } from "three/examples/jsm/utils/BufferGeometryUtils";
export function createGeometriesFromTypeMesh(params) {
var _a;
return (_a = params.shapes) == null ? void 0 : _a.map((shapes) => createGeometryFromTypeMesh({ ...params, shapes }));
}
function createGeometryFromTypeMesh(params) {
const extrudeParams = {
curveSegments: params.curveSegments,
depth: params.extrude,
bevelEnabled: params.bevelEnabled,
bevelThickness: params.bevelThickness,
bevelSize: params.bevelSize,
bevelOffset: params.bevelOffset,
bevelSegments: params.bevelSegments
};
const geometries = params.shapes.map((s) => new ExtrudeGeometry(s, extrudeParams));
if (geometries == null || geometries.length == 0) {
return;
}
return mergeGeometries(geometries);
}