Skip to content
Snippets Groups Projects
Select Git revision
  • e1efe21897b39de3e7ec37e2b17917ab8ca03dd5
  • master default protected
  • rednatco-v2
  • base-pairs-ladder
  • rednatco
  • test
  • ntc-tube-uniform-color
  • ntc-tube-missing-atoms
  • restore-vertex-array-per-program
  • watlas2
  • dnatco_new
  • cleanup-old-nodejs
  • webmmb
  • fix_auth_seq_id
  • update_deps
  • ext_dev
  • ntc_balls
  • nci-2
  • plugin
  • bugfix-0.4.5
  • nci
  • v0.5.0-dev.1
  • v0.4.5
  • v0.4.4
  • v0.4.3
  • v0.4.2
  • v0.4.1
  • v0.4.0
  • v0.3.12
  • v0.3.11
  • v0.3.10
  • v0.3.9
  • v0.3.8
  • v0.3.7
  • v0.3.6
  • v0.3.5
  • v0.3.4
  • v0.3.3
  • v0.3.2
  • v0.3.1
  • v0.3.0
41 results

id-factory.ts

Blame
  • common.ts 1.04 KiB
    /*
     * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
     *
     * @author David Sehnal <david.sehnal@gmail.com>
     */
    
    import { Box3D } from '../primitives/box3d'
    import { Sphere3D } from '../primitives/sphere3d'
    
    export interface Result<T> {
        count: number,
        indices: T[],
        squaredDistances: number[]
    }
    
    export namespace Result {
        export function add<T>(result: Result<T>, index: T, distSq: number) {
            result.squaredDistances[result.count] = distSq;
            result.indices[result.count++] = index;
        }
    
        export function reset(result: Result<any>) {
            result.count = 0;
        }
    
        export function create<T>(): Result<T> {
            return { count: 0, indices: [], squaredDistances: [] };
        }
    }
    
    export interface Lookup3D<T = number> {
        // The result is mutated with each call to find.
        find(x: number, y: number, z: number, radius: number): Result<T>,
        check(x: number, y: number, z: number, radius: number): boolean,
        readonly boundary: { readonly box: Box3D, readonly sphere: Sphere3D }
    }