starry / backend /libs /three /geometries /IcosahedronGeometry.js
k-l-lambda's picture
feat: add Python ML services (CPU mode) with model download
2b7aae2
import { PolyhedronGeometry } from './PolyhedronGeometry.js';
class IcosahedronGeometry extends PolyhedronGeometry {
constructor(radius = 1, detail = 0) {
const t = (1 + Math.sqrt(5)) / 2;
const vertices = [-1, t, 0, 1, t, 0, -1, -t, 0, 1, -t, 0, 0, -1, t, 0, 1, t, 0, -1, -t, 0, 1, -t, t, 0, -1, t, 0, 1, -t, 0, -1, -t, 0, 1];
const indices = [
0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, 4, 9,
5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1,
];
super(vertices, indices, radius, detail);
this.type = 'IcosahedronGeometry';
this.parameters = {
radius: radius,
detail: detail,
};
}
static fromJSON(data) {
return new IcosahedronGeometry(data.radius, data.detail);
}
}
export { IcosahedronGeometry, IcosahedronGeometry as IcosahedronBufferGeometry };