molstar
Version:
A comprehensive macromolecular library.
50 lines • 2.15 kB
JavaScript
/**
* Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
*/
Object.defineProperty(exports, "__esModule", { value: true });
var geometry_1 = require("../../geometry");
var util_1 = require("../../../mol-data/util");
var int_1 = require("../../../mol-data/int");
var boundary_1 = require("../boundary");
var xs = [0, 0, 1];
var ys = [0, 1, 0];
var zs = [0, 0, 0];
var rs = [0, 0.5, 1 / 3];
describe('GridLookup3d', function () {
it('basic', function () {
var position = { x: xs, y: ys, z: zs, indices: int_1.OrderedSet.ofBounds(0, 3) };
var boundary = (0, boundary_1.getBoundary)(position);
var grid = (0, geometry_1.GridLookup3D)(position, boundary);
var r = grid.find(0, 0, 0, 0);
expect(r.count).toBe(1);
expect(r.indices[0]).toBe(0);
r = grid.find(0, 0, 0, 1);
expect(r.count).toBe(3);
expect((0, util_1.sortArray)(r.indices)).toEqual([0, 1, 2]);
});
it('radius', function () {
var position = { x: xs, y: ys, z: zs, radius: [0, 0.5, 1 / 3], indices: int_1.OrderedSet.ofBounds(0, 3) };
var boundary = (0, boundary_1.getBoundary)(position);
var grid = (0, geometry_1.GridLookup3D)(position, boundary);
var r = grid.find(0, 0, 0, 0);
expect(r.count).toBe(1);
expect(r.indices[0]).toBe(0);
r = grid.find(0, 0, 0, 0.5);
expect(r.count).toBe(2);
expect((0, util_1.sortArray)(r.indices)).toEqual([0, 1]);
});
it('indexed', function () {
var position = { x: xs, y: ys, z: zs, indices: int_1.OrderedSet.ofSingleton(1), radius: rs };
var boundary = (0, boundary_1.getBoundary)(position);
var grid = (0, geometry_1.GridLookup3D)(position, boundary);
var r = grid.find(0, 0, 0, 0);
expect(r.count).toBe(0);
r = grid.find(0, 0, 0, 0.5);
expect(r.count).toBe(1);
expect((0, util_1.sortArray)(r.indices)).toEqual([0]);
});
});
//# sourceMappingURL=lookup3d.spec.js.map
;