From ceeec2c13a96feab6661a7ed6ce5220785c08527 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Sat, 23 Jul 2022 13:36:15 -0700 Subject: [PATCH] enable immediateUpdate for iso level --- CHANGELOG.md | 1 + src/mol-model/volume/volume.ts | 6 +++--- src/mol-plugin-ui/custom/volume.tsx | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 463462db5..d07f65f2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Note that since we don't clearly distinguish between a public and private interf - Improve handling principal axes of points in a plane - Add 'material' annotation support for textures - More effort to avoid using ``flat`` qualifier in shaders: add ``dVaryingGroup`` +- Enable ``immediateUpdate`` for iso level in isosurface and volume streaming controls ## [v3.12.1] - 2022-07-20 diff --git a/src/mol-model/volume/volume.ts b/src/mol-model/volume/volume.ts index 8a322563a..1bf87a936 100644 --- a/src/mol-model/volume/volume.ts +++ b/src/mol-model/volume/volume.ts @@ -1,5 +1,5 @@ /** - * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info. + * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ @@ -126,12 +126,12 @@ export namespace Volume { 'absolute': PD.Converted( (v: Volume.IsoValue) => Volume.IsoValue.toAbsolute(v, Grid.One.stats).absoluteValue, (v: number) => Volume.IsoValue.absolute(v), - PD.Numeric(mean, { min, max, step: toPrecision(sigma / 100, 2) }) + PD.Numeric(mean, { min, max, step: toPrecision(sigma / 100, 2) }, { immediateUpdate: true }) ), 'relative': PD.Converted( (v: Volume.IsoValue) => Volume.IsoValue.toRelative(v, Grid.One.stats).relativeValue, (v: number) => Volume.IsoValue.relative(v), - PD.Numeric(Math.min(1, relMax), { min: relMin, max: relMax, step: toPrecision(Math.round(((max - min) / sigma)) / 100, 2) }) + PD.Numeric(Math.min(1, relMax), { min: relMin, max: relMax, step: toPrecision(Math.round(((max - min) / sigma)) / 100, 2) }, { immediateUpdate: true }) ) }, (v: Volume.IsoValue) => v.kind === 'absolute' ? 'absolute' : 'relative', diff --git a/src/mol-plugin-ui/custom/volume.tsx b/src/mol-plugin-ui/custom/volume.tsx index 91e44ea89..8a6d9b1b1 100644 --- a/src/mol-plugin-ui/custom/volume.tsx +++ b/src/mol-plugin-ui/custom/volume.tsx @@ -104,7 +104,7 @@ class Channel extends PluginUIComponent<{ colorStripe={channel.color} pivot={<div className='msp-volume-channel-inline-controls'> <Slider value={value} min={ctrlMin} max={ctrlMax} step={step} - onChange={v => props.changeIso(props.name, v, isRelative)} disabled={props.params.isDisabled} onEnter={props.params.events.onEnter} /> + onChange={v => props.changeIso(props.name, v, isRelative)} onChangeImmediate={v => props.changeIso(props.name, v, isRelative)} disabled={props.params.isDisabled} onEnter={props.params.events.onEnter} /> <IconButton svg={this.getVisible() ? VisibilityOutlinedSvg : VisibilityOffOutlinedSvg} onClick={this.toggleVisible} toggleState={false} disabled={props.params.isDisabled} /> </div>} controls={<ParameterControls onChange={({ name, value }) => props.changeParams(props.name, name, value)} params={ChannelParams} values={channel} onEnter={props.params.events.onEnter} isDisabled={props.params.isDisabled} />} -- GitLab