molstar
Version:
A comprehensive macromolecular library.
67 lines • 2.37 kB
JavaScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.DodecahedronCage = exports.Dodecahedron = exports.dodecahedronFaces = exports.dodecahedronVertices = void 0;
var primitive_1 = require("./primitive");
var cage_1 = require("./cage");
var t = (1 + Math.sqrt(5)) / 2;
var a = 1;
var b = 1 / t;
var c = 2 - t;
exports.dodecahedronVertices = [
c, 0, a, -c, 0, a, -b, b, b, 0, a, c, b, b, b,
b, -b, b, 0, -a, c, -b, -b, b, c, 0, -a, -c, 0, -a,
-b, -b, -b, 0, -a, -c, b, -b, -b, b, b, -b, 0, a, -c,
-b, b, -b, a, c, 0, -a, c, 0, -a, -c, 0, a, -c, 0
];
/** indices of pentagonal faces, groups of five */
exports.dodecahedronFaces = [
4, 3, 2, 1, 0,
7, 6, 5, 0, 1,
12, 11, 10, 9, 8,
15, 14, 13, 8, 9,
14, 3, 4, 16, 13,
3, 14, 15, 17, 2,
11, 6, 7, 18, 10,
6, 11, 12, 19, 5,
4, 0, 5, 19, 16,
12, 8, 13, 16, 19,
15, 9, 10, 18, 17,
7, 1, 2, 17, 18
];
var dodecahedronIndices = [
4, 3, 2, 2, 1, 0, 4, 2, 0,
7, 6, 5, 5, 0, 1, 7, 5, 1,
12, 11, 10, 10, 9, 8, 12, 10, 8,
15, 14, 13, 13, 8, 9, 15, 13, 9,
14, 3, 4, 4, 16, 13, 14, 4, 13,
3, 14, 15, 15, 17, 2, 3, 15, 2,
11, 6, 7, 7, 18, 10, 11, 7, 10,
6, 11, 12, 12, 19, 5, 6, 12, 5,
4, 0, 5, 5, 19, 16, 4, 5, 16,
12, 8, 13, 13, 16, 19, 12, 13, 19,
15, 9, 10, 10, 18, 17, 15, 10, 17,
7, 1, 2, 2, 17, 18, 7, 2, 18, // 7, 1, 2, 17, 18
];
var dodecahedronEdges = [
0, 1, 0, 4, 0, 5, 1, 2, 1, 7, 2, 3, 2, 17, 3, 4, 3, 14, 4, 16,
5, 6, 5, 19, 6, 7, 6, 11, 7, 18, 8, 9, 8, 12, 8, 13, 9, 10, 9, 15,
10, 11, 10, 18, 11, 12, 12, 19, 13, 14, 13, 16, 14, 15, 15, 17, 16, 19, 17, 18,
];
var dodecahedron;
function Dodecahedron() {
if (!dodecahedron)
dodecahedron = (0, primitive_1.createPrimitive)(exports.dodecahedronVertices, dodecahedronIndices);
return dodecahedron;
}
exports.Dodecahedron = Dodecahedron;
var dodecahedronCage = (0, cage_1.createCage)(exports.dodecahedronVertices, dodecahedronEdges);
function DodecahedronCage() {
return dodecahedronCage;
}
exports.DodecahedronCage = DodecahedronCage;
//# sourceMappingURL=dodecahedron.js.map
;