molstar
Version:
A comprehensive macromolecular library.
51 lines (50 loc) • 1.42 kB
TypeScript
/**
* Copyright (c) 2019-2026 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Paul Pillot <paul.pillot@tandemai.com>
*/
import { Mat4 } from './mat4.js';
import { Vec3 } from './vec3.js';
import { EVD } from '../matrix/evd.js';
export { MinimizeRmsd };
declare namespace MinimizeRmsd {
interface Result {
bTransform: Mat4;
rmsd: number;
nAlignedElements: number;
}
interface Positions {
x: ArrayLike<number>;
y: ArrayLike<number>;
z: ArrayLike<number>;
}
namespace Positions {
function empty(n: number): {
x: Float64Array<ArrayBuffer>;
y: Float64Array<ArrayBuffer>;
z: Float64Array<ArrayBuffer>;
};
}
interface Input {
a: Positions;
b: Positions;
centerA?: Vec3;
centerB?: Vec3;
length?: number;
}
function compute(data: Input, result?: MinimizeRmsd.Result, state?: RmsdTransformState): Result;
}
export declare class RmsdTransformState {
a: MinimizeRmsd.Positions;
b: MinimizeRmsd.Positions;
length: number;
centerA: Vec3;
centerB: Vec3;
evdCache: EVD.Cache;
translateB: Mat4;
rotateB: Mat4;
tempMatrix: Mat4;
result: MinimizeRmsd.Result;
constructor(data: MinimizeRmsd.Input, into: MinimizeRmsd.Result);
}