UNPKG

molstar

Version:

A comprehensive macromolecular library.

35 lines 1.62 kB
"use strict"; /** * Copyright (c) 2018-2020 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.PointsBuilder = void 0; var util_1 = require("../../../mol-data/util"); var points_1 = require("./points"); // avoiding namespace lookup improved performance in Chrome (Aug 2020) var caAdd3 = util_1.ChunkedArray.add3; var caAdd = util_1.ChunkedArray.add; var PointsBuilder; (function (PointsBuilder) { function create(initialCount, chunkSize, points) { if (initialCount === void 0) { initialCount = 2048; } if (chunkSize === void 0) { chunkSize = 1024; } var centers = util_1.ChunkedArray.create(Float32Array, 3, chunkSize, points ? points.centerBuffer.ref.value : initialCount); var groups = util_1.ChunkedArray.create(Float32Array, 1, chunkSize, points ? points.groupBuffer.ref.value : initialCount); return { add: function (x, y, z, group) { caAdd3(centers, x, y, z); caAdd(groups, group); }, getPoints: function () { var cb = util_1.ChunkedArray.compact(centers, true); var gb = util_1.ChunkedArray.compact(groups, true); return points_1.Points.create(cb, gb, centers.elementCount, points); } }; } PointsBuilder.create = create; })(PointsBuilder = exports.PointsBuilder || (exports.PointsBuilder = {})); //# sourceMappingURL=points-builder.js.map