arx-level-generator
Version:
A tool for creating Arx Fatalis maps
20 lines • 891 B
JavaScript
import { categorizeVertices } from '../mesh/categorizeVertices.js';
import { getVertices } from '../mesh/getVertices.js';
export const transformEdge = (offset, mesh) => {
const { edges, corners } = categorizeVertices(mesh.geometry);
const edgeVertices = [...edges, ...corners];
const vertices = getVertices(mesh.geometry);
const coords = mesh.geometry.getAttribute('position');
vertices.forEach((vertex) => {
const edgeIdx = edgeVertices.findIndex((edgeVertex) => {
return edgeVertex.equals(vertex.vector);
});
if (edgeIdx !== -1) {
edgeVertices.splice(edgeIdx, 1);
coords.setX(vertex.idx, vertex.vector.x + offset.x);
coords.setY(vertex.idx, vertex.vector.y + offset.y);
coords.setZ(vertex.idx, vertex.vector.z + offset.z);
}
});
};
//# sourceMappingURL=transformEdge.js.map