UNPKG

molstar

Version:

A comprehensive macromolecular library.

56 lines 2.15 kB
"use strict"; /** * Copyright (c) 2018-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.WedgeCage = exports.Wedge = exports.createWedge = void 0; var linear_algebra_1 = require("../../mol-math/linear-algebra"); var primitive_1 = require("./primitive"); var polygon_1 = require("./polygon"); var prism_1 = require("./prism"); var a = linear_algebra_1.Vec3.zero(), b = linear_algebra_1.Vec3.zero(), c = linear_algebra_1.Vec3.zero(), d = linear_algebra_1.Vec3.zero(); var points = (0, polygon_1.polygon)(3, false); /** * Create a prism with a triangular base */ function createWedge() { var builder = (0, primitive_1.PrimitiveBuilder)(8); // create sides for (var i = 0; i < 3; ++i) { var ni = (i + 1) % 3; linear_algebra_1.Vec3.set(a, points[i * 3], points[i * 3 + 1], -0.5); linear_algebra_1.Vec3.set(b, points[ni * 3], points[ni * 3 + 1], -0.5); linear_algebra_1.Vec3.set(c, points[ni * 3], points[ni * 3 + 1], 0.5); linear_algebra_1.Vec3.set(d, points[i * 3], points[i * 3 + 1], 0.5); builder.add(a, b, c); builder.add(c, d, a); } // create bases linear_algebra_1.Vec3.set(a, points[0], points[1], -0.5); linear_algebra_1.Vec3.set(b, points[3], points[4], -0.5); linear_algebra_1.Vec3.set(c, points[6], points[7], -0.5); builder.add(c, b, a); linear_algebra_1.Vec3.set(a, points[0], points[1], 0.5); linear_algebra_1.Vec3.set(b, points[3], points[4], 0.5); linear_algebra_1.Vec3.set(c, points[6], points[7], 0.5); builder.add(a, b, c); return builder.getPrimitive(); } exports.createWedge = createWedge; var wedge; function Wedge() { if (!wedge) wedge = createWedge(); return wedge; } exports.Wedge = Wedge; var wedgeCage; function WedgeCage() { if (!wedgeCage) wedgeCage = (0, prism_1.PrismCage)(points); return wedgeCage; } exports.WedgeCage = WedgeCage; //# sourceMappingURL=wedge.js.map