UNPKG

molstar

Version:

A comprehensive macromolecular library.

32 lines (31 loc) 1.35 kB
/** * Copyright (c) 2026 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { ParamDefinition as PD } from '../../mol-util/param-definition.js'; import { CustomPropertyDescriptor } from '../../mol-model/custom-property.js'; import { CustomVolumeProperty } from '../common/custom-volume-property.js'; import { Volume } from '../../mol-model/volume/volume.js'; import { calculateBasicStreamlines, BasicStreamlineCalculationParams } from './streamlines/basic.js'; export const StreamlinesParams = { type: PD.MappedStatic('basic', { 'basic': PD.Group(BasicStreamlineCalculationParams, { isFlat: true }), }) }; export const StreamlinesProvider = CustomVolumeProperty.createProvider({ label: 'Streamlines', descriptor: CustomPropertyDescriptor({ name: 'molstar_streamlines', // TODO `cifExport` and `symbol` }), defaultParams: StreamlinesParams, getParams: (data) => StreamlinesParams, isApplicable: (data) => !Volume.Segmentation.get(data), obtain: async (ctx, data, props) => { const p = { ...PD.getDefaultValues(StreamlinesParams), ...props }; switch (p.type.name) { case 'basic': return { value: await calculateBasicStreamlines(ctx, data, p.type.params) }; } } });