UNPKG

molstar

Version:

A comprehensive macromolecular library.

80 lines (79 loc) 3.37 kB
/** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { Texture } from '../../../mol-gl/webgl/texture'; import { Box3D, Sphere3D } from '../../../mol-math/geometry'; import { Mat4, Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra'; import { ValueCell } from '../../../mol-util'; import { ParamDefinition as PD } from '../../../mol-util/param-definition'; import { GeometryUtils } from '../geometry'; import { Grid } from '../../../mol-model/volume'; export interface DirectVolume { readonly kind: 'direct-volume'; readonly gridTexture: ValueCell<Texture>; readonly gridTextureDim: ValueCell<Vec3>; readonly gridDimension: ValueCell<Vec3>; readonly gridStats: ValueCell<Vec4>; readonly bboxSize: ValueCell<Vec3>; readonly bboxMin: ValueCell<Vec3>; readonly bboxMax: ValueCell<Vec3>; readonly transform: ValueCell<Mat4>; readonly cellDim: ValueCell<Vec3>; readonly unitToCartn: ValueCell<Mat4>; readonly cartnToUnit: ValueCell<Mat4>; readonly packedGroup: ValueCell<boolean>; /** Bounding sphere of the volume */ readonly boundingSphere: Sphere3D; setBoundingSphere(boundingSphere: Sphere3D): void; } export declare namespace DirectVolume { function create(bbox: Box3D, gridDimension: Vec3, transform: Mat4, unitToCartn: Mat4, cellDim: Vec3, texture: Texture, stats: Grid['stats'], packedGroup: boolean, directVolume?: DirectVolume): DirectVolume; function createEmpty(directVolume?: DirectVolume): DirectVolume; function createRenderModeParam(stats?: Grid['stats']): PD.Mapped<PD.NamedParams<PD.Normalize<{ controlPoints: Vec2[]; list: { kind: "set" | "interpolate"; colors: import("../../../mol-util/color/color").ColorListEntry[]; }; }>, "volume"> | PD.NamedParams<PD.Normalize<{ isoValue: Readonly<{ kind: "absolute"; absoluteValue: number; }> | Readonly<{ kind: "relative"; relativeValue: number; }>; singleLayer: boolean; }>, "isosurface">>; const Params: { doubleSided: PD.BooleanParam; flipSided: PD.BooleanParam; flatShaded: PD.BooleanParam; ignoreLight: PD.BooleanParam; xrayShaded: PD.BooleanParam; renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{ controlPoints: Vec2[]; list: { kind: "set" | "interpolate"; colors: import("../../../mol-util/color/color").ColorListEntry[]; }; }>, "volume"> | PD.NamedParams<PD.Normalize<{ isoValue: Readonly<{ kind: "absolute"; absoluteValue: number; }> | Readonly<{ kind: "relative"; relativeValue: number; }>; singleLayer: boolean; }>, "isosurface">>; stepsPerCell: PD.Numeric; jumpLength: PD.Numeric; alpha: PD.Numeric; quality: PD.Select<"custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest">; }; type Params = typeof Params; const Utils: GeometryUtils<DirectVolume, Params>; }