UNPKG

molstar

Version:

A comprehensive macromolecular library.

52 lines (51 loc) 2.74 kB
"use strict"; /** * Copyright (c) 2018-2022 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.computeGaussianDensityTexture3d = exports.computeGaussianDensityTexture2d = exports.computeGaussianDensityTexture = exports.computeGaussianDensity = exports.DefaultGaussianDensityProps = void 0; var tslib_1 = require("tslib"); var gpu_1 = require("./gaussian-density/gpu"); var task_1 = require("../../mol-task/task"); var cpu_1 = require("./gaussian-density/cpu"); exports.DefaultGaussianDensityProps = { resolution: 1, radiusOffset: 0, smoothness: 1.5, }; function computeGaussianDensity(position, box, radius, props) { var _this = this; return task_1.Task.create('Gaussian Density', function (ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, cpu_1.GaussianDensityCPU)(ctx, position, box, radius, props)]; case 1: return [2 /*return*/, _a.sent()]; } }); }); }); } exports.computeGaussianDensity = computeGaussianDensity; function computeGaussianDensityTexture(position, box, radius, props, webgl, texture) { return _computeGaussianDensityTexture(webgl.isWebGL2 ? '3d' : '2d', position, box, radius, props, webgl, texture); } exports.computeGaussianDensityTexture = computeGaussianDensityTexture; function computeGaussianDensityTexture2d(position, box, radius, props, webgl, texture) { return _computeGaussianDensityTexture('2d', position, box, radius, props, webgl, texture); } exports.computeGaussianDensityTexture2d = computeGaussianDensityTexture2d; function computeGaussianDensityTexture3d(position, box, radius, props, webgl, texture) { return _computeGaussianDensityTexture('2d', position, box, radius, props, webgl, texture); } exports.computeGaussianDensityTexture3d = computeGaussianDensityTexture3d; function _computeGaussianDensityTexture(type, position, box, radius, props, webgl, texture) { var _this = this; return task_1.Task.create('Gaussian Density', function (ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { return [2 /*return*/, type === '2d' ? (0, gpu_1.GaussianDensityTexture2d)(webgl, position, box, radius, false, props, texture) : (0, gpu_1.GaussianDensityTexture3d)(webgl, position, box, radius, props, texture)]; }); }); }); }