Buckets:
ktongue/docker_container / simsite /frontend /node_modules /three-stdlib /geometries /ConvexGeometry.js
| import { BufferGeometry, Float32BufferAttribute } from "three"; | |
| import { ConvexHull } from "../math/ConvexHull.js"; | |
| class ConvexGeometry extends BufferGeometry { | |
| constructor(points = []) { | |
| super(); | |
| const vertices = []; | |
| const normals = []; | |
| const convexHull = new ConvexHull().setFromPoints(points); | |
| const faces = convexHull.faces; | |
| for (let i = 0; i < faces.length; i++) { | |
| const face = faces[i]; | |
| let edge = face.edge; | |
| do { | |
| const point = edge.head().point; | |
| vertices.push(point.x, point.y, point.z); | |
| normals.push(face.normal.x, face.normal.y, face.normal.z); | |
| edge = edge.next; | |
| } while (edge !== face.edge); | |
| } | |
| this.setAttribute("position", new Float32BufferAttribute(vertices, 3)); | |
| this.setAttribute("normal", new Float32BufferAttribute(normals, 3)); | |
| } | |
| } | |
| export { | |
| ConvexGeometry | |
| }; | |
| //# sourceMappingURL=ConvexGeometry.js.map | |
Xet Storage Details
- Size:
- 918 Bytes
- Xet hash:
- 604e9b846e33ef06a50478e384dd30ddfff72d03d36368f0464ea64c375935cf
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.