molstar
Version:
A comprehensive macromolecular library.
159 lines (158 loc) • 11.7 kB
TypeScript
/**
* Copyright (c) 2024-2025 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Adam Midlik <midlik@gmail.com>
*/
import { Mesh } from '../../../mol-geo/geometry/mesh/mesh';
import { Text } from '../../../mol-geo/geometry/text/text';
import { Box3D, Sphere3D } from '../../../mol-math/geometry';
import { Mat4 } from '../../../mol-math/linear-algebra';
import { Shape } from '../../../mol-model/shape';
import { Structure } from '../../../mol-model/structure';
import { PluginStateObject as SO } from '../../../mol-plugin-state/objects';
import { StateObject } from '../../../mol-state';
import { Asset } from '../../../mol-util/assets';
import { ParamDefinition as PD } from '../../../mol-util/param-definition';
import { MolstarNode, MolstarSubtree } from '../tree/molstar/molstar-tree';
type PrimitivesParams = MolstarNode<'primitives'>['params'];
export declare function getPrimitiveStructureRefs(primitives: MolstarSubtree<'primitives'>): Set<string>;
declare const MVSPrimitivesData_base: {
new (data: PrimitiveBuilderContext, props?: {
label: string;
description?: string;
} | undefined): {
id: import("../../../mol-util").UUID;
type: SO.TypeInfo;
label: string;
description?: string;
data: PrimitiveBuilderContext;
};
type: SO.TypeInfo;
is(obj?: StateObject): obj is StateObject<PrimitiveBuilderContext, SO.TypeInfo>;
};
export declare class MVSPrimitivesData extends MVSPrimitivesData_base {
}
declare const MVSPrimitiveShapes_base: {
new (data: {
mesh?: Shape<Mesh>;
labels?: Shape<Text>;
}, props?: {
label: string;
description?: string;
} | undefined): {
id: import("../../../mol-util").UUID;
type: SO.TypeInfo;
label: string;
description?: string;
data: {
mesh?: Shape<Mesh>;
labels?: Shape<Text>;
};
};
type: SO.TypeInfo;
is(obj?: StateObject): obj is StateObject<{
mesh?: Shape<Mesh>;
labels?: Shape<Text>;
}, SO.TypeInfo>;
};
export declare class MVSPrimitiveShapes extends MVSPrimitiveShapes_base {
}
export type MVSDownloadPrimitiveData = typeof MVSDownloadPrimitiveData;
export declare const MVSDownloadPrimitiveData: import("../../../mol-state").StateTransformer<SO.Root, MVSPrimitivesData, PD.Normalize<{
uri: string | Asset.Url;
format: "mvs-node-json";
}>>;
export type MVSInlinePrimitiveData = typeof MVSInlinePrimitiveData;
export declare const MVSInlinePrimitiveData: import("../../../mol-state").StateTransformer<SO.Root, MVSPrimitivesData, PD.Normalize<{
node: {
kind: "primitives";
params: {
color: "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}`;
label_color: "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen" | "cornflower" | "laserlemon" | "lightgoldenrod" | "maroon2" | "maroon3" | "purple2" | "purple3" | `#${string}`;
tooltip: string | null;
opacity: number;
label_opacity: number;
instances: number[][] | null;
} & {};
custom?: import("../tree/generic/tree-schema").CustomProps;
ref?: string;
} & {
children?: import("../tree/generic/tree-schema").Tree<import("../tree/generic/tree-schema").NodeFor<import("../tree/generic/tree-schema").TreeSchema<{
download: /*elided*/ any;
parse: /*elided*/ any;
trajectory: /*elided*/ any;
model: /*elided*/ any;
structure: /*elided*/ any;
root: /*elided*/ any;
transform: /*elided*/ any;
component: /*elided*/ any;
component_from_uri: /*elided*/ any;
component_from_source: /*elided*/ any;
representation: /*elided*/ any;
volume: /*elided*/ any;
volume_representation: /*elided*/ any;
color: /*elided*/ any;
color_from_uri: /*elided*/ any;
color_from_source: /*elided*/ any;
opacity: /*elided*/ any;
label: /*elided*/ any;
label_from_uri: /*elided*/ any;
label_from_source: /*elided*/ any;
tooltip: /*elided*/ any;
tooltip_from_uri: /*elided*/ any;
tooltip_from_source: /*elided*/ any;
focus: /*elided*/ any;
camera: /*elided*/ any;
canvas: /*elided*/ any;
primitives: /*elided*/ any;
primitives_from_uri: /*elided*/ any;
primitive: /*elided*/ any;
}, "root">, "color" | "opacity" | "transform" | "tooltip" | "canvas" | "label" | "download" | "focus" | "volume" | "representation" | "model" | "structure" | "root" | "trajectory" | "camera" | "component" | "parse" | "component_from_uri" | "component_from_source" | "volume_representation" | "color_from_uri" | "color_from_source" | "label_from_uri" | "label_from_source" | "tooltip_from_uri" | "tooltip_from_source" | "primitives" | "primitives_from_uri" | "primitive">, import("../tree/generic/tree-schema").NodeFor<import("../tree/generic/tree-schema").TreeSchema<{
download: /*elided*/ any;
parse: /*elided*/ any;
trajectory: /*elided*/ any;
model: /*elided*/ any;
structure: /*elided*/ any;
root: /*elided*/ any;
transform: /*elided*/ any;
component: /*elided*/ any;
component_from_uri: /*elided*/ any;
component_from_source: /*elided*/ any;
representation: /*elided*/ any;
volume: /*elided*/ any;
volume_representation: /*elided*/ any;
color: /*elided*/ any;
color_from_uri: /*elided*/ any;
color_from_source: /*elided*/ any;
opacity: /*elided*/ any;
label: /*elided*/ any;
label_from_uri: /*elided*/ any;
label_from_source: /*elided*/ any;
tooltip: /*elided*/ any;
tooltip_from_uri: /*elided*/ any;
tooltip_from_source: /*elided*/ any;
focus: /*elided*/ any;
camera: /*elided*/ any;
canvas: /*elided*/ any;
primitives: /*elided*/ any;
primitives_from_uri: /*elided*/ any;
primitive: /*elided*/ any;
}, "root">, "color" | "opacity" | "transform" | "tooltip" | "canvas" | "label" | "download" | "focus" | "volume" | "representation" | "model" | "structure" | "root" | "trajectory" | "camera" | "component" | "parse" | "component_from_uri" | "component_from_source" | "volume_representation" | "color_from_uri" | "color_from_source" | "label_from_uri" | "label_from_source" | "tooltip_from_uri" | "tooltip_from_source" | "primitives" | "primitives_from_uri" | "primitive">>[] | undefined;
};
}>>;
export type MVSBuildPrimitiveShape = typeof MVSBuildPrimitiveShape;
export declare const MVSBuildPrimitiveShape: import("../../../mol-state").StateTransformer<MVSPrimitivesData, SO.Shape.Provider, PD.Normalize<{
kind: "lines" | "mesh" | "labels";
}>>;
interface PrimitiveBuilderContext {
node: MolstarNode<'primitives'>;
defaultStructure?: Structure;
structureRefs: Record<string, Structure | undefined>;
primitives: MolstarNode<'primitive'>[];
options: PrimitivesParams;
positionCache: Map<string, [isDefined: boolean, Sphere3D, Box3D]>;
instances: Mat4[] | undefined;
emptySelectionWarningPrinted?: boolean;
}
export {};