molstar
Version:
A comprehensive macromolecular library.
78 lines (77 loc) • 3.05 kB
TypeScript
/**
* Copyright (c) 2020-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { TextureImage } from '../../../mol-gl/renderable/util';
import { Sphere3D } from '../../../mol-math/geometry';
import { Vec2, Vec3, Quat, Mat4 } from '../../../mol-math/linear-algebra';
import { ValueCell } from '../../../mol-util';
import { ParamDefinition as PD } from '../../../mol-util/param-definition';
import { GeometryUtils } from '../geometry';
export declare const InterpolationTypes: {
nearest: string;
catmulrom: string;
mitchell: string;
bspline: string;
};
export type InterpolationTypes = keyof typeof InterpolationTypes;
export declare const InterpolationTypeNames: InterpolationTypes[];
export { Image };
interface Image {
readonly kind: 'image';
readonly imageTexture: ValueCell<TextureImage<Uint8Array>>;
readonly imageTextureDim: ValueCell<Vec2>;
readonly cornerBuffer: ValueCell<Float32Array>;
readonly groupTexture: ValueCell<TextureImage<Uint8Array>>;
readonly valueTexture: ValueCell<TextureImage<Float32Array>>;
readonly trimType: ValueCell<number>;
readonly trimCenter: ValueCell<Vec3>;
readonly trimRotation: ValueCell<Quat>;
readonly trimScale: ValueCell<Vec3>;
readonly trimTransform: ValueCell<Mat4>;
readonly isoLevel: ValueCell<number>;
/** Bounding sphere of the image */
boundingSphere: Sphere3D;
}
declare namespace Image {
type Trim = {
type: 0 | 1 | 2 | 3 | 4 | 5;
center: Vec3;
rotation: Quat;
scale: Vec3;
transform: Mat4;
};
function createEmptyTrim(): Trim;
function create(imageTexture: TextureImage<Uint8Array>, corners: Float32Array, groupTexture: TextureImage<Uint8Array>, valueTexture: TextureImage<Float32Array>, trim: Trim, isoLevel: number, image?: Image): Image;
function createEmpty(image?: Image): Image;
const Params: {
interpolation: PD.Select<"nearest" | "catmulrom" | "mitchell" | "bspline">;
alpha: PD.Numeric;
quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
material: PD.Group<PD.Normalize<{
metalness: number;
roughness: number;
bumpiness: number;
}>>;
clip: PD.Group<PD.Normalize<{
variant: import("../../../mol-util/clip").Clip.Variant;
objects: PD.Normalize<{
type: /*elided*/ any;
invert: /*elided*/ any;
position: /*elided*/ any;
rotation: /*elided*/ any;
scale: /*elided*/ any;
transform: /*elided*/ any;
}>[];
}>>;
emissive: PD.Numeric;
density: PD.Numeric;
instanceGranularity: PD.BooleanParam;
lod: PD.Vec3;
cellSize: PD.Numeric;
batchSize: PD.Numeric;
};
type Params = typeof Params;
const Utils: GeometryUtils<Image, Params>;
}