molstar
Version:
A comprehensive macromolecular library.
24 lines (23 loc) • 1.13 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.addEllipsoid = void 0;
var linear_algebra_1 = require("../../../../mol-math/linear-algebra");
var mesh_builder_1 = require("../mesh-builder");
var sphere_1 = require("./sphere");
var tmpEllipsoidMat = linear_algebra_1.Mat4.identity();
var tmpVec = (0, linear_algebra_1.Vec3)();
function setEllipsoidMat(m, center, dirMajor, dirMinor, radiusScale) {
linear_algebra_1.Vec3.add(tmpVec, center, dirMajor);
linear_algebra_1.Mat4.targetTo(m, center, tmpVec, dirMinor);
linear_algebra_1.Mat4.setTranslation(m, center);
return linear_algebra_1.Mat4.scale(m, m, radiusScale);
}
function addEllipsoid(state, center, dirMajor, dirMinor, radiusScale, detail) {
mesh_builder_1.MeshBuilder.addPrimitive(state, setEllipsoidMat(tmpEllipsoidMat, center, dirMajor, dirMinor, radiusScale), (0, sphere_1.getSphere)(detail));
}
exports.addEllipsoid = addEllipsoid;
;